
随机数和随机变数生成课件.ppt
61页确定性活动与随机活动 v确定性活动:是可以事先预言的,即在准确地重复一定的条件下,其变化的结果总是确定的,或者根据其过去的状态,相同的条件下可以预言将来的发展变化,我们把这一类活动称为确定性活动确定性活动的主要特征是活动的运动可以用一个确定的数学形式来描述:f(t),或是数学函数,或是数学图表等v随机性活动:其变化的结果是事先不可预言的,即在相同的条件下进行重复实验,每次结果未必相同,或者是知道其过去的状况,在相同的条件、未来的发展事先都不能确定,这一类活动我们称为随机性活动随机性活动的主要特征是这类活动的描述可以通过数学统计的方法描述n对于随机性活动进行研究所利用的数学工具是概率论及数理统计n对于实际系统中随机活动进行研究时,往往由于众多的随机因素使得数学描述和分析变得十分困难,这时我们往往求助于计算机仿真n仿真为这类复杂的随机系统的研究提供了一个方便有效的手段 n随机变量:对于随机活动的不同结果我们可以用不同的数值与其对应这样,就可以用一个变量来描述随机活动,变量按一定的概率取某个值对应于随机活动按一定的概率取某个结果n离散型随机变量:若随机变量只取有限个数值或可列无穷多个数值,则称此类随机变量为离散型随机变量。
n连续型随机变量:若随机变量可以取值于某个区间中的任一数,我们称为连续型随机变量离散型随机变量 数学定义n数学定义:如果一个随机变量x 的一切可能取值为x1,x2,xn,并且X取值xn的概率为Pn,则X为一个离散型随机变量,p1,p2,.,pn,.称为X的概率函数其中Pn必须满足下列两个条件:n(1)n(2)离散型随机变量 概率分布函数离散型随机变量X的累积分布函数定义,当X小于或等于某个给定值x的概率函数,记为P(Xx)=F(x)设随机变量X可能取值x1,x2,xn,则X的累积分布函数为其中为X 取值的概率由定义可见当xy时,F(x)F(y),即F(x)是个单调增加的函数连续型随机变量 定义定义:若存在非负函数f (x),使得随机变量X取值于任一区间(a,b)的概率为P(axb)=,则称X为连续型随机变量,f(x)称为X的密度函数对于密度函数f (x)有连续型随机变量 概率密度函数连续型随机变量的累积分布函数定义为随机变量小于或等于x的概率它用F(x)表示,即由累积分布函数定义可知,当时,累积分布函数是单调递增函数概率密度函数/累积分布函数随机变量X落入区间(a,b)内的概率是图中给出了一个连续随机变量的密度函数曲线和累积分布函数曲线。
密度函数f(x)的值不能为负,要注意的是f(x)的值可以大于1,但是在任意区间(a,b)上由f (x)曲线围出的面积(图中阴影部分)必然0,则又称为混合线性同余生成器,若c=0,则称为乘同余生成器目前使用的大多数线性同余生成器都是乘同余生成器n乘同余生成器的基本公式n素数取模乘同余生成器(primemodulusmultiplicativeLCG:PMMLCG),其算法思路如下:n取m是小于2b的最大素数,而a的选择要满足特定的要求n这样的乘同余生成器就称为素数取模乘同余生成器它的循环周期为m1,且每个循环中1,2,m-1这些整数严格地只出现一次nLaw(2009)建议在PMMLGC中,取m=231-1,取a=630,360,016,这样,周期长度约为21亿在Flexsim中,默认的随机数生成器也是这个PMMLGCn随机数流(stream)n仿真软件中一般会将整个随机数序列分成若干段,例如100,000个数一段,每段称为一个随机数流(stream),n每个流会指定一个编号,如0号流、1号流等等每个流中的数都是根据公式递推得到(要变换到0,1区间)n每个流的递推公式初始值,即种子(每个流实际上由该流的种子唯一确定),都是事先设定好的(有时也允许用户自己指定)。
当模型需要随机数时,通常要指定流号,以告知系统从哪个流递推计算取得下一个随机数n例如在Flexsim中调用指数分布函数的形式为exponential(location,scale,stream),其中第三个参数就是指定从哪个流求取下一个随机数(这个随机数还要变换成符合指数分布的形式),如果省略流参数,则默认使用0号随机数流n如果仿真模型中全部随机因素都使用一个流,例如0号流,那么随着模型的运行,0号流的随机数有可能会消耗完,这时会侵入下一个流取随机数,以保证随机数不重复n随机数流(stream)nFlexsim中系统已初始化了100个随机数流(0-99号)可供直接使用,若用户需要更多随机数流,就需要自己初始化更多的流,详细信息请参考Flexsim联机帮助组合多重递推生成器组合多重递推生成器n虽然PMMLCG生成器周期长度已经很大了,但是在现代计算环境下仍然显得不够用,因此人们仍然在不断探索周期更长的随机数生成器,其中一个比较著名的生成器是组合多重递推生成器(CombinedMultipleRecursiveGenerator:CombinedMRG)n这种生成器实际上是以某种方式组合了多个随机数生成器生成最终的随机数,其周期长度高达2191,这样每个流的长度也可以非常大,非常便于使用。
n在Flexsim5.0及以上的版本中,也提供了这种生成器组合多重递推生成器组合多重递推生成器n虽然PMMLCG生成器周期长度已经很大了,但是在现代计算环境下仍然显得不够用,因此人们仍然在不断探索周期更长的随机数生成器,其中一个比较著名的生成器是组合多重递推生成器(CombinedMultipleRecursiveGenerator:CombinedMRG)n这种生成器实际上是以某种方式组合了多个随机数生成器生成最终的随机数,其周期长度高达2191,这样每个流的长度也可以非常大,非常便于使用n在Flexsim5.0及以上的版本中,也提供了这种生成器随机变数的生成随机变数的生成n仿真模型运行过程中需要的是一个个来自不同分布的随机变数(randomvariates),当它需要一个来自某分布的随机变数时,系统就会调用随机数生成器从指定流中递推计算取得下一个随机数(randomnumber),然后经过某种变换转换成所需的随机变数供给模型使用n那么,系统是如何将0,1区间上均匀分布的随机数转换成不同分布的随机变数的呢,研究人员开发了许多方法来执行这种转换,如逆变换法、卷积法、合成法、取舍法等由于这些方法都是标准方法,各种仿真软件实施的差别不大,建模人员无需对其做过多了解,感兴趣的读者可以参考(班克斯等2007)和(Law2009)常见随机变量的分布正态分布补充资料:各种离散分布随机数的产生n在生产系统离散仿真时,我们常常使用离散分布的随机变量来描述实际系统中的某些量。
例如在企业原材料管理系统中,在一定时间内,到达仓库的物料数就是一个离散随机变量该随机变量的到达时间是一个随机数,此随机数满足一定的概率分布我们可以利用(0,1)均匀分布随机数来产生各种离散分布的随机数 n离散分布的随机数可以分为:均匀分布的离散随机数、非均匀分布的离散随机数均匀离散分布的随机数的产生给定N个连续整数x1,x2,xN,我们以相等的概率从中选出一个数,这样重复下去,所产生的数列就是一个离散均匀分布的随机数序列每次取样值 ,式中yk是 (0,1)均匀分布的随机数, 产生(0,1)均匀分布的随机数选定产生均匀分布随机数的范围: x1 、xN非均匀离散分布的随机数的产生 给定N个x1,x2,xN,我们以相对应的概率P1,P2,PN,满足 ,从中选出一个数作为输出,这样重复下去,所产生的数列就是一个离散非均匀分布的随机数序列非均匀离散分布的随机数的产生方法 设所求非均匀离散分布随机数的累积概率分布函数为F(x),其中:F(0)=F0=0,Fk= (k=1,2,N)设yi是一个(0,1)均匀分布随机数考察yi,如果 ,则把相应的xk选出作为此次取样的输出值 生成n个(0,1)均匀分布的随机数若随机数yi值Fk-1,Fk),取xk数xk服从特定分布非均匀的连续分布随机数及其产生 对于非均匀的连续分布的随机数,我们同样借助于(0,1)均匀分布随机数进行变换或计算来产生。
一般采用的变化方法为1 反函数法(逆变法) 2 函数变换法 3 卷积法 反函数法(逆变法) 反函数法也称为概率积分变换法,这种方法所基于的原理是概率积分变换定理,可以简述如下:1给定(0,1)均匀分布随机数yn(n=1,2,.),如果F-1(yn)是随机变量X的反累积分布函数,则由公式2 xn= F-1(yn)所计算的随机数就是随机变量X的取样值 反函数法(逆变法)的步骤n求出y= F(x)的反函数:x= F-1(y)n利用(0,1)均匀分布随机数产生程序取得ynn利用x= F-1(y)可得到需要的随机数xn指数分布n指数分布的概率密度函数是n累积分布函数为n生成随机数的逆函数为图中取=0.5随机数的统计检验 用任何一种方法产生的随机数序列在把它用到实际问题中去之前都必须进行一些统计检验,看它是否能够令人满意地作为随机变量的独立取样值(显著性检验),是否有较好的独立性和均匀性从理论上说,统计检验并不能得出完全肯定的结论,但是却可以使我们有较大的把握获得具有较好统计性质的随机数序列 数字特征检验 数字特征检验是采样平均值、方差与理论平均值、方差差异的显著性检验 在(0,1)区间上均匀分布的随机变量X和X2的平均值及方差分别为 数字特征检验如果N个随机数x1,x2,xN是X的N个独立观测值,令 则它们的平均值和方差为 数字特征检验根据中心极限定理:渐近地服从正态N(0,1)当N足够大。
故当给定显著性水平后,即可根据正态分布表确定临界值,据此判断与X的平均值E(X)和与的平均值E(X2)之差异是否显著,从而决定能否把x1,x2,xN看作是(0,1)均匀分布随机变量X的N个独立取样值分布均匀性检验 分布均匀性检验又称频率检验,是对经验频率和理论频率之间的差异进行检验 把(0,1)区间划分成k等分,以 ( i=1,2,k)表示第i个小区间如果xs是区间(0,1)上均匀分布的随机变量X的一个取样值,则xs值落在任一小区间的概率Pi均应等于这些小区间的长度1/k,故xsN个值落在任何一个小区间的平均数 设实际上x1,x2,xN中属于第i个小区间的数目为ni,则统计量 渐近地服从自由度为K-1的 分布 由 的值可以衡量实际频率与理论频率的差异,也就是可以度量实际随机数分布的均匀程度,当两者完全符合时, =0 问题的值处在多大范围内可以认为的随机数抽样值是符合均匀性要求呢?首先确定一个判定标准(称为显著度),并且根据参数的值(称为自由度,=k-1),从 表中查得 的值如果计算所得到的 值小于 ,就认为符合均匀性假设因为它符合下式 如果=0.05,则上式表示的概率为0.95,也就是说,对给定显著度而言,可以认为这一随机数样本是均匀的。
通常可取=0.050.1 独立性检验 一个随机数序列可以是均匀分布,但却不一定是独立的,也就是说有可能是互相关联的两个随机变量得相关系数反映了它们之间的线性相关程度如果它们相互独立,那么它们的相关系数应为0(反之不一定)所以其值大小可以衡量相关程度这里对独立性检验主要是对随机数序列中相隔一定间隔的数之间的相关系数进行检验独立性检验 设给定N个随机数x1,x2,xN,我们计算前后距离为K的样本相关系数rK: , k=1,2, 式中 为随机数的方差,为随机数的平均值, 独立性检验 如果各xi相互独立,则相关系数rK应为0在原假设rK=0之下,当N充分大(例如N-K50)时,统计量 渐近地服从正态分布N(0,1)同时选定=0.05,则根据概率统计理论,当|U|196时(称为差异显著),拒绝假设 rK=0;反之,则接受。
