您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 总结/报告 > 蒙特卡罗方法介绍及其建模应用Part_I_2012-07-05
Monte-Carlo方法介绍及其建模应用朱连华Tel:13675122648南京信息工程大学数学与统计学院E-mail:ahualian@126.com2019/12/1612:13南京信息工程大学课程说明公用邮箱:ahualian2008@126.comkey:ahualian2008参考书目:黄燕、吴平.SAS统计分析及应用,机械工业出版社.陈杰.Matlab宝典,电子工业出版社.张文彤等.SPSS11.0统计分析教程,北京希望电子出版社.薛益、陈立萍.统计建模与R软件,清华大学出版社.2019/12/1612:13南京信息工程大学主要内容蒙特卡洛方法应用实例2排队论模拟介绍3蒙特卡洛方法介绍12009-B眼科病床安排应用42019/12/1612:13南京信息工程大学蒙特卡洛方法介绍蒙特卡洛起源与发展1蒙特卡洛模拟误差分析2随机数的产生原理32019/12/1612:13南京信息工程大学蒙特卡洛起源与发展12019/12/1612:13南京信息工程大学模拟的概念模拟就是利用物理的、数学的模型来类比、模仿现实系统及其演变过程,以寻求过程规律的一种方法。模拟的基本思想是建立一个试验模型,这个模型包含所研究系统的主要特点.通过对这个实验模型的运行,获得所要研究系统的必要信息2019/12/1612:13南京信息工程大学模拟的方法物理模拟–对实际系统及其过程用功能相似的实物系统去模仿。例如,军事演习、船艇实验、沙盘作业等–物理模拟通常花费较大、周期较长,且在物理模型上改变系统结构和系数都较困难–许多系统无法进行物理模拟,如社会经济系统、生态系统等数学模拟–在一定的假设条件下,运用数学运算模拟系统的运行,称为数学模拟。现代的数学模拟都是在计算机上进行的,称为计算机模拟–计算机模拟可以反复进行,改变系统的结构和系数都比较容易–在实际问题中,面对一些带随机因素的复杂系统,用分析方法建模常常需要作许多简化假设,与面临的实际问题可能相差甚远,以致解答根本无法应用。这时,计算机模拟几乎成为唯一的选择。2019/12/1612:13南京信息工程大学MonteCarlo的起源MonteCarlo方法:–又称随机模拟方法,对研究的系统进行随机观察抽样,通过对样本值的统计分析,求得所研究系统的某些参数–它是在上世纪四十年代中期为了适应当时原子能事业的发展而发展起来,“曼哈顿计划”主持人之一、数学家:冯·诺伊曼用驰名世界的赌城—摩纳哥最大的城市MonteCarlo—来命名这种方法Monte-Carlo,Monaco2019/12/1612:13南京信息工程大学MC的起源和发展在大众的心目中,科学的代言人是“心不在焉”的牛顿或者“爆炸式“发型的爱因斯坦但这只是传统形象,比他们更了解现代计算技术的冯·诺伊曼是个”衣着考究,风度翩翩“的人物,他说:–纯粹数学和应用数学的许多分支非常需要计算工具,用以打破目前由于纯粹分析的研究方法不能解决非线性问题而形成的停滞状态MonteCarlo方法是现代计算技术的最为杰出的成果之一,它在工程领域的作用是不可比拟的2019/12/1612:13南京信息工程大学MonteCarlo方法的应用物理:核物理,热力学与统计物理,粒子输运问题等数学:多重积分、解微分方程、非线性方程组求解等工程领域:真空技术,水力学,激光技术等经济学领域:期权定价、项目管理、投资风险决策等其他领域:化学、医学,生物,生产管理、系统科学、公用事业等方面,随着科学技术的发展,其应用范围将更加广泛。2019/12/1612:13南京信息工程大学MC的起源和发展事实上,MonteCarlo方法的基本思想很早以前就被人们所发现和利用:–早在17世纪,人们就知道用事件发生的“频率”来近似事件的“概率”–18世纪下半叶法国学者Buffon提出用投针试验的方法来确定圆周率π的值的Buffon投针试验是MonteCarlo方法的最早的尝试历史上曾有几位学者相继做过这样的试验:–试验费时费力–精度不够高–实施困难随着计算机技术的飞速发展,人们不需要具体实施这些试验,而只要在计算机上进行大量的、快速的模拟试验2019/12/1612:13南京信息工程大学Buffon试验假设平面上有无数条距离为1的等距平行线,现向该平面随机投掷一根长度为l的针(l1),则我们可计算该针与任一平行线相交的概率。这里,随机投针指的是:针的中心点与最近的平行线间的距离X均匀地分布在区间[0,1/2]上,针与平行线的夹角(不管相交与否)均匀的分布在区间[0,]上。此时,针与线相交的充要条件是2sinlX12)()(wfxfX2019/12/1612:13南京信息工程大学从而针线相交的概率为根据上式,若我们做大量的投针试验并记录针与线相交的次数,则由大数定理可以估计出针线相交的概率p,从而得到的估计值。ldxdwlXPpl22sin2ˆ0sin20Buffon试验2019/12/1612:13南京信息工程大学functionpiguji=buffon(llength,mm)%llength是针的长度%mm是随机实验次数frq=0;xrandnum=unifrnd(0,0.5,1,mm);phi=unifrnd(0,pi,1,mm);forii=1:mmif(xrandnum(1,ii)=(llength*sin(phi(1,ii))/2))frq=frq+1;endendpiguji=2*llength/(frq/mm)2019/12/1612:13南京信息工程大学buffon(.6,1000)piguji=3.1662buffon(.6,10000)piguji=3.1072buffon(.6,100000)piguji=3.1522buffon(.6,1000000)piguji=3.1386buffon(.6,1000000)piguji=3.1451buffon(.6,1000000)piguji=3.1418buffon(.6,1000000)piguji=3.1448buffon(.6,1000000)piguji=3.1405buffon(.6,1000000)piguji=3.13942019/12/1612:13南京信息工程大学①建立统计模型,主要特征参量方面要与实际问题或系统相一致,问题的解对应于模型中随机变量的概率分布或其某些数字特征②根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数,进而进行随机模拟实验③根据概率模型的特点和随机变量的分布特性,设计和选取合适的抽样方法,并对每个随机变量进行抽样(包括直接抽样、分层抽样、相关抽样、重要抽样等)④按照所建立模型进行仿真试验、计算,求出问题的随机解⑤统计分析模拟试验结果,给出问题的估计以及其精度估计。必要时,还应改进模型以降低估计方差和减少试验费用,提高模拟计算的效率。用蒙特卡洛方法进行计算机模拟的步骤2019/12/1612:13南京信息工程大学蒙特卡洛模拟误差分析22019/12/1612:13南京信息工程大学蒙特卡洛模拟的理论基础大数定律---贝努里(Bernoulli)大数定律中心极限定理1limpnnPAn()PAnpnn1~(0,1)()nkkXnNnn~(0,1)/nXNn2019/12/1612:13南京信息工程大学蒙特卡洛模拟的误差分析由中心极限定理可知:这表明,不等式近似地以概率1成立。上式也表明,收敛到的阶为O(n-1/2)。通常,蒙特卡罗方法的误差ε定义为:nuXnnX1)(unuXPNnu2019/12/1612:13南京信息工程大学蒙特卡洛模拟的误差分析关于蒙特卡罗方法的误差需说明两点:–1.蒙特卡罗方法的误差为概率误差,也即蒙特卡罗方法的收敛是概率意义下的收敛,虽然不能断言其误差不超过某个值,但能指出其误差以接近1的概率不超过某个界限例如:=0.5,误差此时,误差超过ε的概率与小于ε的概率1-相等,都等于0.5。–2.误差中的均方差是未知的,必须使用其估计值来代替,在计算所求量的同时,可计算出。./6745.0n2112)1(1ˆniiniiXnXn2019/12/1612:13南京信息工程大学蒙特卡洛模拟的误差分析减小方差的各种技巧–显然,当给定置信度后,误差由和n决定。要减小,或者是增大n,或者是减小方差2。•在固定的情况下,要把精度提高一个数量级,试验次数n需增加两个数量级。因此,单纯增大n不是一个有效的办法。•另一方面,如能减小估计的均方差,比如降低一半,那误差就减小一半,这相当于n增大四倍的效果(n(u/)2)。–一般来说,降低方差的技巧,往往会使观察一个子样的时间增加,在固定时间内,使观察的样本数减少。nu2019/12/1612:13南京信息工程大学蒙特卡洛模拟的效率分析蒙特卡罗方法中效率:用来衡量一种方法的优劣,其由方差和观察一个子样的费用(使用计算机的时间)两者来衡量,它定义为nc:nc=(u/)22c其中c是观察一个子样的平均费用,显然它与2c成正比。总而言之,作为提高蒙特卡洛方法效率的重要方向,是在减小标准差的同时兼顾考虑费用大小,使2c尽可能地小。nu2019/12/1612:13南京信息工程大学蒙特卡洛方法的特点MonteCarlo方法及其程序结构简单–产生随机数,通过大量简单重复抽样和简单计算计算相应的值收敛速度与问题维数无关–MonteCarlo方法的收敛速度为O(n-1/2),与一般数值方法相比很慢。因此,用MonteCarlo方法不能解决精确度要求很高的问题–MonteCarlo方法误差只与标准差和样本容量n有关,而与样本所在空间无关,即MonteCarlo方法的收敛速度与问题维数无关,而其他数值方法则不然。MonteCarlo方法的适用性强–MonteCarlo方法对多维问题的适用性–在解题时受问题条件限制的影响较小例如:要计算s维空间中的任一区域Ds上的积分2019/12/1612:13南京信息工程大学随机数的产生原理32019/12/1612:13南京信息工程大学常用分布的随机数生成1.均匀分布U(a,b)–产生m*n阶(a,b)均匀分布的随机数矩阵•R=unifrnd(a,b,m,n)–产生m*n阶(0,N)离散均匀分布的随机数矩阵•R=unidrnd(N)•R=unidrnd(N,mm,nn)适用范围:当只知道一个随机变量取值在(a,b)内,但不知道(也没理由假设)它在何处取值的概率大,在何处取值的概率小,就只好用U(a,b)来模拟它2019/12/1612:13南京信息工程大学常用分布的随机数生成2.正态分布N(μ,σ2)–产生m*n阶均值为μ,标准差为σ的正态分布的随机数矩阵:•R=normrnd(μ,σ,m,n)适用范围:当研究对象视为大量相互独立的随机变量之和,且其中每一种变量对总和的影响都很小时,可以认为该对象服从正态分布2019/12/1612:13南京信息工程大学常用分布的随机数生成3.指数分布E(θ)–产生m*n阶均值为θ的指数分布的随机数矩阵:•R=exprnd(θ,m,n)适用范围:排队服务系统中顾客到达间隔、质量与可靠性中电子元件的寿命通常服从指数分布。例:顾客到达某商店的间隔时间服从参数为10(分钟)的指数分布(指数分布的均值为10)–指两个顾客到达商店的平均间隔时间是10分钟.即平均10分钟到达1个顾客.顾客到达的间隔时间可用exprnd(10)模拟。2019/12/1612:13南京信息工程大学常用分布的随机数生成4.泊松分布π(λ)–产生m*n阶均值为λ的泊松分布的随机数矩阵•R=poissrnd(λ,m,n)适用范围:泊松分布在排队系统、产品检验、天文、物理等领域有广泛应用
本文标题:蒙特卡罗方法介绍及其建模应用Part_I_2012-07-05
链接地址:https://www.777doc.com/doc-2023914 .html