蒙特卡罗模拟方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12
常用的线性同余生成器
Modulus m 2^31-1
=2147483647
2147483399 2147483563
Multiplier a 16807
39373 742938285 950706376 1226874159
40692 40014
Reference Lewis, Goodman, and Miller L’Ecuyer Fishman and Moore ቤተ መጻሕፍቲ ባይዱishman and Moore Fishman and Moore L’Ecuyer L’Ecuyer
p P( X l sin )
l 2
sin
2 dxd
2l
2
0 0 a
a
2l
ap
若我们独立重复地作 n 次投针试验,记 n ( A) 为 A 发生的次数。 fn ( A) 为 A
在 n 次中出现的频率。假如我们取 fn ( A) 作为 p P(A) 的估计,即 pˆ fn ( A) 。
针长 投针次数 相交次数
0.80 5000
2532
0.60 3204
1218
0.75 1030
489
0.83 3408
1808
π的估计值 3.15956 3.15665 3.15951
3.14159292
4
数值积分问题
1
计算积分 f (x)dx Ef (X ) 0
我们可以将此积分看成 f (x) 的数学期望。其中
然后取 ˆ
2l afn ( A)
作为
的估计。根据大数定律,当 n 时,

fn ( A) a.s.
p.
从而有ˆ 2l P 。这样可以用随机试验的方法求得 的估计。历史上
afn ( A)
有如下的试验结果。
3
试验者 Wolf Smith Fox
Lazzarini
时间(年) 1850 1855 1884 1925
10
一个简单的例子(续)
上面的例子中,第一个随机数生成器的周期 长度是 10,而后两个生成器的周期长度只有 它的一半。我们自然希望生成器的周期越长 越好,这样我们得到的分布就更接近于真实 的均匀分布。
在给定 m 的情况下,生成器的周期与 a 和 初值 x0 (种子)选择有关。
11
线性同余生成器 (Linear Congruential Generator )
一般形式:
xi1 (axi c) mod m ui1 xi1 / m 1.可以证明 c 的选择对生成的随机数的均匀性影响 不大,所以为了提高计算速度,一般都令 c 0 。
2. 线性同余器可以达到的最长周期为 m 1 ,我们 可以通过适当的选择 m 和 a ,使无论选取怎样的 初值 x0 都可以达到最大周期(一般选取 m 为质数)
3.在模拟中,我们需要产生各种概率分布的随机数, 而大多数概率分布的随机数产生均基于均匀分布 U(0,1)的随机数。
8
U(0,1)随机数的生成
一个简单的随机数生成器:
xi1 axi mod m ui1 xi1 / m 其中 xi , a, m 均为整数, x0 可以任意选取。
随机数生成器的一般形式: xi1 f (xi ) , ui1 g(xi1)
9
一个简单的例子
xi1 6xi mod11, ui+1 xi1 /11 (a 6, m 11) 当 x0 1 时,得到序列: 1,6,3,7,9,10,5,8,4,2,1,6,3......
如果令 a 3, x0 1 ,得到序列: 1,3,9,5, 4,1,3,9........ 如果令 a 3, x0 2,得到序列: 2, 6, 7,10,8, 2, 6.......
随机投针可以理解成针的中心
点与最近的平行线的距离X是均匀
地分布在区间 [0, a / 2] 上的r.v.,针
与平行线的夹角是均匀地分布
在区间 [0, ] 上的r.v.,且X与相互独立,
于是针与平行线相交的充要条件为
X
l 2
sin
,
即相交
A { : X
l 2
sin
}.
2
Buffon 投针问题
于是有:
4.必要时,还应改进模型以降低估计方差和减少试验费 用,提高模拟计算的效率
7
随机数的生成
1.蒙特卡罗模拟的关键是生成优良的随机数。
2.在计算机实现中,我们是通过确定性的算法生成 随机数,所以这样生成的序列在本质上不是随机 的,只是很好的模仿了随机数的性质(如可以通过 统计检验)。我们通常称之为伪随机数(pseudorandom numbers)。
6
随机模拟计算的基本思路
1.针对实际问题建立一个简单且便于实现的概率统计模 型,使所求的量(或解)恰好是该模型某个指标的概率 分布或者数字特征。
2.对模型中的随机变量建立抽样方法,在计算机上进行 模拟测试,抽取足够多的随机数,对有关事件进行统计
3.对模拟试验结果加以分析,给出所求解的估计及其精 度(方差)的估计
Monte Carlo Simulation Methods (蒙特卡罗模拟方法)
主要内容: 1.各种随机数的生成方法. 2.MCMC方法.
1
从Buffon 投针问题谈起
Buffon 投针问题:平面上画很多平行线,间距为 a.向此平面投掷长 为 l ( l < a) 的针, 求此针与任一平行线相交的概率 p。
X ~ U[0,1] (均匀分布)。于是可以将上式积分看
作是f(X)的数学期望.若{Uk,1 k n}为i.i.d.Uk ~U[0,1].
则可以取n
1 n
n i 1
f (Ui )作为的估计,
由大数定律,可以保证收敛性,即:
n with probability as n
这表明可以用随机模拟的方法计算积分。
13
复杂一些的生成器(一)
1.Combining Generators:
考虑 J 个简单线性同余生成器:
x j,i1 a j x j,i mod m j , u j,i1 x j,i1 / m j j 1, 2....J
5
Monte Carlo数值积分的优点
与一般的数值积分方法比较,Monte Carlo方法 具有以下优点:
1. 一般的数值方法很难推广到高维积分的情形,而 Monte Carlo方法很容易推广到高维情形
2. 一般的数值积分方法的收敛阶为 O(n2/d ),而 由中心极限定理可以保证 Monte Carlo 方法的 收敛阶为 O(n1/2 ) 。此收敛阶与维数无关,且在 高维时明显优于一般的数值方法。
相关文档
最新文档