随机数的产生与检验

合集下载

随机数的产生和检验

随机数的产生和检验

随机数的产生和检验随机数的产生与检验摘要本文通过对常用的随机数的产生方法简单的分析和理论上的验证,对比研究随机数的产生机理以及产生的随机数的好坏,并以此为依据提出自己的一些改进方法,以便对随机模拟更好的利用。

关键词随机数、随机数的产生随机数的检验一、引言随机数的产生方法的研究已经有较长的历史.至今仍有统计学者继续研究随机数的产生的方法和理论.随机数的产生,最早的方法称为手工方法.即采用抽签、掷骰子、抽牌、摇号或者从搅乱的罐子中取带数字的球等方法,许多彩票的发行仍采用这种方法。

随着计算机和模拟方法的应用,计算机来产生随机数成为新的课题。

利用计算机产生随机数有两种方法,在计算机内输入随机数表和把具有随机性质的物理过程变换为随机数,如粒子的辐射性,裂变等等。

后者得到的随机数均匀性和随机性都很好,而且取之不尽的,但是缺点也明显,对计算的结果不能重复检验,这种物理随机数的产生需要大量的人力物力去检查和维修,成本过高。

而数学方法产生的随机数得到了广泛的应用,虽然产生的随机数为伪随机的,正是因为它的占用内存少、速度快、可重复性的优点。

<统计计算>论文随机数的应用范围很广,对于随机数的均匀性,随机性,独立性的检验也是不可缺少的,只有通过了检验的随机数才有更大的利用空间。

本文通过对几种常见的随机数的产生方法进行比较分析,总结其优缺点,并提出一些改进方法。

二、产生随机数的几种常用方法2.11线性同余法(LCG)初值线性同余法通过满足公式(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。

第04讲 随机数的产生与检验

第04讲 随机数的产生与检验

3.
4.
几何分布与负二项分布
泊松分布(指数分布)
泊松分布非常适合描述许多随机过程,且在数学上非常简单 随机变量X所有可能取的值为0,1,2,…,而取各个值的 概率为:
IE 11
1.2 DES中常见的随机分布
Simulation
则称X服从参数为λ的泊松(Poisson)分布,记为X~π(λ)
IE
12
Simulation
① 所产生的数必须服从均匀分布。至于拟合的优良程度,建议采用大样 本量的χ2检验。样本容量N可以取1000至10000之间的数。 ② 所产生的数必须是统计独立的。随机数序列中一个数的值不能影响下 一个数的值。如果随机数序列缺少独立性就可能被拒绝,但随机数序列 被接受并不能证明它的独立性。 ③ 所产生的随机数序列必须是可以重现的,这样就允许仿真试验重复进 行。 ④ 所产生的随机数序列在任何需要的长度内必须是不重复的。这在理论 上可能是做不到,但从实践目的角度讲,在很多数目之后才出现重复性 循环。这项要求已经能充分保证。随机数发生器的重复性循环出现的长 度称为它的周期。 ⑤ 随机数产生的速度必须快,因为在仿真运行中通常需要处理大量的随 机数,如果随机数发生器速度慢,就必然大大增加仿真运行的时间和费 用。 ⑥ 用于产生随机数的方法应当占用尽可能小的存储空间,仿真模型通常 需要大量的存储空间,而存储空间总是有限的,如此宝贵的资源在产生 随机数的过程中占用得越少越好。
IE 14
1.2.3 可靠性与维修性
Simulation
在系统可靠性与维修性建模中,优先考虑的随机变量是系 统中部件的无故障工作时间和故障后的修复时间。 通常部件发生故障的时间分布和修复时间的分布用指数分 布来描述,也可以用T分布和威布尔分布。

随机数的生成方法

随机数的生成方法

选 法
1)坐标变换法
反 函 数 法
设r1,r2 是RND随机数,令
坐中 标心 变极 换限 法定


x1 x2

(2 ln (2 ln
r1 )1 / r1 )1 /
2 2
cos(2r2 sin(2r2
) )
则 x1, x2是相互独立的标准正态分布的随机数.
2)利用中心极限定理
例3 :选λ=97,C=3,M=1000,得递推公式
xn1 97xn 3(mod1000) rn xn 1000
取定种子x0=71,得 97x0+3=6890, x1=890, r1=0.890 97x1+3=86333, x2=333, r2=0.333
97x2+3=32304, x3=304, r3=0.304
最常用、最基础的随 机数是在(0,1)区间 内均匀分布的随机数 (简记为RND)
理解为:随机 变量X~U(0,1) 的一组样本值
的模拟值
一般采用某种数值计算方法产生随机数序列, 在计算机上运算来得到.
通常是利用递推公式:
n f (n1,n2 , ,nk )
给定k个初始值ξ1,ξ2,…,ξk , 利用递推公式递推出一
2,
0 ri 0.3 0.3 ri 0.6
0.6 ri
x1,x2,…,xN 即具有X 的分布律的随机数.
从理论上讲, 已解决了产生具有任何离散
型分布的随机数的问题.
具体执行仍有困难,如X的取值是无穷多个的 情况.
可利用分布的自身特点,采用其他的模拟方法.
例4 随机变量X~B(n,p),其分布律为
反函数法 舍选法
1) 反函数法 设连续型随机变量Y的概率函数为 f(x), 需产

如何产生真正的随机数

如何产生真正的随机数

如何产生真正的随机数
要产生真正的随机数是一件很困难的事情。

人工挑选的数字一点都不随机,就连计算机生成的随机数也被称为“伪随机数”(pseudorandom numbers)。

不过,科学家发现,有一个过程可能是真正地随机:溶液中晶体的形成。

我们完全没有能力预测晶体在什么时间时候、在溶液的哪个位置开始形成,没有能力预测形成的晶体的朝向,也没有能力预测给定时间内晶体能形成多大。

正是利用这样的性质,英国科学家想到了一个生成随机数的方法。

他们设计了一个机器人在溶液中生长晶体,并拍摄记录了晶体的生长情况。

随后,他们利用计算机图像处理技术,统计了生成的晶体的大小,取向、颜色,和排列状况,并以此为输入信息,通过计算机程序生成随机数列。

最终,这些随机数列都通过了数学检验,被证明是真正的随机数。

不仅如此,为了证明他们的系统是有效随机的,团队使用他们生成的随机数列来加密一个单词,crystal。

实验证明,这比用伪随机数加密的同一个单词更难被破解。

