第三章 随机数的产生与检验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
28
注:R软件检验随机数是否服从某一分布 时,可采用这种检验方法。
29
3、独立性检验:自相关系数的检验 随机数r1,r2,……,rn中的前后项是否是统计相 关性是否是显著的。相关系数反映了数据间的线 性相关程度,若独立,则相关系数必为0(反之 不一定)。 原假设H0:
30
31
R require
泊松分布
lamda=poissfit(A,alpha); p3=poisscdf(A,lamda); [H3,s3]=kstest(A,[A,p3],alpha) if H3==0 disp('该数据源服从泊松分布。') else disp('该数据源不服从泊松分布。') end
39
指数分布
mu=expfit(A,alpha); p4=expcdf(A,mu); [H4,s4]=kstest(A,[A,p4],alpha) if H4==0 disp('该数据源服从指数分布。') else disp('该数据源不服从指数分布。') end
8
第二节 均匀随机数的产生
均匀随机数的产生: 主要有线性同余法(LCG),组合同余法, 反馈位移寄存器方法等
9
(一)同余与线性同余法
同余
性质:
① ② ③
对称性:a≡b(mod M),则b≡a(mod M). 传递性:若a≡b(mod M),b≡c(mod M),则a≡c(mod M).
F2 ( x) P{F 1 ( R) x} P{R F ( x)} FR [ F ( x)] F ( x)
因为 R ~ U (0,1) ,对任意 F ( x) [0,1] 有 FR ( F ( x)) F ( x) 。 所以 F 1 (R) 的分布函数为 F (x)
23
第三节 随机数检验
检验目的:检验均匀伪随机数符合独立同均匀分布; 两种检验方法 统计检验:对生成的伪随机数进行假设检验 理论检验:从理论上讨论随机数发生器性质 统计检验常用近似正态统计量和ⅹ2统计量 以下检验方法一般假设用某发生器生成了均匀分布 伪随机数r1,r2,...,rn,来检验这些生成的随机数 的各种统计量。
21
Maclaren 和 Marsaglia在1965年 提出的著名的组合发生器是组合同余 发生器,该算法的具体步骤如下:
22
步骤: 1.用第一个LCG产生 k 个随机数,一般取 k 218 。这 k 个 随机数被顺序地存放在矢量 T (t1 , t 2 ,, t k ) 中。置 n 1 ;
的分布函
3
证明:
设随机变量 F ( ) 的分布函数为 F1 (u ) ,当 u [0,1] 时, 1 (u) P{F ( ) u} P{ F 1 (u)} F[ F 1 (u)] u F
F 当 u 0 时,1 (u) 0 ;当 u 1时, F1 (u ) 1 所以 F ( ) ~ U (0,1) 设F 1 (R) 的分布函数为F2 ( x) , 则
6
(三)伪随机数
伪随机数:在计算机上用数学方法产生均匀随机数 是指按照一定的计算方法而产生的数列,它们具有 类似于均匀随机变量的独立抽样序列的性质,这些 数既然是依照确定算法产生的,便不可能是真正的 随机数,因此常把用数学方法产生的随机数称为伪 随机数。 伪随机数不可能真随机;
需要对产生的伪随机数进行各种检验保证其符合独 立性条件且分布为要求的分布; 7
xn (314159269n1 453806245 x )(mod2 31 ) xn rn 2 31 x0 2 31
18
常用的素数模乘同余发生器 :
x n 3125x n 1 (mod2 35 31) xn rn (2 35 31) 35 x0 2 31
2
定理
定理1.1:设 F (x) 是连续且严格单调上升的分 布函数,它的反函数存在,且记为 F 1 ( x) , 即 F[ F 1 ( x)] x
1、若随机变量 的分布函数为 F (x) ,则
F ( ) ~ U (0,1)
2、若随机变量 数为 F (x)
R ~ U (0,1)
,则
F 1 ( R)
10
性质4:
例如:已知12≡60(mod 16),M=16,取C=6,a=2, b=10,因为(M,C)=2,则有2≡10(mod 8),其中 M/(M,C)=16/2=8。 或者,取C=12, M=16,因为(M,C)=4,则有1≡5(mod 4),其中M/(M,C)=16/4=4。
11
求余运算
24
1、特征量检验(参数检验)
25
26
:检验随机数在(0,1)区间内分布时均匀的
(一)卡方检验法:
注:若卡方值过大,则拒绝原假设(即分布不是均匀的)
27
(二) Kolmogorov-Smirnov test
K-S检验是连续分布的拟合性检验。检验样 本的经验分布函数与总体的分布函数间的 差异是否显著。
第三章 随机数的产生与检验
1.概论 2.均匀随机数的产生 3.均匀随机数的检验 4.非均匀随机数的产生
1
第一节 概论
(一)基本概念和定理
1. 意义:由于在统计学的不同技术中需要 使用随机数,比如从统计总体中随机抽取 样本时,或者在将实验动物随机分配到不 同的试验组的过程中,或者在进行蒙特卡 罗模拟法计算的时候等等,所以。。。 2.定义:设随机变量X~F(x),则称随机变量X 的抽样序列{Xi}为分布F(x)的随机数。
2 .用第二个LCG产生一个随机整数 j ,要求 1 j k
3. 令 xn t j ,然后再用第一个LCG产生一个随机数 y , 令 t j y ;置 n n 1 ;
;
4 .重复2~3,得随机数列 xn ,即为组合同余发生器产生 的数列。若第一个LCG的模为 M ,令 rn xn M ,则 rn 为 均匀随机数。
a3 764261123 a4 630360016
20
补充2:组合发生器 :
思想: 先用一个随机数发生器产生的随机数列为 基础,再用另一个发生器对随机数列进行重新 排列得到的新数列作为实际使用的随机数。这 种把多个独立的发生器以某种方式组合在一起 作为实际使用的随机数,希望能够比任何一个 单独的随机数发生器得到周期长、统计性质更 优的随机数,即组合发生器。
33
R ks.test分布检验
ks.test(data, "pnorm", mean(data), sd(data))
34
35
假设检验Matlab-require
%M-file函数f的定义:判断概率函数 function f=p_judge(A,alpha)% 判别所给数据源在 置信率为0.05时的概率分布形式。 A=A(:);%数据集A的形式为n×1。
4
定理1.1说明了任意分布的随机数均可由均匀分布 U (0,1) 的随机数变换得到。常简称 U (0,1) 的随机数为均匀分布 随机数。
5
(二)产生随机数的一般方法:
手工方法:抽签、掷骰子、摇号等; 随机数表法:占用内存大,目前已很少使用; 物理方法:放射性衰变、电子设备的热噪音、 宇宙射线的触发时间等等;不能重复计算; 数学方法:使用最广。
37
Gama分布
phat=gamfit(A,alpha); p2=gamcdf(A,phat(1),phat(2)); [H2,s2]=kstest(A,[A,p2],alpha) if H2==0 disp('该数据源服从γ分布。') else disp('该数据源不服从γ分布。') end
38
wenku.baidu.com
sample(1:100, 20)#从1到100中无重复抽取20个数; runif(n, min=0, max=1)#产生n个0-1的均匀分布随机数; rnorm (n, mean = 0, sd = 1) #产生n个以0为均值,1为方差的正 态分布随机数; rexp: The Exponential Distribution (wiki link) (指数分布,独立 随机事件发生的时间间隔) rf:The F Distribution (wiki link) (F分布,两个卡方分布除以各 自自由度) rbeta: The Beta Distribution (wiki link) rbinom: The Binomial Distribution (wiki link) (二项分布) rcauchy: The Cauchy Distribution (wiki link) (柯西分布,N阶矩 都不存在的分布...) rchisq: The (non-central) Chi-Squared Distribution (wiki link) (卡 方分布,正态分布平方的分布) 32
rgamma: The Gamma Distribution (wiki link) (伽玛分布) rpois: The Poisson Distribution (wiki link) (泊松分布,单位 时间内随机事件发生的次数) rgeom: The Geometric Distribution (wiki link) (几何分布, 在第n次伯努利试验中,试验k次才得到第一次成功的机率) rhyper: The Hypergeometric Distribution (wiki link) (超几何 分布) rlnorm: The Log Normal Distribution (wiki link) (对数正态分 布,正态分布的指数的分布) rlogis: The Logistic Distribution (wiki link) (逻辑分布) rmultinom: The Multinomial Distribution (wiki link) (多变量 正态分布) rnbinom: The Negative Binomial Distribution (wiki link) (负 二项分布)
n 1,2,...
19
常用的素数模乘同余发生器 :
x n ai x n 1 (mod2 31 1) xn rn (i 1,2,3,4) n 1,2,... (2 31 1) x 0 2 31 1
a1 16807
a2 397204094
求余运算的式子A(mod M)定义为:
when A M when A M
A A A(modM ) A M A A M M M
其中
A A M 表示求 M
的整数部分。
12
线性同余法(Linear Congruence Generator,LCG) 的递推公式为:
xn (axn 1 c)(modM ) xn rn n 1,2,... M 初值x0
13
线性同余法的周期:
14
线性同余法产生的序列 x0 , x1, x2 , 一定会重复,因 为周期最多只有M个可能取值。
15
满周期
说明:满周期是T=M时。
16
补充1:混合同余发生器 与 素数模乘同余发生器 当c≠0时,下式称为混合同余发生器,当 c=0时,称为乘同余发生器,此时当模为 素数时,称它为素数模乘同余发生器。
xn (axn 1 c)(modM ) x rn n n 1,2,... M 初值x0
17
两个常用的混合同余发生器:
xn (515 x n1 1)(mod2 35 ) xn rn 35 n 1,2,... 2 x0 2 35
randperm(n)%产生1到n的均匀分布随机序列
a=normrnd(0,1,1,6)%正态分布随机数
36
正态分布
[mu,sigma]=normfit(A); p1=normcdf(A,mu,sigma); [H1,s1]=kstest(A,[A,p1],alpha) n=length(A); if H1==0 disp('该数据源服从正态分布。') else disp('该数据源不服从正态分布。') end