【问题标题】:Computing correlations and performing goodness of fit for prng testing计算相关性并执行 prng 测试的拟合优度
【发布时间】:2017-10-06 19:59:20
【问题描述】:
我正在跟随对伪随机数生成器测试的描述,并尝试在 C 中实现该测试。不过,有一件事我挂了。有问题的文字如下:
对连续块的汉明权重应用相关性检验
L 位。设Xj 为汉明权重(
对于j = 1, . . . , n,jth 块的位等于 1)。考试
计算连续Xj 之间的经验相关性,
在 H0 下,由于n ⇢ infinity,p̂ * sqrt(n - 1) 具有渐近标准正态分布。这是在测试中使用的。该检验仅对大 n 有效。
现在,我的计划是计算此检验统计量,并使用 Anderson-Darling 检验对正态分布执行拟合优度检验。但是,对于如何从这个单一的测试统计中获得分布,我有点困惑。据我了解,对于我的全套比特n,我只会得到一个p̂。那么我只会得到一个测试统计数据p̂ * sqrt(n - 1)。我应该如何将其与正态分布进行比较?想法是用自己的n 将我的数据集分成多个块,为每个块计算一个测试统计量,然后将此分布与标准正态进行比较?我只是想确保我正确理解p̂ 的计算。
【问题讨论】:
标签:
random
statistics
goodness-of-fit
【解决方案1】:
如果你想执行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) 中得到一个数字,然后运行分布测试。
论文:提防线性同余生成器
乘数为 a = +-2q +-2r
PIERRE L'ECUYER 和 RICHARD SIMARD,AACM,1999 年
如果你需要,我有一份
【解决方案2】:
Frequentist 假设检验涉及在假设原假设为真的情况下确定观察检验统计值的可能性。如果检验统计值很可能,则不拒绝原假设。如果检验统计值“不太可能”,则拒绝原假设。 “不太可能”的含义指定为测试的置信水平,α。
根据您的文字,在零假设下,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 随机数序列,并根据该序列计算了p̂ 值0.025。要确定该值在 α = 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 < α 以来,证据支持拒绝原假设。