计算相关性并执行适合prng测试
我正在跟随伪随机数生成器测试的描述,并尝试在C中实现测试。虽然有一件事我挂了,虽然。在问题的文本如下:计算相关性并执行适合prng测试
适用的相关性测试上连续块的位
L
的汉明权重。令Xj
为jth
块的汉明权重( 位的数目等于1),对于j = 1, . . . , n
。测试 计算连续Xj
“S之间的经验相关性,
在H0,如
n ⇢ infinity
,p̂ * sqrt(n - 1)
具有渐近标准正态分布。这是测试中使用的。该测试仅对大n有效。
现在,我的计划是计算这个检验统计量并使用Anderson-Darling检验对正态分布进行拟合检验。然而,我对你如何从这个单一的测试统计中获得分布感到困惑。根据我的理解,对于我的全套位n
,我只会得到一个p̂
。那么我会得到一个测试统计p̂ * sqrt(n - 1)
。我应该如何比较这与正态分布?这个想法是将我的数据集分成多个块,并分别用它们自己的n
计算每个块的测试统计量,然后将这个分布与标准正态分布进行比较?我只是想确保我正确理解p̂
的计算。
如果你想执行perform a goodness of fit test to the normal distribution
,这意味着你必须有许多采样高斯值。所以如果p̂ * sqrt(n - 1)
渐近地N(0,1),那么单次测试运行将产生单个数字。因此,如果您有基于软件的RNG进行测试,您将继续使用另一个n
样本,并获得另一个随机N(0,1)数字等。如果您已从某个硬件设备获得N
数字,则必须将其拆分在块中,运行测试,从每个块中,你会得到N(0,1)中的一个数字,然后运行分布测试。
纸:线性同余发生器谨防 与形式的乘数= + -2×Q +-2R PIERRE L'ECUYER和RICHARD锡马德,民航局,1999年
我有一个副本,如果你需要它
频率主义假设检验包括确定在零假设为真的假设下观察检验统计值的可能性。如果检验统计值极有可能,则不会拒绝零假设。如果测试统计值“不太可能”,则虚拟假设被拒绝。 '不太可能'的含义被指定为测试的置信度,α
。
根据您的文字,在零假设下,T = p̂ * sqrt(n - 1)
作为标准正态分布渐近分布,T ~ N(0, 1)
。所以,在两种假设下进行测试:
Null: T = 0
Alternate: T <> 0
然后用单观察p̂
值:
- 计算
t = p̂ * sqrt(n - 1)
。 - 计算
p = P(|T| > |t|)
,即找到值为|t|
的N(0,1)的尾部概率。 - 如果
p
小于您的置信水平,拒绝虚假设替代假设。
作为一个例子,假设你产生n=10001
随机数的序列,并且根据计算你的0.025
一个p̂
值序列。要确定价值的意义在α = 0.05
显着性水平:
- 计算
t = p̂ * sqrt(n - 1) = 0.025 * sqrt(10001 - 1) = 2.5
- 计算
p = P(|T| > |t|) =
P(|T| > 2.5) = 0.01242
- 由于
p < α
,证据支持拒绝零假设。