这一研究发表在《Matter》上。

欢迎跟我们分享你和科学的故事。

随机数的产生

随机数的产生

随机数的产生青岛理工大学精品课程《概率论与数理统计科学实验》(实验三)35 实验三随机数的生成一、实验问题1. 问题背景多次重复地抛掷一枚匀质的硬币是一个古老而现实的实验问题, 通过分析“正面向上”出现的频率, 我们可以从中得出许多结论. 但要做这个简单而重复的试验, 很多人没有多余的时间或耐心来完成它, 现在借助于计算机的帮助,人人都可以在很短的时间内完成它. 因此,借助于计算机进行模拟随机试验, 产生服从各类分布的随机数, 通过数据处理和分析, 我们可以从中发现许多有用的规律, 或者来验证我们理论推导的结论是否正确. 本实验的主要目的是产生服从某种分布的随机数.2. 实验目的与要求(1) 熟悉常见分布的随机数产生的有关命令;(2) 掌握随机模拟的方法;(3) 提高读者观察实验现象或处理数据方面的能力.二、实验操作过程随机数生成的基本原理生成服从给定分布的随机数, 需要首先生成服从均匀分布的随机数. 常用的生成均匀分布随机数的方法是同余法, 其递推公式为xi = (axi-1+c) modm.给定初值x0, 可以迭代出均匀随机数x1, x2, …, xn, 将它们进行标准化(此时随机数界于0和1之间)或极差标准化(此时随机数界于-1和1之间), 可以得到均匀分布的随机数.获得均匀分布的随机数以后, 可以用多种方法构造基于该随机数的随机变量, 常用的方法是反函数法, 即利用随机变量x 的分布函数F(x)的反函数F -1 (x)来推求随机变量. 基本算法是:(1) 产生均匀分布随机数ri;(2) 令xi = F -1 (ri), 然后返回.下面结合正态分布随机变量的生成进行具体介绍:正态分布的分布函数为2 11()exp[()]d2 2 x x.青岛理工大学精品课程《概率论与数理统计科学实验》(实验三) 36 式中μ 为期望, σ 2 为方差. 由中心极限定理, 有1 12()2niixnr n,当n = 12 时, 可达到较好精度, 故121 (6) ii xr,x 就是基于均匀分布随机数ri 的服从正态分布的随机数.1. 二项分布的随机数的产生基本数学原理: 设X 服从参数为n, p 的二项分布, 具体概率分布见第18页实验二, 二, 1.在MATLAB 中用函数binornd产生参数为n, p 的二项分布的随机数,其基本的调用格式如下:·R = binornd(N, P) % N, P为二项分布的两个参数, 返回服从参数为N, P 的二项分布的一个随机数;·R = binornd(N, P, m, n) % m, n分别表示随机数产生的行数和列数. 例3-1 产生参数为10, 概率为0.5 的二项分布的随机数.(1) 产生1 个随机数;(2) 产生10 个随机数;(3) 产生6(要求2 行3 列)个随机数.解只需在命令窗口中依次输入下列命令:R1=binornd(10,0.5), %产生一个随机数5.R2=binornd(10,0.5,1,10), %产生1 行10 列共10 个随机R3=binornd(10,0.5,[2,3]). %同命令binornd(10,0.5,2,3).2.均匀分布的随机数的产生基本数学原理:设X在区间(a,b)上服从均匀分布, 具体概率密度见第23页实验二, 二, 5.在MATLAB 中用函数unifrnd产生均匀分布的随机数,其基本调用格式如下:·R = unifrnd(a, b) %返回参数为a,b的连续型均匀分布的随机数; ·R = unifrnd(a, b, m) % m 指定产生m 行m列个随机数;·R = unifrnd(a, b, m, n) % m, n分别表示产生的随机数的行数和列数. 青岛理工大学精品课程《概率论与数理统计科学实验》(实验三) 37 例3-2 产生区间(0, 1)上的连续型均匀分布的随机数.(1) 产生6×6个随机数;(2) 产生6(要求2 行3 列)个随机数.解只需在命令窗口中依次输入下列命令:random1= unifrnd(0, 1, 6), % 产生6 行6 列个随机数.random2= unifrnd(0, 1, 2, 3). % 产生2 行3 列个随机数.注意命令unidrnd(N, 2, 3) 产生2 行3 列个离散型均匀分布的随机数.3. 正态分布的随机数的产生基本数学原理: 设X 服从参数为μ 和σ 2 的正态分布, 具体概率密度见第25 页实验二, 二, 7.在MATLAB 中用函数normrnd产生参数为μ, σ的正态分布的随机数,其基本的调用格式如下:·R = normrnd(MU, SIGMA) %返回均值为MU, 标准差为SIGMA 的正态分布的随机数, R可以是向量或矩阵;·R = normrnd(MU, SIGMA, m) % m 指定随机数的行数与列数, 与R 同维数, 产生m 行m 列个随机数;·R = normrnd(MU, SIGMA, m, n) %m, n分别表示R 的行数和列数. 例3-3 生成满足下列情形的正态分布随机数:(1) 均值和标准差变化;(2) 随机数输出为矩阵;(3) 均值为矩阵.解(1) 在命令窗口中输入:n1 = normrnd(1:6, 1./(1:6)) %1./(1:6)运算结果是1,,,,,23456.n1 =2.1650 2.31343.02504.0879 4.8607 6.2827结果表示: 均值μ为1,2, 3, 4, 5,6, 标准差σ对应地为1,11111,,,,23456的正态随机数. 注意, 大多数随机数在均值附近产生, 其它分布也有类似情形.(2) 在命令窗口再输入:n2=normrnd(10, 0.5, [2, 3]) %与命令normrnd(10, 0.5, 2, 3)效果相同.回车后显示:青岛理工大学精品课程《概率论与数理统计科学实验》(实验三) 38 n2 =9.7837 10.0627 9.42689.1672 10.1438 10.5955结果表示: 均值μ为10, 标准差σ为0.5 的2 行3 列个正态随机数.(3) 在命令窗口再输入:n3 = normrnd([1 2 3;4 5 6],0.1,2,3)n3 =0.9299 1.9361 2.96405.0577 5.9864结果表示: 均值μ 为矩阵123456,标准差σ 为0.1 的2 行3 列个正态随机数.4. 常见分布的随机数的产生常见分布的随机数产生的使用格式与上面相同,见表3-1.3-1 常见分布的随机数产生函数表函数名调用形式注释betarnd betarnd(A, B,m,n) 参数为A, B的β分布随机数binornd binornd(N,P,m,n) 参数为N, p的二项分布随机数chi2rnd chi2rnd(N, m, n) 自由度为N的χ 2 分布随机数exprnd exprnd(Lambda,m,n) 参数为Lambda的指数分布随机数frnd frnd(N1, N2, m,n) 第一自由度为N1,第二自由度为N2 的F 分布随机数gamrnd gamrnd(A, B, m,n) 参数为A, B的γ分布随机数geornd geornd(P,m,n) 参数为P的几何分布随机数hygernd hygernd(M,K,N,m,n) 参数为M,K,N的超几何分布随机数lognrnd lognrnd(MU, SIGMA, m, n) 参数为MU, SIGMA 的对数正态分布随机数nbinrnd nbinrnd(R, P,m,n) 参数为R, P的负二项式分布随机数ncfrnd ncfrnd(N1, N2, delta,m,n) 参数为N1,N2, delta的非中心F 分布随机数nctrnd nctrnd(N, delta, m,n) 参数为N, delta的非中心t分布随机数ncx2rnd ncx2rnd(N, delta, m,n) 参数为N, delta的非中心卡方分布随机数normrnd normrnd(MU, SIGMA, m,n) 参数为MU, SIGMA的正态分布随机数青岛理工大学精品课程《概率论与数理统计科学实验》(实验三) 39 poissrnd poissrnd(Lambda,m,n) 参数为Lambda的泊松分布随机数raylrnd raylrnd(B, m,n) 参数为B的瑞利分布随机数trnd trnd(N, m,n) 自由度为N的t分布随机数unidrnd unidrnd(N,m, n) 离散型均匀分布随机数unifrnd unifrnd ( A,B,m,n) (A,B)上连续型均匀分布随机数weibrnd weibrnd(A, B,m, n) 参数为A, B的威布尔分布随机数5.通用函数求各分布的随机数在MATLAB 中用函数random产生指定分布的随机数,其基本的调用格式如下:·y = random('name',A1,A2,A3, m, n) %name为分布函数名, 其取值见表3-2; A1, A2,A3 为分布的参数;m, n 指定产生随机数的行数和列数.表3-2 常见分布函数名称表name的取值函数说明'beta' 或'beta' beta分布'bino' 或'binomial' 二项分布'chi2' 或'chisquare' χ 2 分布'exp' 或'exponential' 指数分布'f' 或'f' F分布'gam' 或'gamma' γ分布'geo' 或'geometric' 几何分布'hyge' 或'hypergeometric' 超几何分布'logn' 或'lognormal' 对数正态分布'nbin' 或'negative Binomial' 负二项式分布'ncf' 或'Noncentral F' 非中心F分布'nct' 或'Noncentral t' 非中心t分布'ncx2' 或'noncentralchi-square' 非中心χ 2 分布'norm' 或'normal' 正态分布'poiss' 或'poisson' 泊松分布'rayl' 或'rayleigh' 瑞利分布't' 或't' t分布'unif' 或'uniform' 连续型均匀分布'unid' 或'discreteuniform' 离散型均匀分布'weib' 或'weibull' Weibull分布青岛理工大学精品课程《概率论与数理统计科学实验》(实验三) 40 例3-4 用函数“random”产生12(含 3 行 4 列)个均值为2, 标准差为0.3的正态分布随机数.解在命令窗口输入:y=random('norm', 2, 0.3, 3, 4)回车后显示:y =2.3567 2.0524 1.8235 2.03421.9887 1.94402.6550 2.32002.0982 2.2177 1.9591 2.01786. 随机数生成工具箱MATLAB 提供了随机数生成工具箱, 使用图形用户界面, 可以交互式地生成常用的各种随机数.调用格式:·randtool说明: randtool 命令打开一个图形用户界面, 可以观察在服从一定概率分布的随机样本直方图上改变参数和样本大小带来的变化.单击“Export…”(即“输出”按钮)按钮, 输出随机数的当前位置. 结果保存在变量“ans”中.单击“Resample” (即“重复取样”按钮)按钮, 从同一分布的总体中进行重复取样.在图形上方的函数“Distribution”(即“分布类型”按钮)弹出式菜单中进行选择, 可以改变分布函数类型.移动滚动条或在参数名右方的编辑框中输入数值, 可以改变参数的设置.在滚动条的顶部或底部编辑框中输入数值, 可以改变参数的上下界设置.在“Sample” (即“样本”按钮)编辑框中输入数值, 可以改变样本容量的大小.完成上面的操作后, 单击右上方的“关闭”按钮, 关闭图形用户界面. 例3-5 用随机数生成工具箱, 生成正态分布随机数和均匀分布随机数的直方图.解在命令窗口输入: randtool 命令, 打开随机数生成界面, 如图3-1 所示.在“Distribution”下拉式列表框中进行选择, 确定生成什么分布的随机数. 在“Samples”窗口中输入样本的大小. 在图形下方输入对应分布的参数及其上下界区间. 单击“Resample”按钮, 生成随机数并用直方图表示.在“Distribution”下拉式列表框中选择“Uniform”选项, 将生成服从均匀分青岛理工大学精品课程《概率论与数理统计科学实验》(实验三) 41 布的随机数. 如图3-2 所示.图3-1 正态分布的随机数的直方图图3-2 均匀分布的随机数的直方图三、实验结论与总结产生各种随机数, 是我们进行科学试验经常使用的一种试验手段和方法,通过产生满足某些条件的随机数, 画出它们的散点图, 利用概率统计的方法,可以分析随机数分布的规律, 进而找寻事物本身隐含的关系, 或者验证理论结果的正确性.四、实验习题1. 产生区间(-1, 1 )上的12 个连续型与离散型的均匀分布随机数.2. 产生12(要求3行4 列)个标准正态分布随机数.3. 产生20个λ=1 的指数分布随机数.4. 产生32(要求4行8 列)个参数λ=3 的泊松分布随机数.5. 用函数“random”分别产生20 (要求4行5 列)个均值为10, 标准差为6的正态分布随机数和20 个均匀分布随机数.6.利用随机数生成工具箱, 生成二项分布、泊松分布、指数分布和F 分布的随机数的直方图.。

