MonteCarloSimulationMethods(蒙特卡罗模拟方法).ppt
《MonteCarloSimulationMethods(蒙特卡罗模拟方法).ppt》由会员分享,可在线阅读,更多相关《MonteCarloSimulationMethods(蒙特卡罗模拟方法).ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2从Buffon 投针问题谈起 220, /2 0, sin,:sin.llaXAX随机投针可以理解成针的中心点与最近的平行线的距离X是均匀地分布在区间 上的r.v.,针与平行线的夹角 是均匀地分布在区间 上的r.v.,且X与 相互独立,于是针与平行线相交的充要条件为 即相交 3Buffon 投针问题2sin0022(sin)2lllpP Xdxdaa 于是有:2lap4试验者时间(年)针长投针次数相交次数的估计值Wolf18500.80500025323.15956Smith18550.60320412183.15665Fox18840.7510304893.15951Lazzarini19
2、250.83340818083.141592925数值积分问题1( )()( ) 0,1 . . .1() nniinf x dxEf Xf xXUknii df Unwith probability as n 10kk 计算积分 我们可以将此积分看成 的数学期望。其中 (均匀分布)。于是可以将上式积分看作是f(X)的数学期望.若U ,1为U U0,1.则可以取作为 的估计,由大数定律,可以保证收敛性,即:这表明可以用随机模拟的方法计算积分。6Monte Carlo数值积分的优点与一般的数值积分方法比较,Monte Carlo方法具有以下优点:1. Monte Carlo一般的数值方法很难推广
3、到高维积分的情形,而方法很容易推广到高维情形2/1/22. ()() dO nO n一般的数值积分方法的收敛阶为 ,而由中心极限定理可以保证 Monte Carlo 方法的收敛阶为 。此收敛阶与维数无关,且在高维时明显优于一般的数值方法。7随机模拟计算的基本思路1.针对实际问题建立一个简单且便于实现的概率统计模型,使所求的量(或解)恰好是该模型某个指标的概率分布或者数字特征。2.对模型中的随机变量建立抽样方法,在计算机上进行模拟测试,抽取足够多的随机数,对有关事件进行统计3.对模拟试验结果加以分析,给出所求解的估计及其精度(方差)的估计4.必要时,还应改进模型以降低估计方差和减少试验费用,提高
4、模拟计算的效率8随机数的生成1.蒙特卡罗模拟的关键是生成优良的随机数。2.在计算机实现中,我们是通过确定性的算法生成 随机数,所以这样生成的序列在本质上不是随机 的,只是很好的模仿了随机数的性质(如可以通过 统计检验)。我们通常称之为伪随机数(pseudo-random numbers)。3.在模拟中,我们需要产生各种概率分布的随机数,而大多数概率分布的随机数产生均基于均匀分布U(0,1)的随机数。9U(0,1)随机数的生成一个简单的随机数生成器:1101 mod , , /iiiiixaxmuaxxmxm其中 均为整数, 可以任意选取。111 ( ) , () iiiixf xug x随机数
5、生成器的一般形式:10一个简单的例子1i+116 mod11, u/11 6,11iiixxxam()0 1 ,x 1,6,3,7,9,10,5,8,4当时 得到序列:,1,6,3.,2.003,1 ,1,3,9.3,2,2,1,3,9,5,42,6,7,10,8,6.axax如果令 得到序列:如果令 得到序列:11一个简单的例子(续)上面的例子中,第一个随机数生成器的周期长度是 10,而后两个生成器的周期长度只有它的一半。我们自然希望生成器的周期越长越好,这样我们得到的分布就更接近于真实的均匀分布。0 (max在给定 的情况下,生成器的周期与和初值种子)选择有关。12线性同余生成器(Line
6、ar Congruential Generator )111 () mod /iiiixaxcmuxm一般形式:0 cc 1.可以证明 的选择对生成的随机数的均匀性影响不大,所以为了提高计算速度,一般都令 。02. 1 mmaxm线性同余器可以达到的最长周期为 ,我们可以通过适当的选择 和,使无论选取怎样的初值 都可以达到最大周期(一般选取 为质数)13常用的线性同余生成器Modulus mMultiplier aReference231-1=214748364716807Lewis, Goodman, and Miller39373LEcuyer742938285Fishman and Mo
7、ore950706376Fishman and Moore1226874159Fishman and Moore214748339940692LEcuyer214748356340014LEcuyer14复杂一些的生成器(一)1.Combining Generators:,1,1,111,11111111111 mod, / 1,2.( 1) mod(1)/ 0 (1)/ 0( )j ijj ijj ij ijJjij ijiiiijJxa xmuxmjJxxmuxmxmmxmm考虑个简单线性同余生成器:其中为所有中最大的一个15复杂一些的生成器(二)2.Multiple recursive
8、generator1122102(.) mo,.)d/iiiki kikkixa xa xa xmuxxxxm需(要选取种子12-1-1 (,.) 1ijiii kkkxmxxxmm每个有种选择,所以向量 可以取个不同的值,所以这样的随机数生成器的最大周期可以达到 ,大大提高了简单同余生成器的周期。16算法实现许多程序语言中都自带生成随机数的方法,如 c 中的 random() 函数,Matlab中的rand()函数等。但这些生成器生成的随机数效果很不一样,比如 c 中的函数生成的随机数性质就比较差,如果用 c ,最好自己再编一个程序。Matlab 中的 rand() 函数,经过了很多优化。可
9、以产生性质很好的随机数,可以直接利用。17由rand()函数生成的U0,1随机数18由rand函数生成的2维随机点19从U(0,1)到其它概率分布的随机数U(0,1)的均匀分布的随机数,是生成其他概率分布随机数的基础,下面我们主要介绍两种将U(0,1)随机数转换为其他分布的随机数的方法。1.逆变换方法 (Inverse Transform Method)2.舍取方法 (Acceptance-Rejection Method)20Inverse Transform Method11 ( ) ( )inf :( ), 01( )( )XF xFyx F xyyFyF x设随机变量 的分布函数为,定
10、义:即是的反函数。11 (0,1) ( ) ( ) UXFUF x定理 :设随机变量服从 上的均匀分布,则的分布函数为 。11( ) ()( )( )( )FUP XxP FUxP UF xF x 由 的定义和均匀分布的分布函明数可证:得:21Inverse Transform Method1 1 ( ) (0,1) ( ) F xUuFu由定理,要产生来自的随机数,只要先产生来自随机数,然后计算 即可。具体步骤如下:(1) (0,1)U上生成均匀分布的随机数 。-1(2) , ( ) ( ) XXUFFx计算则为来自 分布的随机数.22几个具体例子(一)-11 ( , ) 0 ( ) 1,
11、( )() 01 (0,1) ( - ) ( , ) XU a bxaxaF xaxbbaxbFyaba yyUUab a UU a b例 : 设,则其分布函数为 ,生成随机数,则是来自的随机数。23几个具体例子(二)/12 exp( ) ( )1, 0 ( )log(1) log(1) ( ) 1 xXXF xexFyyXUUUU 例 :设服从指数分布,则的分布函数为:通过计算得,则:服从指数分布 其中服从均匀分布又因为 和有着同样的分布,所以也可以取: log( )XU 24几个具体例子(三)12013 () ( ) ,. () 0, ( ) niiiijjiiXF xc ccP Xcpq
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MonteCarloSimulationMethods 蒙特卡罗 模拟 方法
限制150内