Loading [MathJax]/jax/output/HTML-CSS/jax.js

2017年9月5日火曜日

Markov Chains and Monte Carlo Methods 04日目

Ioana A. Cosma and Ludger Evers, Markov Chains and Monte Carlo Methods
http://users.aims.ac.za/~ioana/notes.pdf
CC-by-nc-sa 2.5
http://creativecommons.org/licenses/by-nc-sa/2.5/za/legalcode

2.1 What are Monte Carlo Methods?

  • Stochastic integration
    積分をシミュレーションで近似する
  • Monte Carlo tests
    p値をシミュレーションで近似する
  • Markov Chain Monte Carlo(MCMC)
    興味有る分布に収束するMarkov chainを構成する

2.2 Introductory examples

Example 2.1 (A raindrop experiment for computing π)

πをMonte Carloによって推測する. ある雨粒が落ちる位置の確率変数を,xX,yYとする. ある正方形R=[1,1]×[1,1]に一様に雨粒が落ちると仮定して,その中の単位円にも一様に雨粒が落ちる. X,Yがiidでuniformally distribution ,U[1,1]に従うとする.
P(drop within circle)=area of the unit circearea of the square=x2+y211dxdy1x,y11dxdy=π/4
これはπ=4P(drop within circle)と同じ.
n個のraindropに対して,単位円に落ちる個数のr.v.をZとするとZはbinomialである.つまり
ZB(n,p),   p=P(drop within circle)
pを最尤法での推定値はˆp=Z/n. よってˆπ=4ˆp=4Zn.
law of large numbersによって,ˆπがほとんど必ずπに収束する. 中心極限定理によって,例えばn=100としてZB(100,p)とすれば,ZN(100p,100p(1p))で近似できる. よってˆp=ˆZ/100(p,p(1p)/100)であって,pの95%信頼区間は
[0.771.960.77(10.77)100,0.77+1.960.77(10.77)100]=[0.6875,0.8525]
さらにπの95%信頼区間は[2.750,3.410].
以上やってきたことは
- πをある期待値として表現した
- 代数的な表現を,それのsample approximationに書き換えた. そのsample approximationが収束することを大数の法則で保証し,CLTによって収束の測度を議論した.

Example 2.2 (Monte Carlo Integration)

10f(x)dx with f(x)=127(65536x8+262144x7409600x6+311296x5114688x4+16384x3)
をMonte Carlo integrationすることを考える.f([0,1])=[0,1]だから,[0,1]上のfのグラフは[0,1]×[0,1]に収まる. またraindrop experimentを考える. f(x)=f01dtだから
10f(x)dx=10f(x)01dtdx={(x,t):tf(x)}1dtdx={(x,t):tf(x)1dtdx0x,t11dtdx
分子はf(x)yのグラフの面積で,分母は[0,1]×[0,1]の面積である. n個の雨粒を落としてf(x)yに落ちる確率がˆpnなとき,(12α)信頼区間は
[^pnz1α^pn(1^pn)n,^pn+z1α^pn(1^pn)n]
だから,収束の早さはOP(n1/2). 一方Riemann積分の速度はO(n1).
Monte Carloの場合の収束の早さは次元に依存しない一方で,他の決定論的な積分評価の場合は次元の増加とともに収束が遅くなっていくので,高次元な関数の積分でMonte Carloは威力を発揮する.

Example 2.3 (Buffon’s needle)

3本の間隔δの平行な直線で平面が区切られていて,長さl<δの針を落とすとき,その針が直線と交わる確率はどれほどだろうか?

解答 (Buffon, 1777)

針が直線との角度θで着地したとき,針が直線と交わる針の一端と直線の距離がlsinθ以下(fig. 2.5(a)). したがって
P(intersect|θ)=lsinθδ
さらにθ[0,π)上一様分布していると仮定すると
P(intersect)=π0P(intersect|θ)1πdθ=π0lsinθδ1πdθ=lπδπ0sinθdθ=2lπδ

Lazzarini,1901はl=2.5cm,d=3cmの場合に,1808本の針を使ってπ3.14159292035を算出した. これは非常に良い近似である. 力学的にMonte Carlo法を行うのは非常に時間がかかるが,電子計算機の到来によってこの欠点は克服された. しかし,例からわかるように,それぞれの実験での確率変数の現れがたしかにもとの分布から生成されていなければならないので,乱数の生成が重要になってくる.

2.4 Pseudo-random numbers

ここではU[0,1]の現れを生成するpseudo-random number generator(RNG)を考える. これには以下の性質が必要である.
- RNGの生成する値は独立である
- RNGの生成する値は[0,1]にまんべんなく分布する

以下にlinear congruential generator(線形合同法)の概要を述べる. linear congruential generatorは上で述べた性質をあまり満たしていないので実践すべきではない.

Algorithm 2.1 (Conguruential pseudo-RNG)

  1. MN,cN0,Z0{1,...,M1}を選ぶ
  2. i=1,2,...
    Zi=(aZi1+c)modM,Xi=Zi/Mとする.

これは明らかに決定論的なアルゴリズムで,それぞれのパラメータを一致させれば完全に一致する出力をおこなう. また, 生成される値{Xi}は,(Xnk+1,...,Xn(k+1)1)n次元空間の点と考えることで,n次元立方体のテント見ることが出来る. これらの点は有限の-しばしばごく小さい数の-超平面に乗っていて,したがってまんべんなく分布していると見ることができない(fig. 2.6, fig. 2.7).
enter image description here
よりよいpseudo-RNGには,例えばMarsaglia and Zaman(1991)やMatsumoto and Nishimura(1998)がある.

0 件のコメント:

コメントを投稿