资源描述
随机变量与随机过程模拟随机变量与随机过程模拟主要内容主要内容1统计实验法与伪随机数统计实验法与伪随机数2离散型随机变量的模拟离散型随机变量的模拟3连续型随机变量的模拟连续型随机变量的模拟4随机过程模拟随机过程模拟一、统计实验法与伪随机数一、统计实验法与伪随机数解解析析法法随机现象随机现象随机事件随机事件随机变量分布函数随机变量分布函数状态描述?状态描述?如何求解?如何求解?数值计算数值计算逻辑判断逻辑判断物理物理实验实验法法随机事件概率的计算随机事件概率的计算随机变量分布函数的求得随机变量分布函数的求得数量化数量化逻辑性逻辑性计算机模拟方法计算机模拟方法(统计实验法)(统计实验法)一、统计实验法与伪随机数一、统计实验法与伪随机数统计实验法求解随机性模型有关问题基本思想:统计实验法求解随机性模型有关问题基本思想:如何取得我们关心的事件如何取得我们关心的事件A或随机变量或随机变量X的一的一列样本。列样本。步骤主要有:步骤主要有:1.构造便于模拟的概率模型:构造便于模拟的概率模型:根据问题需要引入一些分布可以确定的与根据问题需要引入一些分布可以确定的与X有关的随有关的随机变量;机变量;通过数值计算与逻辑判断表述这些随机变量与通过数值计算与逻辑判断表述这些随机变量与X之间之间的关系;的关系;2.用计算机产生给定分布随机变量的一列样本值;用计算机产生给定分布随机变量的一列样本值;3.根据模拟模型的特性对这些样本值进行处理,从而获根据模拟模型的特性对这些样本值进行处理,从而获得得X的一列样本值。的一列样本值。运用统计分析法对随机模型实施模拟时需要获得具运用统计分析法对随机模型实施模拟时需要获得具有给定分布随机变量的一列独立样本值,通常称不有给定分布随机变量的一列独立样本值,通常称不同分布随机变量的抽样实现值为不同分布的随机数,同分布随机变量的抽样实现值为不同分布的随机数,其中其中IIDU(0,1)均匀分布随机数是最基本的随机数,均匀分布随机数是最基本的随机数,通过对它进行适当变换,就可以得到任意分布的其通过对它进行适当变换,就可以得到任意分布的其他随机变量。他随机变量。目前大多数仿真中都是应用计算机程序来产生目前大多数仿真中都是应用计算机程序来产生IIDU(0,1)均匀分布随机数,即采用某种确定的规则,均匀分布随机数,即采用某种确定的规则,通过递推计算产生随机数序列。虽然它不是真正的通过递推计算产生随机数序列。虽然它不是真正的随机数,但由于其具有真正随机数的统计性质,因随机数,但由于其具有真正随机数的统计性质,因此可以把它当作随机数来使用,这样的数列称为伪此可以把它当作随机数来使用,这样的数列称为伪随机数。随机数。一、统计实验法与伪随机数一、统计实验法与伪随机数真正意义上的随机数(或者随机事件)在某真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是概率随机产生的,其结果是不可预测的,是不可见的。不可见的。计算机中的随机函数是按照一定算法模拟产计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可见的。我们可生的,其结果是确定的,是可见的。我们可以这样认为这个可预见的结果其出现的概率以这样认为这个可预见的结果其出现的概率是是100%。所以用计算机随机函数所产生的。所以用计算机随机函数所产生的“随机数随机数”并不随机,是伪随机数。并不随机,是伪随机数。一、统计实验法与伪随机数一、统计实验法与伪随机数产生伪随机数的方法很多,一般来说应满产生伪随机数的方法很多,一般来说应满足以下几点要求:足以下几点要求:1.具有较好的随机性与均匀性;具有较好的随机性与均匀性;2.产生伪随机数的速度要快;产生伪随机数的速度要快;3.占用计算机内存尽可能少;占用计算机内存尽可能少;4.一批随机数的循环周期尽可能长。一批随机数的循环周期尽可能长。一、统计实验法与伪随机数一、统计实验法与伪随机数目前在实际应用中多采用乘法线性同余法,目前在实际应用中多采用乘法线性同余法,其递推公式为:其递推公式为:xi+1=a xi modm式中式中a、x0、m分别称为乘子、种子和模,分别称为乘子、种子和模,他们的选取是否合适影响到伪随机数序列他们的选取是否合适影响到伪随机数序列的均匀、独立性与循环周期。的均匀、独立性与循环周期。一、统计实验法与伪随机数一、统计实验法与伪随机数/rand01.c#include static unsigned int RAND_SEED;unsigned int random(void)RAND_SEED=(RAND_SEED*123+59)%65536;return(RAND_SEED);void random_start(void)int temp2;movedata(0 x0040,0 x006c,FP_SEG(temp),FP_OFF(temp),4);RAND_SEED=temp0;main()unsigned int i,n;random_start();for(i=0;i10;i+)printf(%ut,random();printf(n);一、统计实验法与伪随机数一、统计实验法与伪随机数一般地,除一般地,除IIDU(0,1)均匀分布外,伪随机数的生均匀分布外,伪随机数的生成方法主要有以下成方法主要有以下3种:种:(1)直接法(直接法(DirectMethod),根据分布函数的物理),根据分布函数的物理意义生成。缺点是仅适用于某些具有特殊分布的随机数,意义生成。缺点是仅适用于某些具有特殊分布的随机数,如二项式分布、泊松分布。如二项式分布、泊松分布。(2)逆转法(逆转法(InversionMethod),假设),假设U服从服从0,1区间上的均匀分布,令区间上的均匀分布,令X=F-1(U),则),则X的累计分布的累计分布函数(函数(CDF)为)为F。该方法原理简单、编程方便、适用。该方法原理简单、编程方便、适用性广。性广。(3)接受拒绝法()接受拒绝法(Acceptance-RejectionMethod):):假设希望生成的随机数的概率密度函数(假设希望生成的随机数的概率密度函数(PDF)为)为f,则,则首先找到一个首先找到一个PDF为为g的随机数发生器与常数的随机数发生器与常数c,使得,使得(x)cg(x),然后根据接收拒绝算法求解。由于算),然后根据接收拒绝算法求解。由于算法平均运算法平均运算c次才能得到一个希望生成的随机数,因此次才能得到一个希望生成的随机数,因此c的取值必须尽可能小。显然,该算法的缺点是较难确定的取值必须尽可能小。显然,该算法的缺点是较难确定g与与c。因此,伪随机数生成器(因此,伪随机数生成器(PRNG)一般采用逆转)一般采用逆转法,其基础是均匀分布,均匀分布法,其基础是均匀分布,均匀分布PRNG的优劣决定了的优劣决定了整个随机数体系的优劣。整个随机数体系的优劣。一、统计实验法与伪随机数一、统计实验法与伪随机数目前计算机高级语言大多都具有产生伪随机数的标目前计算机高级语言大多都具有产生伪随机数的标准函数,专用仿真语言均设有伪随机数发生器,适准函数,专用仿真语言均设有伪随机数发生器,适合大多数情况下的仿真需求。合大多数情况下的仿真需求。计算机不会产生绝对随机的随机数,计算机只能产计算机不会产生绝对随机的随机数,计算机只能产生生“伪随机数伪随机数”。其实绝对随机的随机数只是一种。其实绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会产理想的随机数,即使计算机怎样发展,它也不会产生一串绝对随机的随机数。计算机只能生成相对的生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。随机数,即伪随机数。伪随机数并不是假随机数,这里的伪随机数并不是假随机数,这里的“伪伪”是有规律是有规律的意思,就是计算机产生的伪随机数既是随机的又的意思,就是计算机产生的伪随机数既是随机的又是有规律的。怎样理解呢?产生的伪随机数有时遵是有规律的。怎样理解呢?产生的伪随机数有时遵守一定的规律,有时不遵守任何规律;伪随机数有守一定的规律,有时不遵守任何规律;伪随机数有一部分遵守一定的规律;另一部分不遵守任何规律。一部分遵守一定的规律;另一部分不遵守任何规律。一、统计实验法与伪随机数一、统计实验法与伪随机数运用统计实验法对随机行问题作模拟求解是,运用统计实验法对随机行问题作模拟求解是,其模拟模型的建立一般来说应包含以下要素:其模拟模型的建立一般来说应包含以下要素:(1)模型与原问题应保持相同的概率特性;)模型与原问题应保持相同的概率特性;(2)模型中应明确随机变量与)模型中应明确随机变量与U0,1均匀分均匀分布随机变量的内在联系;布随机变量的内在联系;(3)这种内在联系应通过计算机的两大功)这种内在联系应通过计算机的两大功能能数值计算和逻辑判断来表述。数值计算和逻辑判断来表述。二、离散型随机变量的模拟二、离散型随机变量的模拟随机事件的模拟随机事件的模拟简单事件模拟简单事件模拟完备事件列模拟完备事件列模拟离散型随机变量的模拟离散型随机变量的模拟一般方法一般方法二点分布随机变量的模拟二点分布随机变量的模拟几何分布、二项分布、泊松分布几何分布、二项分布、泊松分布二、离散型随机变量的模拟二、离散型随机变量的模拟二、离散型随机变量的模拟二、离散型随机变量的模拟简单事件模拟 设事件设事件A A有有P(A)=p(0p1)P(A)=p(0p1)。所谓对事件。所谓对事件A A模拟的模拟的目的是要获取该事件目的是要获取该事件A A在一次实验中的结果:在一次实验中的结果:A A发生发生或或A A不发生。为实现上述目的,所构造的模拟模型可不发生。为实现上述目的,所构造的模拟模型可设计为一个新的事件设计为一个新的事件“U=pU=p”,记为事件,记为事件B B。利用。利用0,10,1均匀分布随机变量均匀分布随机变量U U之分布函数的下列特性之分布函数的下列特性考虑到考虑到0p10p1,故有,故有P(B)=P(U=p)=p=P(A)P(B)=P(U=p)=p=P(A)。二、离散型随机变量的模拟二、离散型随机变量的模拟以上设计的模型包含了3个要素:(1)由于P(A)=P(B),模型保持了原问题的概率特性;(2)模型包含了0,1均匀分布随机变量U,从而便于抽样;(3)U与A的内在联系:P(A)=P(U=p),此联系是通过逻辑判断U=p来实现的。二、离散型随机变量的模拟二、离散型随机变量的模拟利用这种表述很容易进行数学处理来获得A之样本。其思路和具体过程如下:二、离散型随机变量的模拟二、离散型随机变量的模拟完备事件列模拟设有互斥的随机事件设有互斥的随机事件A A0 0 A A1 1.有满足条件:有满足条件:则称次事件序列构成一组互不相容事件的完备群则称次事件序列构成一组互不相容事件的完备群(简称完备事件)。(简称完备事件)。二、离散型随机变量的模拟二、离散型随机变量的模拟构造新的事件列构造新的事件列B B0 0 B B1 1.,其中,其中这种构造形式的合理性可由如下等式看出:这种构造形式的合理性可由如下等式看出:二、离散型随机变量的模拟二、离散型随机变量的模拟 由于由于P(AP(Ai i)=)=P(BP(Bi i),故知,故知B Bi i保持了保持了A Ai i的概率特性,的概率特性,因此在一次实验中若事件因此在一次实验中若事件B Bi i发生了,则可以很自然地发生了,则可以很自然地认为认为A Ai i事件也就发生了。至于要判断是哪个事件事件也就发生了。至于要判断是哪个事件B Bi i发发生,可通过如下数学处理来进行:生,可通过如下数学处理来进行:(1 1)将)将0,10,1区间划分成若干小区间,各小区间区间划分成若干小区间,各小区间的分界点坐标依次为的分界点坐标依次为L L0 0,L,L1 1,.,.,L Ln n,使使 ,于是小区间于是小区间A Ai i=(L=(Li-1i-1,L,Li i)之长度即为之长度即为p pi i (2 2)抽取伪随机数)抽取伪随机数u u并观察并观察u u在在0,10,1区间中所落区间中所落之位置。若之位置。若u u落在子区间落在子区间A Ai i=(L=(Li-1i-1,L,Li i 内,则认为事件内,则认为事件B Bi i发生,从而可以认为事件发生,从而可以认为事件A Ai i发生。发生。二、离散型随机变量的模拟二、离散型随机变量的模拟完备事件列的模拟过程和相应的抽样方法具体过程如下:二、离散型随机变量的模拟二、离散型随机变量的模拟 设离散随机变量设离散随机变量X X有分布列有分布列 显然显然X X在一次实验中必须且只能在在一次实验中必须且只能在x x0 0,x,x1 1,x xn n中中取值,人们对取值,人们对X X模拟的目的是希望获取一次实验的结模拟的目的是希望获取一次实验的结果,即其样本值究竟取哪个果,即其样本值究竟取哪个x xi i?通过定义等价的完备事件列,可将问题抽象为:通过定义等价的完备事件列,可将问题抽象为:二、离散型随机变量的模拟二、离散型随机变量的模拟 根据u落在不同的子区间确定X的不同取值,这就是离散型随机变量的一般模拟方法。回顾回顾运用统计实验法对随机行问题作模拟求解是,运用统计实验法对随机行问题作模拟求解是,其模拟模型的建立一般来说应包含哪些要素其模拟模型的建立一般来说应包含哪些要素?(1)模型与原问题应保持相同的概率特性;)模型与原问题应保持相同的概率特性;(2)模型中应明确随机变量与)模型中应明确随机变量与U0,1均匀分均匀分布随机变量的内在联系;布随机变量的内在联系;(3)这种内在联系应通过计算机的两大功)这种内在联系应通过计算机的两大功能能数值计算和逻辑判断来表述。数值计算和逻辑判断来表述。二、离散型随机变量的模拟二、离散型随机变量的模拟简单事件模拟的思路和流程图:二、离散型随机变量的模拟二、离散型随机变量的模拟 两点分布随机变量的模拟 设随机变量X有两点分布:P(X=1)=p,P(X=0)=q,其中p+q=1。对X进行模拟的目的是希望得知在一次实验中X究竟取0与1中的哪一个值。构造模型?建立与U(0,1)分布的关系?二、离散型随机变量的模拟二、离散型随机变量的模拟 两点分布随机变量的模拟 若构造模型 其中P(A)=p,则易知P(X=1)=P(A)=p,P(X=0)=P()=1-p=q。利用对事件A的模拟可得一次实验中之结果信息:若A发生,则认为X取1,若A不发生,则认为X取0。二、离散型随机变量的模拟二、离散型随机变量的模拟 几何分布随机变量的模拟 设随机变量X有几何分布,即有分布列P(X=k)=qk-1p,k=1,2,。对X进行模拟的目的是希望得知在一次实验中X究竟取1,2,3中的哪一个正整数。将X视为贝努力实验中事件A首次发生时之实验序数,则当Xk时说明前k-1次实验A不发生,而在第k次实验时A发生。利用贝努力实验的独立重复性,有三、连续型随机变量的模拟三、连续型随机变量的模拟 连续型随机变量的模拟方法:逆变换法 函数变换法 舍选法 近似法 组合法三、连续型随机变量的模拟三、连续型随机变量的模拟 逆变换法:已知一个随机变量的概率分布函数,可借助与U(0,1)随机数来产生具有已知概率分布的随机数。用这种方法产生已知概率分布随机数的过程中要用到概率分布函数的逆函数,所以这种方法也称为逆变换法。逆变换法基于以下定理:若分布函数F(x)是连续的,且在0F(x)1时单调递增,而U是在(0,1)上均匀分布的随机变量,则随机变量X=F-1(U)具有分布函数F(x)。三、连续型随机变量的模拟三、连续型随机变量的模拟逆变换法导出的模拟模型为:X=F-1(U)式中包含了U,便于进行数学处理,且保留了原问题的概率特性。逆变换直接用公式产生随机变量的抽样序列,即给出任意一个ui,按照xi=F-1(ui)就可以在x轴上得到相应的xi值。逆变换法的缺点在于有时很难找到F-1的显示表示,或者即使找到,计算起来也很复杂,甚至难以实现。三、连续型随机变量的模拟三、连续型随机变量的模拟 利用逆变换法可以产生以下几种常用的连续型随机变量。均匀分布:设 ,令 ,作逆变换后有:三、连续型随机变量的模拟三、连续型随机变量的模拟 负指数分布:设 ,令 ,作逆变换后有:由于u和1-u都是(0,1)区间均匀随机数,故上式也可写成:四、随机过程模拟四、随机过程模拟 随机过程是指对随时间推进的随机现象的数学抽象。例如,某地第n年的年降水量xn由于受许多随机因素的影响,它本身具有随机性,因此xn,n=1,2,便是一个随机过程。类似地,森林中某种动物的头数,液体中受分子碰撞而作布朗运动的粒子位置,百货公司每天的顾客数等等,都随时间变化而形成随机过程。严格说来,现实中大多数过程都具有程度不同的随机性。与随机变量相比,随机过程是一族无限多个随机变量的总称。
展开阅读全文