概率统计中蒙特卡罗方法应用三例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
概率统计中蒙特卡罗方法应用三例
概率统计中蒙特卡罗方法应用三例
概率统计是应用性很强的学科,在教学中不仅要重视理论知识的传授,同时应引
导学生关注计算问题,熟悉统计软件。
为了达到这一目的,利用统计软件完成一些任务,能够激发学生的成就感,进而提高学习兴趣。
因此,结合教学内容进行一些概率
统计小实验,让学生熟悉统计软件及常用的计算方法,是改进概率统计教学的一个重
要部分。
本文选取在概率统计教学中遇到的三个典型问题,利用蒙特卡罗(ntearl)方法,借助于R软件,进行详细分析和本文由论文联盟收集整理模拟计算,以期对概率统计
的实验教学提供参考。
蒙特卡罗方法,是一种基于随机数的统计模拟方法。
在一些统计问题中,有时很
难给出完美的理论结果,这时可以通过随机模拟来给出近似的结果。
一般需要根据已
知的概率分布构造出相应的模拟样本,用它们的样本频率代替相应的概率作统计分析
和推断[1]。
随着概率统计学的发展,蒙特卡罗方法已成为普遍应用的方法之一。
甚至有时即使得到了问题的精确结果,也需要通过随机模拟来进行验证。
R软件是一个有着强大的统计分析及作图功能的软件系统,它在GNU协议(GeneralPubliLiense)下免费发行,由R核心小组成员开发及维护[2]。
由于其免费共享且功能强大的特点,R软件已经成为科研工作者最常使用的统计软件之一。
1民航送客问题
例1一辆民航送客车载有20位乘客从机场开出,沿途有10个车站可以下车。
到
达一个车站后若无乘客下车就不停车。
X表示停车的次数,求EX。
(假设每个乘客在
各个车站下车是等可能的,且各乘客是否下车相互独立)[3]。
解:设X■=0,第i个车站无人下车,1,第i个车站有人下车,i=1,2,,10.
则X=X■+X■++X■,
而由分析可知P(X■=0)=0.9■,P(X■=1)=1-0.9■,i=1,2,,10.易计算
得EX■=1-0.9■,所以EX=EX■+EX■++EX■=10(1-0.9■)=8.784(次)分析:此题属于数学期望性质的应用的题目,解法非常巧妙。
但是在教学过程中
发现,学生们总试图直接求出X的分布,然后计算期望。
然而X的分布并不容易得到,
因此解题过程进行不下去,使得学生的心里感觉不踏实。
而利用蒙特卡罗方法,我们
很容易就可以模拟出X的分布,进而得到EX的估计值。
模拟算法步骤:
(1)从1~10中有放回随机抽取20个数;(20个乘客各自下车的车站数)
(2)若在20个数中有(010)个不相同的数,则X=;(个车站有人下车)
(3)将步骤(1)、(2)重复n=10000次,得到X的10000个值;
(4)求10000个X值的平均值,即为EX的估计值。
R软件的模拟程序:
statin=seq(1,10)
sp=rep(1/10,10)
n=10000
x=rep(0,n)
fr(iin1:n){
x_saple=saple(statin,20,replae=TRUE,sp)
x[i]=su(statin%in%x_saple)
}
table(x)/n
ean(x)
表1是停车次数X的模拟分布。
这里,虽然X还可能取值1,2,3,4,但实际上
相应的概率非常小,接近于0,因此没有在表1中显示出来。
表1重复n=10000次时停车次数X的模拟分布
从表2可看出模拟计算结果与理论值很接近,且重复次数n越大与理论值越接近。
表2重复n次时EX的模拟结果
2估计量的有效性问题
例2已知随机变量X服从参数为的泊松分布,由简单随机样本X■,X■,,X■
给出未知参数的无偏估计量[4]。
分析:分别定义■=■■X■,S■=■■(X■-■)■,为样本均值和样本方差,
通常的做法是,由于E■=EX=,所以取样本均值■作为参数的无偏估计量。
但是也有
同学会想到,泊松分布中DX=,而ES■=DX=,所以S■也是的无偏估计量。
那么,到
底哪个估计量更好呢?这需要计算两个估计量的方差,谁的方差小谁就更有效。
易知
D(■)=■=■,但是D(S■)并不容易通过推导直接计算出来。
下面我们利用蒙特
卡罗方法来模拟计算估计量■和S■的标准差。
#p#分页标题#e#
模拟算法步骤:
(1)设定=0(=0.5),从参数为0的Pissn分布中随机抽取(=100)个随机数;
(2)利用这个随机数,计算其样本均值■和样本方差s■;
(3)将步骤(1)、(2)重复n=1000次,得到(■■,■■,,■■)和
(s■■,s■■,,s■■);
(4)计算(■■,■■,,■■)的样本均值和样本标准差;
(5)计算(s■■,s■■,,s■■)的样本均值和样本标准差,与第(4)步结果相比较。
利用R软件中的函数rpis(),ean(),var(),sd()等同样也可以写出模
拟程序来。
从结果看,两个估计量的均值都与0=0.5非常接近,但是S■的标准差要比■的
标准差大。
我们进一步对不同的参数重复上述过程,结果如表3。
可看出,随着参数
的增大,两个估计量的标准差都在增大,但S■的标准差总比■的标准差大,所以■
要比S■更有效。
表3参数对应的两个估计量的标准差的模拟结果
3用中心极限定理估算概率的问题
例3一颗骰子独立地掷四次,出现的点数总和记为X,估计P(10x18)
=_________。
br=""解:令Y■表示第i次掷出骰子的点数,i=1,,4,则易得E(Y■)=■,D(Y■)=■,
而X=■Y■,所以E(X)=14,D(X)=■,由中心极限定理,■■N(0,1),
所以P(10x18)=px-14■2(1.27)-1=0.796br=""分析:在解此题的过程中,学
生常会产生疑问,四个随机变量相加是否个数太少?估计的概率值是否接近真实值呢?这也正是蒙特卡罗方法可以解答的问题[5]。
这里,每颗骰子掷得的点数服从离散型均匀分布:P(Y■=k)=■,k=1,2,,6(i=1,2,3,4)
模拟算法步骤:
(1)从上述离散型随机变量分布中随机抽取4个随机数,求和得到X;
(2)将步骤(1)重复n=10000次,得到(X■,X■,,X■);
(3)数出其中满足10x■18的个数,除以n即得到p(10x18)的估计值。
br=""
利用R软件中的函数saple(),su(),length()等可以写出模拟程序。
表4给
出了重复n次时的模拟结果。
表4重复n次时模拟的概率值
从表4模拟的结果看,模拟概率值与由中心极限定理估计的概率0.796相差不大,说明此例用中心极限定理进行估算是适用的。
更进一步,虽然较繁琐,但我们容易得
出X的确切分布,并计算出P(10x18)的真实值约为0.7438。
br=""在概率统计课程
的学习中,通过学习蒙特卡罗方法,学生不仅能提出问题,也能通过随机模拟自己解
决问题。
当然,这些只是起到一个引导的作用。
我们的目的是为学生提供一个有用的
工具,并通过例子激发学生的兴趣,相信在需要的时候他们会自发学习和使用R软件
中众多的函数和功能。