常见的随机抽样方法介绍

常见的随机抽样方法介绍

抽样方法介绍朱一军福建省产品质量检验研究院一、随机方法选择及随机数产生按照GB/T10111-2008《随机数的产生及其在产品质量抽样检验中的应用程序》的要求,并根据受检单位的产品堆放形式、基数(批量)大小,确定抽样方法通常包括简单随机抽样、分层随机抽样、系统抽样、整群抽样、全数抽样五种方法)。

随机数一般可使用随机数表、骰子或扑克牌中任选一种方式产生。

(一)简单随机抽样(抽签法、随机样数表法)常常用于总体个数较少时,它的主要特征是从总体中逐个抽取;优点:操作简便易行缺点:总体过大不易实行1.定义:一般地,设一个总体含有N个个体,从中逐个不放回地抽取n 个个体作为样本(nWN),如果每次抽取式总体内的各个个体被抽到的机会都相等,就把这种抽样方法叫做简单随机抽样。

2.简单随机抽样方法(1)抽签法一般地,抽签法就是把总体中的N个个体编号,把号码写在号签上,将号签放在一个容器中,搅拌均匀后,每次从中抽取一个号签,连续抽取n次,就得到一个容量为n的样本。

(抽签法简单易行,适用于总体中的个数不多时。

当总体中的个体数较多时,将总体“搅拌均匀”就比较困难,用抽签法产生的样本代表性差的可能性很大)(2)随机数法随机抽样中,另一个经常被采用的方法是随机数法,即利用随机数表、随机数骰子或计算机产生的随机数进行抽样。

