随机数的产生与检验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 / 12
重庆理工大学 <统计计算>论文
2.14 对以上方法总结
MO 是默认的使用得最多的产生伪随机数方法, 一般在标准 C 库中就 是使用这种方法,既然它可以被作为库函数使用,必有其独特之处。我们把 它作为基准系统来看待。 T1 方法可以明显看出周期相比 MO 缩短了很多,从随机序列行为上 明显有别与 MO。 T2 方法使用了另外一种实现方法,但其周期比较大。 D 方法是速度最慢的, 它使用两个产生伪随机数方法相结合的方法, 这两个产生伪随机数方法序列可由上面的产生伪随机数方法产生,集合了上 面几种产生伪随机数方法的特点。
3 / 12
; , 其中x1 , ⋯ , xn 为样本, 求出 T 在H0 成

重庆理工大学 <统计计算>论文
5 作统计推断,当 T∈W 时否定������0 ;当T ∉ W 时,������0 相容 ○

2.21 参数检验
均匀随机数的参数检验是检验由某个发生器产生的随机数序列 ri 的均值、 方差或者各阶矩等与均匀分布的理论值是否有显著差异。 设r1 , r2 , ⋯ , rn 是某个发生器长生的随机数, ������0 :样本 r1 , r2 , ⋯ , rn 的特征量与 均匀总体的特征量没有有显著差异。首先对特征量作统计检验。在 ri 是均匀总 体的简单随机样本的假设下,统计量 u1 = r−E r Var r 1 r2 − 3 4 45n = = 12n r − 1 2 (2.3)
(此表中数据按照公式 2.3 为手工计算)
通过表中看出上述四种方法全部通过了检验,通过比较 u 1 或者 P 值可以给 这四种方法按其优点从大到小排序:MO>T1>D>T2。 其中 MO 是我们通常所使用的标准库函数 rand,他是对线性乘同余法中取到 了合适的 a 和 M,就可达到很好的效果。另外对于组合发生器,他的有点在于大
1 / 12
重庆理工大学 <统计计算>论文
二、产生随机数的几种常用方法
2.11 线性同余法(LCG)
xn = axn −1 + c mod ������ rn = xn ������ 初值 x0 线性同余法通过满足公式(2.1)产生随机序列,主要参数为 a, c, M。只有 选择合适的参数才能得到随机数的周期接近或达到 M。我们把 a=137,M=256,c=187 用公式(2.1)产生的伪随机数产生方法称为方法 T1(见附录 1) ( 周 期 为 256 ) 。 类似 的 , 我 们把 a=1103515245/65536,M=32768(Linux 下 M=2147483647),c=12345/65536 用公式 (2.1)产生的伪随机数称为方法 MO(见附 录 2) ,它就是我们通常所使用的标准库函数 rand。
(此表中数据计算方法见附录 6)
在上表中只是简单通过 j 阶的相关系数检验来说明这四种方法的独立性好 坏。当然此方法有些简单,但它直观的说 明了这四种方法产生的随机数都有很 好的独立性。
6 / 12
重庆理工大学 <统计计算>论文
三、结束语
通过对上面常用的四种方法的分析和检验,特别是三种检验中,不同的方法 产生的随机数对于随机性、均匀性、独立性等等的统计性质有一定的差别,这种 方法或许它的随机性很好, 但是均匀性或者独立性却不太好;或许某种方法它的 独立性很好,但是随机性却不算好。所以呢,我们在使用这些方法产生随机数的 时候, 我们可以更具某个具体问题它针对的是那个方面,对于某一方面比如随机 性要求很高的话, 我们就选取产生随机数随机性强的来产生,而其他的方面我们 可以选取不同的方法来产生数据。 另外一方面,对于同一种方法选取的初值,模长,增量,倍数以及产生随机 数的数目,这五个方面在选取适当的情况下,统计性质会得到很好的体现,我们 在 T1 和 MO 这两种方法的比较中很明显的看出来。所以呢,我们在应用这些方 法产生随机数的时候也要注意上述五个方面的影响, 在随机模拟的时候要充分发 挥数学方法产生随机数的可重复性,选取不同的合适的初值,模长等使得我们的 随机模拟的精度精益求精。
在均匀性检验中 n=1000, 对于 T1 我们已经知道了其周期为 256, 故采用 n=256 来计算 T1 的统计量,不可思议的很小(n=100,V=8.1) 。通过 Matlab 计 算的结果 V,可以比较 V 的大小来看出四种方法的优劣,其中 V 越小说明均匀性
5 / 12
重庆理工大学 <统计计算>论文
i −1 m
,m
i
i = 1,2, ⋯ , m 表示第 i
个小区间, 设{ri } j = 1,2, ⋯ , m 落入第 i 个小区间的数目为ni i = 1,2, ⋯ , m 。 根据均匀性假设,ri 落入每个小区间的概率为m ,第 i 个小区的理论频率为 ui = m i = 1,2, ⋯ , m ,统计量
越好。上述四种方法全部通过了检验,通过比较,T1,即线性同余的方法产生的 均匀性比较好,这也是取特殊的 a,c,M 使得产生的随机数比较好。
2.23 独立性检验
两个随机变量的相关系数反映他们之间线性相关程度, 若两个随机变量独立, 则他们的相关系数比为零(反之不一定) ,故可以利用相关系数来检验随机数的 独立性。 设r1 , r2 , ⋯ , rn 是一组待检验的随机数,假设������0 :相关系数 ρ = 0。考虑样本 的 j 阶自相关系数 1 n−j
u2 =
1 1 45n r 2 − 2 3
(2.4)
u3 =
1 s 2 − 12 1 180n
= 180n s2 −
1 12
2.5
渐进服从 N(0,1) 。 对于在上一节中提到的四种方法,我们用 Matlab 输出每种方法的随机数并 做出相关的检验如下表(以 U1 为例) : 表1 方法 T1 MO T2 D u1 -0.3221 0.0921 0.3479 -0.9249 显著性水平α 0.05 0.05 0.05 0.05 拒绝域 W u1 > 1.96 u1 > 1.96 u1 > 1.96 u1 > 1.96 P值 0.2758 0.9282 0.7338 0.3576 说明 接受������0 接受������0 接受������0 接受������0
利用两个随机数产生器相结合扩大周期的方法。算法如下: 已知两个 LCG。 1) 用第一个 LCG 产生 k 个随机数, 一般取 k=128.这 k 个数被顺序地放在矢 量T = t1 , t 2 , ⋯ , t k 中。置 n = 1。 2) 用第二个 LCG 产生一个随机整数 j,要求1 ≤ j ≤ k; 3) 令xn = t j ,然后在用第一个 LCG 产生一个随机数 y,t j = y; 置 n = n + 1. 4) 重复第二和第三步, 得到随即数列 xn ,即为组合同余发生器产生的数列。 若第一个 LCG 的模为 M,令rn = xn M ,则 rn 为均匀随机数列。 这里我们把上述产生伪随机数的方法称为方法 D(见附录四) 。Gebhardt 1976 年 证明了这种组合发生器具有随机性强 ,周期增大的性质,当两个混合式发生器的 周期都为2p 时,组合同余发生器的周期达到了2p 2p − 1 。
n = 1,2, ⋯
(2.1)
2.12 素数模乘同余法
Xn = aXn −1 mod ������ n = 1,2, ⋯ (2.2) 素数模乘同余法通过满足公式(2.2)来产生随机序列。 我们把 a=23,M=108+1, 满足公式(2.2)的伪随机数产生方法称为方法 T2。 (见附录 3)
2.13 线性同余组合发生器(扩大周期法)
4 / 12
重庆理工大学 <统计计算>论文
大增大了伪随机数的周期。
2.22 均匀性检验
随机数的均匀性检验又称为频率检验, 它用来检验由某个发生器产生的随机 数序列 ri 是否均匀地分布在[0,1]区间上。 也就是是检验经验频率与理论频率的 差异是否显著。 设r1 , r2 , ⋯ , rn 是某个发生器长生的随机数,假设������0 :r1 , r2 , ⋯ , rn 为均匀总体 的简单样本。将[0,1)区间分为 m 个小区间,以
V ≥ χ2 α V ≥ χ2 α V ≥ χ2 α V ≥ χ2 α
2)
临界值 16.919 16.919 16.919 16.919
说明 接受������0 接受������0 接受������0 接受������0
(m − 1) (m − 1) (m − 1) (m − 1)
2)
2)
2)
(此表中数据计算方法见附录 5)
2.2 常用的百度文库计性质检验
上面我们介绍了一些常用产生伪随机数的方法, 并在宏观上明显地指出它们 是有差异的,那么在微观上如何描述一个随机序列的性质呢?Knuth 在其经典著 作中, 详细描述了 14 种统计检验、 12 种经验检验以及多种理论检验及谱检验等, 并且推断, 产生伪随机数生成器的好坏取决于特定的应用。本节将简单介绍几种 那些最常用的统计检验。 统计检验的一般方法: 首先假设总体具有某种统计特性,然后由样本值检验这个假设是否可信,这 种方法成为假设检验,或成为统计检验,具体的步骤如下: 1 提出假设������0 :总体分布为 N 0,1 ○ 2 选取适当的统计量T = T x1 , ⋯ , xn ○ 立时的分布; 3 给定显著性水平α, 确定检验法, 即给出否定域W:W 使 P T x1 , ⋯ , xn ○ W=1−α ; 4 由观测样本值来计算 T 值; ○
重庆理工大学 <统计计算>论文
随机数的产生与检验
摘要
本文通过对常用的随机数的产生方法简单的分析和理论上的验证,对比研究 随机数的产生机理以及产生的随机数的好坏,并以此为依据提出自己的一些改进 方法,以便对随机模拟更好的利用。
关键词
随机数、随机数的产生 随机数的检验
一、引言
随机数的产生方法的研究已经有较长的历史.至今仍有统计学者继续研究随 机数的产生的方法和理论.随机数的产生,最早的方法称为手工方法.即采用抽签、 掷骰子、抽牌、摇号或者从搅乱的罐子中取带数字的球等方法,许多彩票的发行 仍采用这种方法。 随着计算机和模拟方法的应用,计算机来产生随机数成为新的课题。利用计 算机产生随机数有两种方法, 在计算机内输入随机数表和把具有随机性质的物理 过程变换为随机数,如粒子的辐射性,裂变等等。后者得到的随机数均匀性和随 机性都很好,而且取之不尽的,但是缺点也明显,对计算的结果不能重复检验, 这种物理随机数的产生需要大量的人力物力去检查和维修,成本过高。而数学方 法产生的随机数得到了广泛的应用,虽然产生的随机数为伪随机的,正是因为它 的占用内存少、速度快、可重复性的优点。 随机数的应用范围很广,对于随机数的均匀性,随机性,独立性的检验也是 不可缺少的, 只有通过了检验的随机数才有更大的利用空间。本文通过对几种常 见的随机数的产生方法进行比较分析,总结其优缺点,并提出一些改进方法。
m n 1
V=
i=1
ni − μ i μi
2
m = n
m
i=1
n ni − m
2
(2.6)
渐进服从分布χ2 m − 1 。给定显著性水平α,差χ2 分布表得到临界值后,即 可对经验频率与理论频率的差异性做出显著性检验。 表2 方法 T1 MO T2 D V 0.18 10.48 6.24 10.36 显著性水 平α 0.05 0.05 0.05 0.05 拒绝域 W
n −j i=1
ρ j =
ri − r ri+j − r ri − r
2
1 n
n i=1
j = 1,2, ⋯ , m
(2.7)
当 n-j 充分大,且 ρ = 0 成立时, uj = ρ j
n − j 渐进服从 N ( 0 , 1 )分布
j = 1,2, ⋯ , m ;在实际检验中常取 m = 10~20 。利用统计量 uj 可以进行相关 性检验。 表3 方法 T1 MO T2 D uj —— —— —— —— 显著性水 平α 0.05 0.05 0.05 0.05 拒绝域 W uj > 1.96 uj > 1.96 uj > 1.96 uj > 1.96 j 取 15,拒 绝的个数 0 0 0 0 说明 通过检验 通过检验 通过检验 通过检验
相关文档
最新文档