假设您遵循以下顺序:
7,9,0,5,5,5,4,8,0,6,9,5,3,8,7,8,5,4,4,0,6,6,4,4,5,3, 3,7,5,9,8,1,8,6,2,8,4,6,4,9,9,9,0,5,2,2,2,0,4,5,2,8。 ..
您将应用哪些统计检验来确定这是否是真正随机的?仅供参考,这些是π的第个数字。因此,π的数字是否在统计上是随机的?这说明常数π了吗?
假设您遵循以下顺序:
7,9,0,5,5,5,4,8,0,6,9,5,3,8,7,8,5,4,4,0,6,6,4,4,5,3, 3,7,5,9,8,1,8,6,2,8,4,6,4,9,9,9,0,5,2,2,2,0,4,5,2,8。 ..
您将应用哪些统计检验来确定这是否是真正随机的?仅供参考,这些是π的第个数字。因此,π的数字是否在统计上是随机的?这说明常数π了吗?
Answers:
美国国家标准学会(National Institute of Standard)汇总了一组测试,必须通过(伪)随机数生成器才能通过测试,以确保足够,请参阅http://csrc.nist.gov/groups/ST/toolkit/rng/stats_tests。 html。还有一些称为Diehard测试套件的测试,与NIST测试有些重叠。Stata统计软件包的开发人员在认证过程中报告其Diehard结果。我想你可以取π的位数例如,连续15个数字的组)与双精度类型的精度相提并论,然后对由此获得的数字进行这些测试。
仅回答您的第一个问题:“您将应用哪些测试来确定此[顺序]是否真正随机?”
如何将其视为时间序列并检查自相关?这是一些R代码。首先是一些测试数据(前1000位):
digits_string="1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989"
digits=as.numeric(unlist(strsplit(digits_string,"")))
检查每个数字的计数:
> table(digits)
digits
0 1 2 3 4 5 6 7 8 9
93 116 103 102 93 97 94 95 101 106
然后将其转换为时间序列,并运行Box-Pierce测试:
d=as.ts( digits )
Box.test(d)
告诉我:
X-squared = 1.2449, df = 1, p-value = 0.2645
通常,您希望p值小于0.05,以表示存在自相关。
运行acf(d)
以查看自相关。我没有在此处包括一张图像,因为它是一个暗淡的图表,尽管很好奇最大的延迟在11和22。运行acf(d,lag.max=40)
以显示在lag = 33处没有峰值,这只是巧合!
PS:通过对真实随机数进行相同的测试,我们可以比较pi的那1000位数字的性能。
probs=sapply(1:100,function(n){
digits=floor(runif(1000)*10)
bt=Box.test(ts(digits))
bt$p.value
})
这将生成1000个随机数字,进行测试,并重复100次。
> summary(probs)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.006725 0.226800 0.469300 0.467100 0.709900 0.969900
> sd(probs)
[1] 0.2904346
因此,我们的结果令人满意地在第一个标准差之内,并且像随机鸭子一样发出pi嘎嘎声。(set.seed(1)
如果要复制这些确切的数字,我就用过。)
这是一个奇怪的问题。数字不是随机的。