(二)分层抽样(StratifiedRandomSampling)主要特征分层按比例抽样,主要使用于总体中的个体有明显差异。

共同点:每个个体被抽到的概率都相等N/M。

定义一般地,在抽样时,将总体分成互不交叉的层,然后按照一定的比例,从各层独立地抽取一定数量的个体,将各层取出的个体合在一起作为样本,这种抽样方法是一种分层抽样(stratifiedsampling)。

(三)系统抽样当总体中的个体数较多时,采用简单随机抽样显得较为费事。

这时,可将总体分成均衡的几个部分,然后按照预先定出的规则,从每一部分抽取一个个体,得到所需要的样本,这种抽样叫做系统抽样。

随机数的生成及随机变量抽样

随机数的生成及随机变量抽样

if (floor(10*Random(1,i)) ==10*Random(1,i))
Random(1,i)=10*Random(1,i);
else
Random(1,i)=floor(10*Random(1,i))+1;
end
end
整理课件
14
整理课件
15
v 2) 连续型分布的直接抽样方法 ❖ 对于连续型分布,如果分布函数F(x)的反函
I- 1
I
(2)xxI, 当 i = 1piui = 1pi
选取均匀随机数u,如
I1uI, I {1,2,3,4,5,6}
66

x I 整理课件
10
v 例2. 掷骰子点数的抽样 由于
I 1 uI,I { 1 ,2 ,3 ,4 ,5 ,6 },x I 66
等价于
I 1 6 u I ,I 1 ,2 ,3 ,4 ,5 ,6 , x I
1) 分布函数无法用解析形式表达,因而无法给出 反函数的解析形式。
2) 分布函数有解析形式,但是反函数的解析形式 给不出来。
3) 反函数有解析形式,但运算量很大。
❖ 下面叙述的抽样方法是能够克服这些困难的比 较好的方法。
整理课件
31
v 复合抽样方法 ❖ 复合抽样方法的基本思想是由kahn提出的。
❖ 考虑如下复合分布:
整理课件
33
离散型随机变量Y 的分布函数为
F(y)P(Yy)pn
ny
❖ fn(x)为给定Y=n时X的条件密度。该复合分布 f(x)的抽样方法为: 首先从离散分布F(y) 中抽样 N,然后再从密度函数fN(x)中抽样确定XfN 。
整理课件
34
总之

概率论与数理统计实验 实验2 随机数的产生 数据的统计描述

概率论与数理统计实验 实验2 随机数的产生 数据的统计描述

分布峰度
其估计量为:
g2
E ( X E ( X ))4

4
1 4 ( X X ) i G2 n s4
1 2 ( X X ) i n
其中
s
峰度是分布形状的另一种度量,正态分布 的峰度为3,若g2比3大很多,表示分布有沉 重的尾巴,说明样本中含有较多远离均值的 数据,因而峰度可用作衡量偏离正态分布的 尺度之一 命令:y=kurtosis(x) 若x为矢量,返回x的样本峰度,若x为矩 阵,结果为行向量,每个元素对应x中列 元素的样本峰度。
本值,将其按由小到大的顺序排列,并 重新编号,记为
x x x
* 1 * 2
* n
则经验分布函数为:
0 k Fn ( x) n 1
4、二项分布随机数
1) R = binornd(n, p):产生一个二项分布随机数 2) R = binornd(n,p,m,n)产生m行n列的二项分布随机数 例4、产生B(10,0.8)上的一个随机数,15个随机数, 3行6列的随机数。 命令 (1) y1=binornd(10,0.8) (2) y2=binornd(10,0.8,1,15) (3) y3=binornd(10,0.8,3,6)
3、指数分布随机数
1) R = exprnd(λ):产生一个指数分布随机数 2)R = exprnd(λ,m,n)产生m行n列的指数分布随机数
例3、产生E(0.1)上的一个随机数,20个随机数, 2行6列的随机数。
命令 (1) y1=exprnd(0.1) (2) y2=exprnd(0.1,1,20) (3) y3=exprnd(0.1,2,6)
① 产生均匀随机数R,即R~U(0,1)

随机数的产生

随机数的产生

