统计方法4 随机模拟2.doc
文本预览下载声明
统计方法4 随机模拟
随机模拟(random simulation)方法,又称为蒙特卡洛(Monte Carlo,MC)方法。它的基本思想是为了求解实践中问题,首先建立一个概率模型或随机过程,使它的参数等于问题的解,然后通过对模型的抽样试验获得这些参数的统计特征,最后给出解的近似值。解的精确度由估计值得标准误差来表示。其基本数学原理为强大数定律。Monte Carlo方法最早产生于二战期间美国研发原子弹的曼哈顿工程。电子计算机的出现使得模拟随机试验成为了重要的科学方法。
图:赌城Monte Carlo
Monte Carlo方法可以处理的问题基本可以可以分为两类:
第一类是随机性的问题。这一类问题往往直接利用概率法则通过随机抽样进行模拟。如核物理问题,随机服务系统中的排队问题,生物种群的繁衍与竞争,传染病的传播等都属于这一问题。
第二类是确定性的问题。首先建立一个与所求问题有关的概率模型,使所求解是该概率模型中的概率分布或者数学期望。然后对这个模型进行随机抽样。用算术平均值作为所求解的估计值。如求解多重积分,解线性方程组,解偏微分方程积分方程等复杂数学问题。
第一节 生成随机数
1.生成随机数的基本数学原理
较为普遍应用的产生随机数的方法是选取一个函数,使其将整数变换为随机数。以某种方法选取,并按照产生下一个随机数。最一般的方程具有如下形式:
(8.1)
其中
初始值或种子()
乘法器()
增值()
模数
对于数位的二进制整数,其模数通常为。例如,对于31位的计算机即可取。这里和都是整数,且具有相同的取值范围。所需的随机数序便可由下式得
(8.2)
该序列称为线性同余序列。例如,若且,则该序列为
7,6,9,0,7,6,9,0…… (8.3)
可以证明,同余序列总会进入一个循环套;也就是说,最终总会出现一个无休止重复的数字的循环。(8.3)式中序列周期长度为4。当然,一个有用的序列必是具有相对较长周期的序列。许多作者都用术语乘同余法和混合同余法分别指代和时的线性同余法。选取和的法则可参见[6,10]。
这里我们只关心在区间内服从均匀分布的随机数的产生。用字符来表示这些数字,则由式(8.2)可得
(8.4)
这样仅在数组中取值。(对于区间(0,1)内的随机数,一种快速检测其随机性的方法是看其均值是否为0.5。其它检测方法可参见[3,6]。)产生区间内均匀分布的随机数,可用下式
(8.5)
用计算机编码产生的随机数(利用式(8.2)和(8.4))并不是完全随机的;事实上,给定序列种子,序列的所有数字都是完全可预测的。一些作者为强调这一点,将这种计算机产生的序列称为伪随机数和,序列的随机性便足以通过一系列的统计检测。它们相对于真随机数具有可快速产生、需要时可再生的优点,尤其对于程序调试。
Monte Carlo 程序中通常需要产生服从给定概率分布的随机变量。该步可用[6],[13]-[15]中的几种方法加以实现,其中包括直接法和舍去法。
直接法(也称反演法或变换法),需要转换与随机变量相关的累积概率函数(即:为的概率)。显然表明,通过产生(0,1)内均匀分布随机数,经转换我们可得服从分布的随机样本。为了得到这样的具有概率分布的随机数,不妨设,即可得
(8.6)
其中具有分布函数。例如,若是均值为呈指数分布的随机变量,且
(8.7)
在中解出可得
(
显示全部