蒙特卡罗马尔科夫链模拟方法MCMC
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Monte Carlo Simulation Methods
(蒙特卡罗模拟方法)
主要内容:
1.各种随机数的生成方法.
2.MCMC方法.
1
2
从Buffon 投针问题谈起
Buffon 投针问题:平面上画很多平行线,间距为a .向此平面投掷长 为l (l < a) 的针, 求此针与任一平行线相交的概率p 。
2
2
[0,/2] [0,] sin ,
{:sin }.
l
l
a X A X
随机投针可以理解成针的中心点与最近的平行线的距离X 是均匀地分布在区间 上的r.v.,针与平行线的夹角是均匀地分布
在区间 上的r.v.,且X 与相互独立,于是针与平行线相交的充要条件为 即相交
3
Buffon 投针问题
2
sin
2
2(sin )
2
l
l
l p P X
dxd
a
a 于是有:
2l
ap
若我们独立重复地作n 次投针试验,记()n
A 为A 发生的次数。()n f A 为A
在n 次中出现的频率。假如我们取()n f A 作为()p P A 的估计,即ˆ()n p
f A 。 然后取2ˆ
()n l
af A 作为的估计。根据大数定律,当n 时,..
ˆ()
.a s n p
f A p
从而有2ˆ
()
P
n l af A 。这样可以用随机试验的方法求得的估计。历史上
有如下的试验结果。
4
3.14159292
1808
3408
0.83
1925
Lazzarini
3.1595148910300.751884Fox 3.15665121832040.601855Smith 3.15956253250000.801850Wolf π的估计值相交次数投针次数针长时间(年)试验者
5
数值积分问题
1
()()
() ~[0,1] } (1)
() n n
i i n f x dx Ef X f x X U k n i i d f U n
with probability as n 1
k k 计算积分
我们可以将此积分看成 的数学期望。其中
(均匀分布)。于是可以将上式积分看作是f (X )的数学期望.若{U,1为U~U
[0,1].则可以取
作为的估计,
由大数定律,可以保证收敛性,即:这表明可以用随机模拟的方法计算积分。
6
Monte Carlo 数值积分的优点
与一般的数值积分方法比较,Monte Carlo 方法具有以下优点:
1. Monte Carlo 一般的数值方法很难推广到高维积分的情形,而方法很容易推广到高维情形2/1/2
2. ()() d
O n O n
一般的数值积分方法的收敛阶为 ,而
由中心极限定理可以保证 M on te C arl o 方法的
收敛阶为 。此收敛阶与维数无关,且在
高维时明显优于一般的数值方法。
随机模拟计算的基本思路
1.针对实际问题建立一个简单且便于实现的概率统计模型,使所求的量(或解)恰好是该模型某个指标的概率分布或者数字特征。
2.对模型中的随机变量建立抽样方法,在计算机上进行模拟测试,抽取足够多的随机数,对有关事件进行统计
3.对模拟试验结果加以分析,给出所求解的估计及其精度(方差)的估计
4.必要时,还应改进模型以降低估计方差和减少试验费用,提高模拟计算的效率
7
随机数的生成
1.蒙特卡罗模拟的关键是生成优良的随机数。
2.在计算机实现中,我们是通过确定性的算法生成
随机数,所以这样生成的序列在本质上不是随机
的,只是很好的模仿了随机数的性质(如可以通过
统计检验)。我们通常称之为伪随机数(pseudo-random numbers)。
3.在模拟中,我们需要产生各种概率分布的随机数,而大多数概率分布的随机数产生均基于均匀分布
U(0,1)的随机数。
8
9
U(0,1)随机数的生成
一个简单的随机数生成器:
1101 mod ,, /i
i
i i i x ax m u a x x m x m
其中 均为整数, 可以任意选取。
111 () , ()
i i i i x f x u g x 随机数生成器的一般形式:
10
一个简单的例子
1
i+1
16 mod11, u /11 6,11i
i i x x x a m ()
1 ,x 1,6,3,7,9,10,5,8,4当时得到序列:
,1,6,3.,2 (00)
3, 1 ,,1,3,9........3,2,2,1,3,9,5,42,6,7,10,8, 6.......
a x a
x 如果令 得到序列:如果令 得到序列:
11
一个简单的例子(续)
上面的例子中,第一个随机数生成器的周期长度是 10,而后两个生成器的周期长度只有它的一半。我们自然希望生成器的周期越长越好,这样我们得到的分布就更接近于真实的均匀分布。
0 (m a x 在给定 的情况下,生成器的周期与和初值种子)选择有关。