随机数的产生1.随机数的概念随机数是在一定范围内随机产生的数,并且得到这个范围内任何一个数的机会是均等的.它可以帮助我们模拟随机试验,特别是一些成本高、时间长的试验,用随机模拟的方法可以起到降低成本,缩短时间的作用.2.随机数的产生方法:一般用试验的方法,如把数字标在小球上,搅拌均匀,用统计中的抽签法等抽样方法,可以产生某个范围内的随机数.在计算器或计算机中可以应用随机函数产生某个范围的伪随机数,当作随机数来应用.3.随机模拟法(蒙特卡罗法):用计算机或计算器模拟试验的方法,具体步骤如下:(1)用计算器或计算机产生某个范围内的随机数,并赋予每个随机数一定的意义;(2)统计代表某意义的随机数的个数M和总的随机数个数N;(3)计算频率()n Mf AN作为所求概率的近似值.要点诠释:1.对于抽签法等抽样方法试验,如果亲手做大量重复试验的话,花费的时间太多,因此利用计算机或计算器做随机模拟试验可以大大节省时间.2.随机函数RANDBETWEEN(a,b)产生从整数a到整数b的取整数值的随机数.3. 随机数具有广泛的应用,可以帮助我们安排和模拟一些试验,这样可以代替我们自己做大量重复试验,比如现在很多城市的重要考试采用产生随机数的方法把考生分配到各个考场中.4.在区间[a,b]上的均匀随机数与整数值随机数的共同点都是等可能取值,不同点是均匀随机数可以取区间内的任意一个实数,整数值随机数只取区间内的整数.5.利用几何概型的概率公式,结合随机模拟试验,可以解决求概率、面积、参数值等一系列问题,体现了数学知识的应用价值.6.用随机模拟试验不规则图形的面积的基本思想是,构造一个包含这个图形的规则图形作为参照,通过计算机产生某区间内的均匀随机数,再利用两个图形的面积之比近似等于分别落在这两个图形区域内的均匀随机点的个数之比来解决.7.利用计算机和线性变换Y=X*(b-a)+a,可以产生任意区间[a,b]上的均匀随机数.。

随机数的产生与检验

随机数的产生与检验
第5讲 随机数的产生与检验
zhaoyuexia@
1
内容提要
• • • • DES中常见的随机分布 伪随机数发生器的要求 伪随机数的产生方法 随机数的检验
2
5.1 DES中常见的随机分布
• 1 概念介绍 • 1) 确定性系统与随机系统
– 对于一个离散事件系统而言,如果状态变化及其间隔可以预先完 全确定,则称这个系统为确定性系统。如果状态变化及其间隔具 备某种不确定性,则称这个系统为随机系统。
a
f(x)是概率密度函数(pdf).
4
• 3)分布函数:设X为一随机变量,对于实函数 F(X)= P( X x) 称它为随机变量X的分布函数, 也称为概率累积函数。 • 2. 典型系统及常用分布 • 1)排队系统
– 排队系统中两种类型的活动:实体到达和实体接受服 务。实体到达的模式一般用泊松分布来描述,即固定 时间内到达系统的实体数目服从泊松分布。(相邻到 达的两个实体之间的到达时间间隔服从指数分布)如 果服务时间完全是随机的,通常在建模中用指数分布
利用自相关性检验确定此随机数序列的独立性。 将该随机数的顺序从上到下、从左往右进行编号,现以检验每隔5个数之间的相 关性为例。取 i 1 (从第1个数开始),滞后量m (每隔5个数),检验该序列中 5 的第1个,第6个,第11个数是否自相关。 (序列中共有100个数), (满足 N 100 的最大整数)。
10
a和c的选取:当且仅当以下条件满足时,一个线性同余发生器的 随机数序列的最大可能周期为m.(称为全周期)
c与m互质。 m能被4整除,则a-1也能被4整除。 如果q是一个能整除m的质数,则q能整除a-1。
Z0的选取:
不重要,但是若等于0则产生退化。

高中数学必修3概率统计常考题型:(整数值)随机数(random numbers)的产生.doc

高中数学必修3概率统计常考题型:(整数值)随机数(random numbers)的产生.doc

