产生各种概率分布的随机数资料课件.ppt
34页5.35.3 产生各种概率分布的随机数产生各种概率分布的随机数广师Ray_xing 5.3.1 5.3.1 求逆法求逆法 求逆法是基于概率积分反变换的法则,是从许多种离散分布中获得采样值的基本方法求逆法的基本步骤如下:Ⅰ 计算所要的随机变量X的概率分布函数 F(X);Ⅱ 在X的取值范围内,置F(X)= R由于X是一个 随机变量,因此R也是一个随机变量,可以证明,R是区间(0,1)上的均匀分布;Ⅲ 解方程 F(X)= R,用R来表示X,即是求F(X)的逆; Ⅳ 产生所要的在(0,1)上的均匀分布随机数 并由下式计算所要的随机变量: 若X为一个随机变量,它的分布函数为F(X),记 为F(X)的反函数, U为[0,1]均匀分布随机变量,则随机变量 同X具有相同的分布函数事实上,我们有:算法: 1)产生U 2)例5.3:产生服从负指数的随机数x负指数密度函数:其分布函数: 易得F(x)的反函数为: 设U为[0,1]即为所求的随机数。
又因U是[0,1]上均匀分布的随机数,所以(1-U)也是[0,1]上均匀分布的随机数,故上式可以简化为 均匀分布,则例5.4 产生服从集合分布的随机数几何分布的密度函数为:其分布函数为:设U是[0,1]上均匀分布的随机数,令可求得又因(1-u)也是[0,1]上均匀分布的随机数,上式可简化为 求逆法的优点显而易见,但是在实际应用时往往会遇到一些困难问题在于分布函数的反函数难以求得,或者计算反函数的工作量过大,以至于无法实现 5.3.2 5.3.2 舍选法舍选法 舍选法的实质是从许多均匀分布的随机数中选出一部分,使其成为具有给定分布的随机数,它可生产任意有界的随机变量假设要生成随机变量X服从1/4到1之间的均匀分布,一种方法是:1) :产生随机数R2) :若R≥1/4,接受X=R;否则舍去R,转 回 13) :重复该过程至结束设某一随机数变量的密度函数f(x)满足:当x>b 或x
若随机变量X的概率密度函数f(x)中的X值的下限和上限各为a和b,f(x)的上界为M,则用舍选法产生X的随机数的步骤如下:1)产生两个独立随机数r1,r22)计算x0=a+r1(b-a),y0=M·r23) y0≤f(x0),则接收x0作为输出;否则舍去该组数据,重新从1开始,重复此过程aMybOxx0舍去舍去选取选取y=f(x0)y=f(x) 定理定理:设R2为(0,1)上均匀随机数,R为[a,b]区间上的均匀随机数,R与R2相互独立 是[a,b]区间上的某一随机变量的密度函数,取一正常数 ,使得 成立,则有: 证明:定理得证 由上面可以看到,舍选法不能每次都得到一个随机数,究竟多少次才能求得一个符合判别准则的随机数呢?注意到我们称之为舍选法的效率例5.5 求服从Beta分布的随机数Beta分布的密度函数为其中为参数,r, s>1解:计算f(x)的最大值求解步骤: 1)根据r,s,求f(x)的最大值M2)产生[0,1]均匀分布随机数R1, R2。 3)检验 是否成立若成立R1为Beta分布的随机数,否则转2例:用舍选法生成具有下面密度的随机数分析:由于随机变量在(0,1)上取值,不妨取确定C使得求微分得最大值点于是于是有 舍选法只用到了密度函数f(x),所以比较方便简单,但其效率低算法: 1)生成随机数 和 2)如果,停止迭代,令,否则返回1生成一个X步骤1的平均迭代次数为: 5.3.3 5.3.3 组合法组合法在本节中我们要用到凸组合的概念,它的定义如下:设、…、是中点集X的k个点,若存在、、…、满足,,使也属于X,则称为、 、…、(对于、、…、)的凸组合 组合法的主要思想是这样的,当我们要生成的随机数数列服从的分布函数可以用其它分布函数,,┅的凸组合表达,并且远比时,我们可以先生成服从的随机数数列,然后再的随机数数列要简单利用这些随机数数列得到服从具体来说,我们假定对所有x,可以写成:这里,,每一个是一个分布函数,,则假定它可以写成这里是其密度函数。 在离散情况下,组合法依同样若x为密度函数然适用 有时我们能给出组合法的几何解释,例如对于X上一个具有密度 的连续随机变量,我们可将 下的面积分为 、 、…区域,对应于将 分解为凸组合表示,然后我们可以认为第一步是选一个域,而第二步则是从所选域对应的分布中产生随机数例例 双指数(或拉普拉斯)分布具有密度函数 , x为实数由图5.5可见,除了因子0.5之外,可以看成是由两个背靠背的指数函数组成我们可把表示为:这里表示集合A的指示函数,它定义为:如其他于是,可看作和的凸组合,和都是密度函数,且因此,我们可用和的组合来产生XR2,如果,则令返回同样,,则令返回首先产生两个在[0,1] 上服从均匀分布的随机数R1,若图5.5双指数分布的概率密度函数 5.3.4 5.3.4 经验分布法经验分布法 经验分布法又称为表搜索法,主要用于产生离散分布的随机数,也可通过离散近似抽样产生连续分布的随机数现实中很多随机现象的理论分布往往是不知道的,而其经验分布常常是可以得到的,为了仿真这些随机现象,通常根据它们的经验分布来产生抽样值。 下面介绍用经验分布法来产生离散分布随机数的方法设随机变数X的取值的概率为,即(i = 1,2, …,k)且 将[0,1]区间划分为k个小区间,每个区间长度分别等于 、 、…、 令 , ,i = 1,2, ┅,k其中 称为累积分布函数,即 , +… 现任取[0,1]上均匀分布的随机变数 ,若 ,则 这是因为我们有综上所述,产生离散分布的随机数主要步骤如下:1)编制如表5.3所示的表格,并存入计算机内 为了缩短搜索时间,累积分布函数 可按, 排列计算;2)产生[0,1]上均匀分布的随机数r;3)进行表搜索,若 ,则 例:在研究消防队工作人员和消防员可能备选的调度策略的仿真中,收集到了消防队接到报警后的响应时间的5个观测值(min),数据如下:2.76 1.83 0.80 1.45 1.24 在收集更多的数据之前,希望以这5个观测值为基础的响应时间分布建立一个初始仿真模型。 首先,可以假设响应时间X的范围为0<=X<=c (c是未知的,但我们用观测值的最大值作为其估计值 ) 将观测数据由小到大排列,假定每个间隔的概率为1/n,n表示观测值的个数由此,可以得到经验分布函数的估计值i i 区区间概率概率1/n1/n累累积概率概率i/ni/n斜率斜率a ai i1 10.20.20.20.24.004.002 20.20.20.40.42.202.203 30.20.20.60.61.051.054 40.20.20.80.81.901.905 50.20.21.01.04.654.650.51.03.02.52.01.5x1.00.80.60.40.2F(x)0R1=0.71X1X1=1.45+1.90×(0.71-0.60)=1.66第i条线段的斜率是: 因此,当 i-1/n 下面主要介绍用该方法产生正态分布随机数的问题1、利用中心极限定理设为n个的在[0,1]区间上的均匀分布随机数,它们相互独立,则有根据中心极限定理服从标准正态分布N(0,1)如果作线性变换: 则可以得到一个服从正态分布N( )的随机变量 在实际应用中,只要取 就可以了2、Box-Muller近似方法 设R1,R2为在[0,1]区间上服从均匀分布的随机数,利用Box-Muller公式 可以产生 和 两个服从标准正态分布N(0,1)的随机数谢谢。





