随机数生成器测试与变更中心测试方法解析
1. 随机数生成器测试方法
在评估随机数生成器(RNG)时,即使通过了均值和方差测试,也不能完全确定生成的样本来自正确的分布。为了更准确地评估,有以下两种测试方法。
1.1 桶测试(Bucket Test)
- 原理 :将RNG的输出范围划分为多个“桶”(bucket),统计每个桶中样本的实际数量 $O_i$,并与预期数量 $E_i$ 进行比较,计算卡方统计量 $\chi^2$。若 $\chi^2$ 值过大,说明实际计数与预期计数差异过大,RNG可能不遵循正确的分布;若 $\chi^2$ 值过小,则表示预期计数与实际值过于吻合,缺乏足够的随机变化。
- 操作步骤
- 确定桶的数量 :每个桶的预期样本数应至少为5。可先确定桶的数量,再选择足够多的样本数 $n$,以确保每个桶的预期样本数超过5。
- 确定桶的位置 :可以任意决定桶的数量,如10个,并选取边界,使每个桶的预期样本数相等。例如,测试柯西随机数生成器时,可使用柯西分布函数来确定截断值。也可将特别关注的区域设为一个桶。
- 确定 $\chi^2$ 的预期范围 :若有 $b$ 个桶,$\chi^2$ 统计量服从自由度为 $b - 1$ 的卡方分布。当 $b$ 较大时,可近似为均值为 $b - 1$、方差为 $2b - 2$ 的正态分布,利用正态分布的规则判断 $\chi^2$ 是否在合理范围内
超级会员免费看
订阅专栏 解锁全文
1874

被折叠的 条评论
为什么被折叠?