(整数值)随机数(random numbers)的产生【知识梳理】1.随机数的产生(1)标号:把n个大小,形状相同的小球分别标上1,2,3,…,n;(2)搅拌:放入一个袋中,把它们充分搅拌;(3)摸取:从中摸出一个.这个球上的数就称为从1~n之间的随机整数,简称随机数.2.伪随机数的产生(1)规则:依照确定算法;(2)特点:具有周期性(周期很长);(3)性质:它们具有类似随机数的性质.计算机或计算器产生的随机数并不是真正的随机数,我们称为伪随机数.3.利用计算器产生随机数的操作方法用计算器的随机函数RANDI(a,b)或计算机的随机函数RANDBETWEEN(a,b)可以产生从整数a到整数b的取整数值的随机数.例如,用计算器产生1到25之间的取整数值的随机数,方法如下:4.利用计算机产生随机数的操作程序每个具有统计功能的软件都有随机函数,以Excel软件为例,打开Excel软件,执行下面的步骤:(1)选定A1格,键入“=RANDBETWEEN(0,1)”,按Enter键,则在此格中的数是随机产生的0或1.(2)选定A1格,按Ctrl+C快捷键,然后选定要随机产生0,1的格,比如A2至A100,按Ctrl+V快捷键,则在A2至A100的数均为随机产生的0或1,这样相当于做了100次随机试验.(3)选定C1格,键入频数函数“=FREQUENCY(A1∶A100,0.5)”,按Enter键,则此格中的数是统计A1至A100中,比0.5小的数的个数,即0出现的频数.(4)选定D1格,键入“=1-C1/100”,按Enter键,在此格中的数是这100次试验中出现1的频率.【常考题型】题型一、随机数的产生方法【例1】某校高一年级共有20个班1 200名学生,期末考试时,如何把学生随机地分配到40个考场中去?[解]第一步,n=1;第二步,用RANDI(1,1 200)产生一个[1,1 200]内的整数随机数x表示学生的座号;第三步,执行第二步,再产生一个座号,若此座号与以前产生的座号重复,则执行第二步,否则n=n+1;第四步,如果n≤1 200,则重复执行第三步,否则执行第五步;第五步,按座号的大小排列,作为考号(不足四位的前面添上“0”,补足位数),程序结束.【类题通法】产生随机数需要注意的两个问题(1)利用抽签法时,所设计的试验要切实保证任何一个数被抽到的可能性是相等的,这是试验成功的基础(关键词:等可能).(2)利用计算器或计算机产生随机数时,由于不同型号的计算器产生随机数的方法可能会有所不同,故需特别注意操作步骤与顺序的正确性,具体操作需严格参照其说明书(关键词:步骤与顺序).【对点训练】用随机模拟方法抛掷一枚均匀的硬币100次,产生计算机统计这100次试验中“出现正面朝上”随机数.解:利用计算机统计频数和频率,用Excel演示.(1)选定C1格,键入频数函数“=FREQUENCY(A1:A100,0.5)”,按Enter键,则此格中的数是统计A1至A100中比0.5小的数的个数,即0出现的频数,也就是反面朝上的频数;(2)选定D1格,键入“=1-C1/100”,按Enter键,在此格中的数是这100次试验中出现1的频率,即正面朝上的频率.题型二、利用随机模拟法估计概率【例2】(1)已知某运动员每次投篮命中的概率低于40%,现采用随机模拟的方法估计该运动员三次投篮恰有两次命中的概率:先由计算器产生0到9之间取整数值的随机数,指定1,2,3,4表示命中,5,6,7,8,9,0表示不命中;再以每三个随机数为一组,代表三次投篮的结果.经随机模拟产生了20组随机数:907966191925271932812458569683431257393027556488730113537989据此估计,该运动员三次投篮恰有两次命中的概率为()A.0.35B.0.25C.0.20 D.0.15[解析]由题意知模拟三次投篮的结果,经随机模拟产生了20组随机数,在20组随机数中表示三次投篮恰有两次命中的有191,271,932,812,393,共5组随机数,∴所求概率为520=1 4=0.25.故选B.[答案] B(2)种植某种树苗,成活率是0.9.若种植该种树苗5棵,用随机模拟方法估计恰好4棵成活的概率.[解]利用计算器或计算机产生0到9之间取整数值的随机数,我们用0代表不成活,1至9的数字代表成活,这样可以体现成活率是0.9.因为种植5棵,所以每5个随机数作为一组,可产生30组随机数,如下所示:698016609777124229617423531516297472494557558652587413023224374454434433315271202178258555610174524144134922017036283005949765617334783166243034401117这就相当于做了30次试验,在这些数组中,如果恰有一个0,则表示恰有4棵成活,共有9组这样的数,于是我们得到种植5棵这样的树苗恰有4棵成活的概率近似为930=0.3.【类题通法】利用随机模拟估计概率应关注三点用整数随机数模拟试验估计概率时,首先要确定随机数的范围和用哪些数代表不同的试验结果.我们可以从以下三方面考虑:(1)当试验的基本事件等可能时,基本事件总数即为产生随机数的范围,每个随机数代表一个基本事件;(2)研究等可能事件的概率时,用按比例分配的方法确定表示各个结果的数字个数及总个数;(3)当每次试验结果需要n 个随机数表示时,要把n 个随机数作为一组来处理,此时一定要注意每组中的随机数字能否重复.【对点训练】甲、乙两支篮球队进行一局比赛,甲获胜的概率为0.6,若采用三局两胜制举行一次比赛,现采用随机模拟的方法估计乙获胜的概率.先利用计算器或计算机生成0到9之间取整数值的随机数,用0,1,2,3,4,5表示甲获胜;6,7,8,9表示乙获胜,这样能体现甲获胜的概率为0.6.因为采用三局两胜制,所以每3个随机数作为一组.例如,产生30组随机数.034 743 738 636 964 736 614 698 637 162332 616 804 560 111 410 959 774 246 762428 114 572 042 533 237 322 707 360 751据此估计乙获胜的概率为________.解析:就相当于做了30次试验.如果6,7,8,9中恰有2个或3个数出现,就表示乙获胜,它们分别是738,636,964,736,698,637,616,959,774,762,707.共11个.所以采用三局两胜制,乙获胜的概率约为1130≈0.367. 答案:0.367【练习反馈】1.利用抛硬币产生随机数1和2,出现正面表示产生的随机数为1,出现反面表示产生的随机数为2,小王抛两次,则出现的随机数之和为3的概率为( )A.12B.13C.14D.15解析:选A 抛掷硬币两次,产生的随机数的情况有(1,1),(1,2),(2,1),(2,2)共四种,其中随机数之和为3的情况有(1,2),(2,1)两种,故所求概率为24=12. 2.已知某射击运动员每次击中目标的概率都是0.8.现采用随机模拟的方法估计该运动员射击4次,至少击中3次的概率:先由计算器算出0~9之间取整数值的随机数,指定0,1表示没有击中目标,2,3,4,5,6,7,8,9表示击中目标;因为射击4次,故以每4个随机数为一组,代表射击4次的结果.经随机模拟产生了20组随机数:5727 0293 7140 9857 03474373 8636 9647 1417 46980371 6233 2616 8045 60113661 9597 7424 6710 4281据此估计,该射击运动员射击4次至少击中3次的概率为( )A .0.85B .0.819 2C .0.8D .0.75解析:选D 该射击运动员射击4次至少击中3次,考虑该事件的对立事件,故看这20组数据中含有0和1的个数多少,含有2个或2个以上的有5组数,故所求概率为1520=0.75,故选D.3.一个正方体,它的表面涂满了红色,在它的每个面上切两刀,可得27个小正方体,从中任取一个它恰有一个面涂有红色的概率是________.解析:恰有一个面涂有红色在每一个侧面上只有一个,共有6个,故所求概率为29. 答案:294.从1,2,3,4,5这5个数中任取两个,则这两个数正好相差1的概率是________.解析:从5个数中任取两个,共有10种取法,两个数相差1的有1,2;2,3;3,4;4,5四种,故所求概率为410=25. 答案:255.盒中有大小、形状相同的5只白球2只黑球,用随机模拟法求下列事件的概率:(1)任取一球,得到白球;(2)任取三球,都是白球.解:用1,2,3,4,5表示白球,6,7表示黑球.(1)步骤:①利用计算器或计算机产生1到7的整数随机数,每一个数一组,统计组数n ;②统计这n 组数中小于6的组数m ;③任取一球,得到白球的概率估计值是m n. (2)步骤:①利用计算器或计算机产生1到7的整数随机数,每三个数一组,统计组数n ;②统计这n 组数中,每个数字均小于6的组数m ;③任取三球,都是白球的概率估计值是mn.。

随机数生成方法、随机数生成法比较以及检验生成的随机序列的随机性的方法

随机数生成方法、随机数生成法比较以及检验生成的随机序列的随机性的方法

摘要摘要本文着重讨论了随机数生成方法、随机数生成法比较以及检验生成的随机序列的随机性的方法。

在随机序列生成方面,本文讨论了平方取中法、斐波那契法、滞后斐波那契法、移位法、线性同余法、非线性同余法、取小数法等,并比较了各方法的优劣性。

在统计检验方面,介绍了统计检验的方法,并用其检验几种随机数生成器生成的随机数的随机性。

最后介绍了两种新的随机数生成法,并统计检验了生成随机序列的随机性。

