随机性检验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随机性检验
【化 12 2011011804 马路遥】 【化 11 2011011792 李瑾】
摘要:本文位进行
比较,并对该结果进行分析和总结。 关键词:随机性游程检验 一. 问题的提出 1996 年《国际统计评论》 ( 《International Statistical Review》 )杂志发表了一篇关于
1
P-value=erfc {
②第二组 :
|88−2x200x0.42(1−0.42)| 2 2x2000.42(1−0.42)
}=0.1707>0.01
0 为 91,1 为 109 ,游程数为 101 φ =0.46 ,
| φ - 2|< ������, 满足频数检验;
1
P-value=erfc {
在决策水平为 1% 的情况下, π 与 3小数部分序列均可视为随机序列
( 1 ) 中 P-value 的平均值为 0.3391 ( 2 ) 中 P-value 的平均值为 0.5489 ,明显高于 (1) 中的 P-value 值,
则可推知 3小数序列的随机性大于 π
0 为 93,1 为 107 ,游程数为 104 φ =0.47 ,
| φ - |< ������, 满足频数检验;
1 2
P-value=erfc {
|104−2x200x0.47(1−0.47)| 2 2x2000.47(1−0.47)
}=0.5360>0.01
(一点补充:从上述抽样可以看出“ 1 ”的数量始终多于“ 0 ”,这是由于在编程 模拟的时候把序列中的中位数归到了“ 1 ”,但不影响最终对随机性的判断和二 者随机性的对比) (3)π 与 ������小数部分序列的随机性比较 由(1) 、 (2)抽样计算结果可知:
令序列中“ 1 ”或“ 0 ”的个数为 ε ,序列数字总个数为 n 令 φ = , ������ =
n
1
ε
2 n
若 | φ - 2| ≥ ������, 频数检验不成立,则该序列不为随机序列,游程检验无须进行; 若 | φ - 2|< ������, 频数检验不成立,接下来进行游程检验。
(2)游程检验
P-value=erfc {
|ζ −2nφ (1−φ )| 2 2n φ (1−φ )
}其中,
在决策水平为 1% 的情况下, 若 P-value ≥ 0.01 ,则判定该序列为随机的,否则判定该序列非随机 . 且 P-value 的 值越大说明其随机性越强。
Ps: 每个待检验序列至少应包含 100 字节,即 n 不小于 100 。 三.π 与 ������小数部分的随机性检验
}=0.6544>0.01
0 为 89,1 为 111 ,游程数为 103 φ =0.45 ,
| φ - 2|< ������, 满足频数检验;
1
P-value=erfc {
⑤第五组 :
|103−2x200x0.45(1−0.45)| 2 2x2000.45(1−0.45)
}=0.5678>0.01
1
令 ζ 为 “ 0 ” 和“ 1 ”子块 的总数(即总的游程数),则在一个序列中 较大的 ζ 值 就意味着在序列中的 0 ”和“ 1 ”子块的 转变频率太快;而一个较小的 ζ 则意味着 转变频率太慢。也就是说,若该序列为随机数列,定性地说 ζ 必须满足“既不能 过大也不能过小”,具体的定量判断规则如下:
0 的个数为 85,1 的个数为 115 ,游程数为 98 φ =0.43 ,
| φ - 2|< ������, 满足频数检验;
1
P-value=erfc {
④第四组 :
98−2x200x0.43(1−0.43)| 2 2x2000.43(1−0.43)
}=0.9995>0.01
0 的个数为 100,1 的个数为 100 ,游程数为 93 φ =0.5 ,
1
P-value=erfc {
(2) ������的随机性检验
|107−2x200x0.44(1−0.44)| 2 2x2000.44(1−0.44)
}=0.2259>0.01
①第一组 :
0 为 83,1 为 107 ,游程数为 88 , φ =0.42 ,
| φ - 2|< ������, 满足频数检验;
根据附录给出数据仅检验 π 与 3的前 1000 位数值, 随机抽取连续的 200 个数 字为一组(即 n=200 ),分别分成 10 组分别进行检验。根据上述游程检验思想, 应先将每组中的 200 个数字从小到大排列找出其中位数,再令原序列中大于等于 中位数的数字为上述检验过程中的“ 1 ”,小于中位数的为“ 0 ”之后排列成新数 列,依次进行上述频数检验过程与游程检验过程,判断其随机性。 (此过程中“找中位数”、“重排数列”、“统计游程数”全由计算机程序模拟 运算,具体程序见附件)
}=0.08565>0.01
0 的个数为 96,1 的个数为 104 ,游程数为 113 φ =0.48 ,
| φ - 2|< ������, 满足频数检验
1
P-value=erfc {
③第三组 :
|113−2x200x0.48(1−0.48)| 2 2x2000.48(1−0.48)
}=0.06231>0.01
③第三组 :
|101−2x200x0.46(1−0.46)| 2 2x2000.46(1−0.46)
}=0.8154>0.01
0 为 95,1 为 105 ,游程数为 103 φ =0.48 ,
| φ - 2|< ������, 满足频数检验;
1
P-value=erfc {
④第四组 :
|103−2x200x0.48(1−0.48)| 2 2x2000.48(1−0.48)
π 的有趣文章[1],其中讨论了π 的小数点后的位数是否构成一个随机序列的问题。 理论是讲,真正的随机序列是不能用比自身形式更简单的规则表达的序列,即是不可预 测的。在这个意义下,不构成一个随机序列。因为人们已经发现很多公式,例如印度天 才数学家拉马努扬的神秘公式, 可以有效地将π 计算到 n 位, 这里 n 是任意给定的正整数。 请用概率统计方法验证π 的小数位的随机性,并与无理数 3的小数位进行比较。看起来更 “复杂”的无理数π 是否比感觉比较“简单”的 3更“随机”一些? 二.解决方案 1.游程检验简介 游程检验亦称“连贯检验”,是根据样本标志表现排列所形成的游程的多少进行 判断的检验方法。 游程指的是一个没有间断的相同数序列, 即游程或者是 “ 1111 „” 或者是 “ 0000 „” 。 一个长度为 k 的游程包含 k 个相同的数。游程检测的目的是判定不同长度的“ 1 ”游 程的数目以及“ 0 ”游程的数目是否跟理想的随机序列的期望值相一致。具体的讲, 就是该检验手段判定在这样的“ 0 ” 和“ 1 ”子块之间的振荡是否太快或太慢。 2.游程检验过程 (1)前提:频数检验 即在判断“ 0 ” 和“ 1 ”子块之间的振荡之前应先从直观上观察 0 和 1 的个数在总序 列中所占比例,即若 0 和 1 比例差得过多,显然不为随机序列,则无需进行下一步的 游程检验即可给出判断。 例如: 序列: 1111111111100 明显可看出 1 的比例远超 0 的比例,即 “频数检验”显然不成立,那么就没有必要 进行下一步的游程检验,直接可得出该序列不为随机序列的结论。 这里给出判断“频数检验”的定性规则:
| φ - 2|< ������, 满足频数检验;
1
P-value=erfc {
⑤第五组 :
|93−2x200x0.50(1−0.50)| 2 2x2000.50(1−0.50)
}=0.3222>0.01
0 的个数为 88,1 的个数为 112 ,游程数为 107 φ =0.44 ,
| φ - 2|< ������, 满足频数检验;
(1)π 的随机性检验
①第一组 :
0 的个数为 82,1 的个数为 118 ,游程数为 85, φ =0.41 ,
| φ - 2|< ������ , 满足频数检验;
1
P-value=erfc {
判定为随机序列 ②第二组 :
|85−2x200x0.41(1−0.41)| 2 2x2000.41(1−0.41)
【化 12 2011011804 马路遥】 【化 11 2011011792 李瑾】
摘要:本文位进行
比较,并对该结果进行分析和总结。 关键词:随机性游程检验 一. 问题的提出 1996 年《国际统计评论》 ( 《International Statistical Review》 )杂志发表了一篇关于
1
P-value=erfc {
②第二组 :
|88−2x200x0.42(1−0.42)| 2 2x2000.42(1−0.42)
}=0.1707>0.01
0 为 91,1 为 109 ,游程数为 101 φ =0.46 ,
| φ - 2|< ������, 满足频数检验;
1
P-value=erfc {
在决策水平为 1% 的情况下, π 与 3小数部分序列均可视为随机序列
( 1 ) 中 P-value 的平均值为 0.3391 ( 2 ) 中 P-value 的平均值为 0.5489 ,明显高于 (1) 中的 P-value 值,
则可推知 3小数序列的随机性大于 π
0 为 93,1 为 107 ,游程数为 104 φ =0.47 ,
| φ - |< ������, 满足频数检验;
1 2
P-value=erfc {
|104−2x200x0.47(1−0.47)| 2 2x2000.47(1−0.47)
}=0.5360>0.01
(一点补充:从上述抽样可以看出“ 1 ”的数量始终多于“ 0 ”,这是由于在编程 模拟的时候把序列中的中位数归到了“ 1 ”,但不影响最终对随机性的判断和二 者随机性的对比) (3)π 与 ������小数部分序列的随机性比较 由(1) 、 (2)抽样计算结果可知:
令序列中“ 1 ”或“ 0 ”的个数为 ε ,序列数字总个数为 n 令 φ = , ������ =
n
1
ε
2 n
若 | φ - 2| ≥ ������, 频数检验不成立,则该序列不为随机序列,游程检验无须进行; 若 | φ - 2|< ������, 频数检验不成立,接下来进行游程检验。
(2)游程检验
P-value=erfc {
|ζ −2nφ (1−φ )| 2 2n φ (1−φ )
}其中,
在决策水平为 1% 的情况下, 若 P-value ≥ 0.01 ,则判定该序列为随机的,否则判定该序列非随机 . 且 P-value 的 值越大说明其随机性越强。
Ps: 每个待检验序列至少应包含 100 字节,即 n 不小于 100 。 三.π 与 ������小数部分的随机性检验
}=0.6544>0.01
0 为 89,1 为 111 ,游程数为 103 φ =0.45 ,
| φ - 2|< ������, 满足频数检验;
1
P-value=erfc {
⑤第五组 :
|103−2x200x0.45(1−0.45)| 2 2x2000.45(1−0.45)
}=0.5678>0.01
1
令 ζ 为 “ 0 ” 和“ 1 ”子块 的总数(即总的游程数),则在一个序列中 较大的 ζ 值 就意味着在序列中的 0 ”和“ 1 ”子块的 转变频率太快;而一个较小的 ζ 则意味着 转变频率太慢。也就是说,若该序列为随机数列,定性地说 ζ 必须满足“既不能 过大也不能过小”,具体的定量判断规则如下:
0 的个数为 85,1 的个数为 115 ,游程数为 98 φ =0.43 ,
| φ - 2|< ������, 满足频数检验;
1
P-value=erfc {
④第四组 :
98−2x200x0.43(1−0.43)| 2 2x2000.43(1−0.43)
}=0.9995>0.01
0 的个数为 100,1 的个数为 100 ,游程数为 93 φ =0.5 ,
1
P-value=erfc {
(2) ������的随机性检验
|107−2x200x0.44(1−0.44)| 2 2x2000.44(1−0.44)
}=0.2259>0.01
①第一组 :
0 为 83,1 为 107 ,游程数为 88 , φ =0.42 ,
| φ - 2|< ������, 满足频数检验;
根据附录给出数据仅检验 π 与 3的前 1000 位数值, 随机抽取连续的 200 个数 字为一组(即 n=200 ),分别分成 10 组分别进行检验。根据上述游程检验思想, 应先将每组中的 200 个数字从小到大排列找出其中位数,再令原序列中大于等于 中位数的数字为上述检验过程中的“ 1 ”,小于中位数的为“ 0 ”之后排列成新数 列,依次进行上述频数检验过程与游程检验过程,判断其随机性。 (此过程中“找中位数”、“重排数列”、“统计游程数”全由计算机程序模拟 运算,具体程序见附件)
}=0.08565>0.01
0 的个数为 96,1 的个数为 104 ,游程数为 113 φ =0.48 ,
| φ - 2|< ������, 满足频数检验
1
P-value=erfc {
③第三组 :
|113−2x200x0.48(1−0.48)| 2 2x2000.48(1−0.48)
}=0.06231>0.01
③第三组 :
|101−2x200x0.46(1−0.46)| 2 2x2000.46(1−0.46)
}=0.8154>0.01
0 为 95,1 为 105 ,游程数为 103 φ =0.48 ,
| φ - 2|< ������, 满足频数检验;
1
P-value=erfc {
④第四组 :
|103−2x200x0.48(1−0.48)| 2 2x2000.48(1−0.48)
π 的有趣文章[1],其中讨论了π 的小数点后的位数是否构成一个随机序列的问题。 理论是讲,真正的随机序列是不能用比自身形式更简单的规则表达的序列,即是不可预 测的。在这个意义下,不构成一个随机序列。因为人们已经发现很多公式,例如印度天 才数学家拉马努扬的神秘公式, 可以有效地将π 计算到 n 位, 这里 n 是任意给定的正整数。 请用概率统计方法验证π 的小数位的随机性,并与无理数 3的小数位进行比较。看起来更 “复杂”的无理数π 是否比感觉比较“简单”的 3更“随机”一些? 二.解决方案 1.游程检验简介 游程检验亦称“连贯检验”,是根据样本标志表现排列所形成的游程的多少进行 判断的检验方法。 游程指的是一个没有间断的相同数序列, 即游程或者是 “ 1111 „” 或者是 “ 0000 „” 。 一个长度为 k 的游程包含 k 个相同的数。游程检测的目的是判定不同长度的“ 1 ”游 程的数目以及“ 0 ”游程的数目是否跟理想的随机序列的期望值相一致。具体的讲, 就是该检验手段判定在这样的“ 0 ” 和“ 1 ”子块之间的振荡是否太快或太慢。 2.游程检验过程 (1)前提:频数检验 即在判断“ 0 ” 和“ 1 ”子块之间的振荡之前应先从直观上观察 0 和 1 的个数在总序 列中所占比例,即若 0 和 1 比例差得过多,显然不为随机序列,则无需进行下一步的 游程检验即可给出判断。 例如: 序列: 1111111111100 明显可看出 1 的比例远超 0 的比例,即 “频数检验”显然不成立,那么就没有必要 进行下一步的游程检验,直接可得出该序列不为随机序列的结论。 这里给出判断“频数检验”的定性规则:
| φ - 2|< ������, 满足频数检验;
1
P-value=erfc {
⑤第五组 :
|93−2x200x0.50(1−0.50)| 2 2x2000.50(1−0.50)
}=0.3222>0.01
0 的个数为 88,1 的个数为 112 ,游程数为 107 φ =0.44 ,
| φ - 2|< ������, 满足频数检验;
(1)π 的随机性检验
①第一组 :
0 的个数为 82,1 的个数为 118 ,游程数为 85, φ =0.41 ,
| φ - 2|< ������ , 满足频数检验;
1
P-value=erfc {
判定为随机序列 ②第二组 :
|85−2x200x0.41(1−0.41)| 2 2x2000.41(1−0.41)