一元连续型随机数的生成与检验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计(综合实验)报告

( 2011 -- 2011年度第 1 学期)

名称:数学建模课程设计

题目:一元连续型随机数生成及检验院系:数理系

班级:

学号:

学生姓名:

指导教师:

设计周数: 2 周

成绩:

日期:2012 年1月12 日

摘要:

本文具体阐述了线性混合同余法生成随机数的过程,并对生成的随机数进行了参数检验、均匀性检验和独立性检验,验证了线性混合同余法生成随机数的正确性。

关键字:

随机数 均匀分布 伪随机数 2 检验

1、问题重述: (1)背景

人类研究产生随机数已有一段漫长的历史,最早的随机数产生基本上是手工实现的,如抽签、掷骰子、发纸牌以及从箱子里摸编号球等都属此类;20世纪初,统计学家和赌博者对随机数发生兴趣,制造出了很多能更快产生随机数的机械装置;随着计算机的广泛应用,随机数的产生更加得到重视,40~50年代,人们转向用数学方法来产生随机数。

(2)问题

设随机变量X (总体)服从某种随机分布,对其进行了n 次独立观察,得到一组简单随机样本n X X X ,...,,21,满足: 1) n X X X ,...,,21相互独立;

2) 每一个n X X X ,...,,21都与总体X 同分布.

利用某种方法得到一串数列n r r r ,...,,21,在一定的统计意义下可作为随机样本n X X X ,...,,21的一组样本值,称n r r r ,...,,21一组具有与X 相同分布的随机数.

现在需要寻求一种简便、经济、可靠, 并能在计算机上实现的产生随机数的方法.而最常用、最基础的随机数是在(0,1)区间内均匀分布的随机数。在得到一系列随机数后,我们又面临如何检验所得的随机数是否满足使用要求的问题。

2、问题分析

直接抽样法时,利用均匀随机数r 通过给定分布函数的逆)(1r F -来得到给定分布随机数的抽样法,其主要依据为下列统计中的结果。

定理:设)(x F 为一连续的分布函数,则 (1) 若X ~)(x F ,则)(X F R =~)1,0(U ; (2) 若R ~)1,0(U ,则)(1R F X -=~)(x F ; 其中)(1y F -=}{)10()(:inf ≤≤≥y y x F x 称为)(x F 的逆。

据此定理,生成均匀随机数r 后,由)(x F r =所能解出的)(1r F x -=即为给定分布)(x F 的随机数x 的直接抽样公式。

例:用直接抽样法产生指数分布x e x f λλ-=)(,)0(≥x 的随机数,其中0>λ为参数。

解:指数分布的分布函数x e x F λ--=1)(,)0(≥x ,

则对均匀随机数r ,由x e r λ--=1解得)1ln(r x --=。又因r 和r -1均服从(0,1)上的均匀分布,故r x ln 1

λ

-=,即为指数分布的直接抽样

公式,在产生均匀随机数r 后,由该公式即得指数分布的随机数x 。

而我们所真正需要的随机数应该不是真正的随机数,而是统计上满足使用需求的随机数,产生方便,使用方便,易于产生。并满足一下特性:

(1)分布均匀,尽可能接近)1,0(

U;

(2)统计上独立;

(3)产生速度足够快;

(4)可以重现;

(5)有足够长的周期;

(6)用内存尽可能的少。

严格意义上来说,现在所有的随机数发生器都不是在概率论意义下的真正随机数,而只能是称为伪随机数,因为无论哪一种随机数发生器都是采用递推算法——即有一定规律可言,这已经违反了概率论意义下随机的含义。

但是,如果算法选择合适,则通过该算法得到的数据,可以在一定程度下满足统计检验的要求,具有较好的统计特性,也就可以用于模拟。

由于“伪”随机数应该是随机数,又具有均匀、独立的特点,因此要进行以下三个方面的检验:

(1)参数检验;

(2)均匀性检验;

(3)独立性检验。

3、模型假设

把伪随机数近似看成随机数。

4、模型建立与求解

(1)分析

历史上常用的随机数的生成方法有平方取中法、乘法取中法、常数取中法和菲波那契法。这些方法虽然简单、直观、易于实现,但同时也存在数据内部特性难以控制,容易出现退化等问题。

此处我们使用混合线性同余法。 通式:

m

X U m c aX X i i i i /mod ][111+++=+=

其中: a 表示乘子;c 表示增量;0X 表示初值;m 表示模;通常4个参数都取整数。

因为参数的选择不同对产生的随机序列和统计特性有极大的影响,所以问题的关键在于如何选择参数以得到好的结果。 显然,根据通式m c aX X i i mod ][1+=+,可得:

0 ≤ i X ≤1-m ;

由于i X 为整数,因此由此所得到的随机数肯定是有限个数; 通式: m c aX X i i mod ][1+=+

=m m c aX c aX i i *]/)[()(+-+

令 c X a N i +⨯= 则:

m m N N X i ⨯-=+]/[1

i X 的范围 m X i <<+10;

1/11<=++m X U i i ;i X 为整数,所以1)max(1-=+m X i ,101-≤≤=m X i

而且, 其数据周期的重复出现;

(2)进一步讨论

因为i X 取值有限,因此肯定会在m 次迭代内出现重复值;又因为1+i X 取值,只与i X 相关,则一旦i X 重复出现,后续1+i X 都会完全重复。

1+i X 为整数,所以只能为{0,1,2,...,1-m }中的一个,则1+i U 也为有限长, 为{0,m /1,m /2,…,m m /1-}之一。

由此带来的问题:可能会不均匀,即最大的周期长度可能是m ,但是并不一定。

m 越大,1+i X 的选择范围越大,数字出现的频率越均匀, 1+i U 的可

选择范围也越大。反之如果m 取的小,则1+i U 很难为均匀分布。

通常,取m 尽可能的大,如:取b m 2=其中b 为计算机最大位长,如果取31=b ,m ≈ 2⨯910,即该随机数发生器能够产生21亿以上个不重复随机数。

1+i U 为周期式的重复,

在每个m 段中, 计算公式是相同的。且i X 肯定是不随机的,因为可以根据递归调用发现,只要m ,a ,C ,0X 一旦确定,则i X 是函数可得的,本质上不存在任何随机性。

5、模型检验

(1)分析:

由于在实际应用中,我们并不真正需要“真”的随机数,只要满足“某些条件”的“伪”随机数已经足够了。所以我们现在面临的问题是如何验证由混合线性同余法所得的随机数是否满足使用要求。 由于“伪”随机数应该是随机数,又具有均匀、独立的特点,因此要

相关文档
最新文档