关键词:随机数,随机数生成法,统计检验IABSTRACTABSTRACTThis article focuses on methods of random number generator, random number generation method comparison and test the randomness of the generated random sequence method.In random sequence generation, the article discusses the square method, Fibonacci method, lagged Fibonacci method, the shift method, linear congruential method, linear congruence method, taking minority law, and Comparison of advantages and disadvantages of each method.In statistical test, the introduction of the statistical test method, and used to test some random number generator random random numbers generated.Finally, two new random number generation method, and statistical tests of randomness to generate a random sequence.Key Words: random number,random number generator,statistical testII目录第1章引言 (1)1.1 课题背景 (1)1.2 课题的价值及意义 (1)1.3 课题的难点、重点、核心问题及方向 (1)第2章随机数 (3)2.1 基本概念 (3)2.2 产生随机数的一般方法 (3)2.3 随机数生成的数学方法 (4)2.4 产生随机数的方法种类 (5)2.5 随机数的应用 (6)第3章常见随机数生成法与比较 (7)3.1 平方取中法 (7)3.1.1 迭代算法 (7)3.1.2 平方取中法的优缺点 (7)3.2 斐波那契(Fibonacci)法 (8)3.3 滞后斐波那契(Fibonacci)法 (9)3.4 移位法 (9)3.5 线性同余法 (10)3.5.1 模数的选取 (10)3.5.2 乘数的选取 (11)3.5.3 线性同余法的缺陷 (12)3.5.4 广义线性同余法 (12)3.6 非线性同余法 (13)3.6.1 逆同余法 (13)3.6.2 二次同余法 (14)3.6.3 三次同余法 (14)3.6.4 BBS法 (14)3.7 取小数法 (14)III3.8 常见随机数生成法的比较 (15)第4章随机数生成法的统计和检验 (16)4.1 检验类型 (16)4.2 统计检验的一般方法 (16)4.2.1 参数检验 (17)4.2.2 均匀性检验 (18)4.2.3 重要分布 (18)4.2.4 重要定理 (19)4.2.5 卡方检验 (20)4.2.6 柯氏检验 (20)4.2.7 序列检验 (21)4.3 独立性检验 (22)4.4 对线性同余法和取小数法进行随机性检验 (22)第5章新的随机数生成法 (24)5.1 开方取小数法 (24)5.2 一种混合型随机数发生器 (28)5.2.1 超素数长周期法 (28)5.2.2 组合发生器的研究 (30)5.2.3 随机数算法统计检验结果 (30)结束语 (32)参考文献 (33)致谢 (34)外文资料原文 (35)翻译文稿 (37)IV第1章引言第1章引言1.1课题背景随机数(随机序列)在不同的领域有许多不同类型的应用。

随机数的产生

随机数的产生
- (2) 若 P(n-1)<r≤P(n) ,则令 取值为 n. 则令X 取值为x 离散型随机变量X的分布律如下 例7.2.4 离散型随机变量 的分布律如下
X=x P(x)
0 0.3
1 0.3
2 0.4
随机数, 设r1,r2,…,rN是RND随机数,令 , 随机数
0, xi = 1, 2, 0 < ri ≤ 0.3 0.3 < ri ≤ 0.6 0.6 < ri
取定种子x 取定种子 0=71,得 , 97x0+3=6890, x1=890, r1=0.890 , , 97x1+3=86333, x2=333, r2=0.333 , , 97x2+3=32304, x3=304, r3=0.304 , , 97x3+3=29491, x4=491, r4=0.491 , , 97x4+3=47830, x5=630, r5=0.630 , , 余类推,接下来的随机数是: 余类推,接下来的随机数是: 0.113,0.964,0.511,0.570,0.293,0.424, , , , , , , 0.131,0.710,0.873,0.684,0.351,0.050, , , , , , , 0.853…
对特殊分布
需要寻求一种简便,经济,可靠 需要寻求一种简便,经济,可靠, 并能 在计算机上实现的产生随机数的方法. 在计算机上实现的产生随机数的方法 二.均匀分布随机数的产生 均匀分布随机数的产生 最常用,最基础的随 最常用,最基础的随 机数是在( ) 机数是在(0,1)区间 内均匀分布的随机数 (简记为RND) 简记为 ) 理解为:随机 理解为: 变量X~ 变量 ~U(0,1) 的一组样本值 的模拟值
用M 除λxn后

随机数的生成方法

随机数的生成方法

在一定的统计意义下可作为随机样本 X1,X2,…,Xn 的一组样本值,称r1 , r2 , … , rn一组具有与X相 同分布的随机数. 例1 设随机变量X~B(1, 0.5), 模拟该随机变 量X的一组样本值. 一种简单的方法是 抛一枚均匀硬币,观察出现正反面的情况, 出现正面记为数值“1”,否则记为“0”得: 0,0,1,0,1,1,1,0,1,0,0,0, 0,1,1,0,1,0, … 可看成总体X 的一系列样本值,或称产生了 一系列具有两点分布的随机数.
} { X xn }

P{ X xn } pn ,
(n 1,2,)
产生X的随机数的算法步骤 : (1) 产生一个(0, 1)区间上均匀分布随机数r(RND);
(2) 若 P(n-1)<r≤P(n) ,则令X 取值为xn. 例3 离散型随机变量X的分布律如下 X=x 0 P(x) 0.3 1 0.3 2 0.4
数学软件有产生常用分布随机数的功能
需要数据 量很大时 不太有效 需要寻求一种简便、经济、可靠, 并能在 计算机上实现的产生随机数的方法.
对特殊分布
二.均匀分布随机数的产生 最常用、最基础的随 机数是在(0,1)区间 内均匀分布的随机数 (简记为RND)
理解为:随机 变量X~U(0,1) 的一组样本值 的模拟值
2. 数列{rn}本质上是实数列, 给定初始值由递推 公式计算出的一串确定的数列.
从计算机中直接调用 某种分布的随机数同样存 在类似问题.
解决方法与思路: 1. 选择模拟参数 2. 对数列进行统计检验
不能简单 等同于真 正意义的 随机数.
1. 选择模拟参数 1) 周期的长度取决于参数x0, 入, M的选择; 2) 通过适当选取参数可以改善随机数的统计 性质. 几组供参考的参数值: x。=1,λ=7,M=1010 (L=5×107)

随机数检测标准

随机数检测标准

随机数检测标准随机数在现代计算机科学和信息技术中扮演着至关重要的角色。

正确生成和使用随机数是确保安全、可靠和高效的系统运行的关键因素。

为了确保随机数的质量,随机数检测标准被广泛采用。

本文将探讨随机数检测标准的相关内容。

一、概述随机数是在一定范围内无法预测和重现的数值序列。

在密码学、模拟实验、统计样本选取等领域中,随机数的生成和使用是非常重要的。

然而,由于计算机是基于确定性规则工作的,要生成真正的随机数是相当困难的。

因此,需要通过随机数检测标准来评估随机数的质量。

二、随机性测试1. 统计测试统计测试是最常用的随机性测试方法之一。

通过对生成的随机数进行统计分析,检查其分布是否均匀、频数是否满足期望等。

常用的统计测试包括频率分布测试、质因数分解测试和最长重复子序列测试等。

2. 线性复杂度测试线性复杂度测试旨在检测随机数序列中最长的线性相关性长度。

通过计算随机数序列中的线性复杂度,可以评估其随机性的质量。

典型的线性复杂度测试方法有线性复杂度模型、Baur-Strassen算法等。

3. 拓展测试拓展测试是更为严格和复杂的随机性测试方法。

它包括领域扩展测试和遗传扩展测试两种类型。

领域扩展测试要求随机数在不同的领域中都具有良好的随机性质量,比如一维、二维和高维分布等。

而遗传扩展测试则涉及到多个子序列之间的相互关系,以验证随机数生成算法的随机性。

三、随机性评估标准1. NIST标准NIST(National Institute of Standards and Technology,美国国家标准与技术研究院)提供了一套完整的随机性评估标准,包括统计测试、线性复杂度测试和拓展测试等。

这套标准被广泛应用于软件和硬件随机数生成器的评估与认证。

2. Diehard测试套件Diehard测试套件由George Marsaglia教授开发,包含了15种不同的统计测试,适用于评估随机数序列的质量。

这些测试涵盖了各种统计特性,包括均匀性、独立性、序列关联性等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
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 值; ○
重庆理工大学 <统计计算>论文
随机数的产生与检验
摘要
本文通过对常用的随机数的产生方法简单的分析和理论上的验证,对比研究 随机数的产生机理以及产生的随机数的好坏,并以此为依据提出自己的一些改进 方法,以便对随机模拟更好的利用。
关键词
随机数、随机数的产生 随机数的检验
一、引言
随机数的产生方法的研究已经有较长的历史.至今仍有统计学者继续研究随 机数的产生的方法和理论.随机数的产生,最早的方法称为手工方法.即采用抽签、 掷骰子、抽牌、摇号或者从搅乱的罐子中取带数字的球等方法,许多彩票的发行 仍采用这种方法。 随着计算机和模拟方法的应用,计算机来产生随机数成为新的课题。利用计 算机产生随机数有两种方法, 在计算机内输入随机数表和把具有随机性质的物理 过程变换为随机数,如粒子的辐射性,裂变等等。后者得到的随机数均匀性和随 机性都很好,而且取之不尽的,但是缺点也明显,对计算的结果不能重复检验, 这种物理随机数的产生需要大量的人力物力去检查和维修,成本过高。而数学方 法产生的随机数得到了广泛的应用,虽然产生的随机数为伪随机的,正是因为它 的占用内存少、速度快、可重复性的优点。 随机数的应用范围很广,对于随机数的均匀性,随机性,独立性的检验也是 不可缺少的, 只有通过了检验的随机数才有更大的利用空间。本文通过对几种常 见的随机数的产生方法进行比较分析,总结其优缺点,并提出一些改进方法。
(此表中数据计算方法见附录 6)
在上表中只是简单通过 j 阶的相关系数检验来说明这四种方法的独立性好 坏。当然此方法有些简单,但它直观的说 明了这四种方法产生的随机数都有很 好的独立性。
6 / 12
重庆理工大学 <统计计算>论文
三、结束语
通过对上面常用的四种方法的分析和检验,特别是三种检验中,不同的方法 产生的随机数对于随机性、均匀性、独立性等等的统计性质有一定的差别,这种 方法或许它的随机性很好, 但是均匀性或者独立性却不太好;或许某种方法它的 独立性很好,但是随机性却不算好。所以呢,我们在使用这些方法产生随机数的 时候, 我们可以更具某个具体问题它针对的是那个方面,对于某一方面比如随机 性要求很高的话, 我们就选取产生随机数随机性强的来产生,而其他的方面我们 可以选取不同的方法来产生数据。 另外一方面,对于同一种方法选取的初值,模长,增量,倍数以及产生随机 数的数目,这五个方面在选取适当的情况下,统计性质会得到很好的体现,我们 在 T1 和 MO 这两种方法的比较中很明显的看出来。所以呢,我们在应用这些方 法产生随机数的时候也要注意上述五个方面的影响, 在随机模拟的时候要充分发 挥数学方法产生随机数的可重复性,选取不同的合适的初值,模长等使得我们的 随机模拟的精度精益求精。
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)
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)
4 / 12
重庆理工大学 <统计计算>论文
大增大了伪随机数的周期。
2.22 均匀性检验
随机数的均匀性检验又称为频率检验, 它用来检验由某个发生器产生的随机 数序列 ri 是否均匀地分布在[0,1]区间上。 也就是是检验经验频率与理论频率的 差异是否显著。 设r1 , r2 , ⋯ , rn 是某个发生器长生的随机数,假设������0 :r1 , r2 , ⋯ , rn 为均匀总体 的简单样本。将[0,1)区间分为 m 个小区间,以
越好。上述四种方法全部通过了检验,通过比较,T1,即线性同余的方法产生的 均匀性比较好,这也是取特殊的 a,c,M 使得产生的随机数比较好。
2.23 独立性检验
两个随机变量的相关系数反映他们之间线性相关程度, 若两个随机变量独立, 则他们的相关系数比为零(反之不一定) ,故可以利用相关系数来检验随机数的 独立性。 设r1 , r2 , ⋯ , rn 是一组待检验的随机数,假设������0 :相关系数 ρ = 0。考虑样本 的 j 阶自相关系数 1 n−j
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 说明 通过检验 通过检验 通过检验 通过检验
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。
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 线性同余组合发生器(扩大周期法)
利用两个随机数产生器相结合扩大周期的方法。算法如下: 已知两个 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=1000, 对于 T1 我们已经知道了其周期为 256, 故采用 n=256 来计算 T1 的统计量,不可思议的很小(n=100,V=8.1) 。通过 Matlab 计 算的结果 V,可以比较 V 的大小来看出四种方法的优劣,其中 V 越小说明均匀性
相关文档
最新文档