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

2017年9月6日水曜日

Markov Chains and Monte Carlo Methods 05日目

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

Chapter 3. Fundamental Concepts: Transformation, Rejectino, and Reweighting

3.1 Transformation methods

U[0,1]の現れを生成する(サンプリングする)方法はすでに見た. CDF Fをもつ分布からサンプリングする方法を考える. transformation methodはそのようなアルゴリズムのひとつのクラスであって,transformation methodの最も単純なアルゴリズムがInversion Methodで,generalized inverse(一般化逆関数) F(u)=inf{x|F(x)u}を用いる.

Theorem 3.1 (Inversion Method)

UU[0,1]として,FはあるCDFとする. F(U)のCDFはまたFである.

proof.

F(u)xuF(x)だから,UU[0,1]
P(F(U)x)=P(UF(x))=F(x)

Example 3.1 (Exponential distribution)

パラメータλのexponential distribution(exp(λ))のCDFはFλ(x)=1exp(λx)    (x0)であって,Fλ(u)=log(1u)/λ. inversion methodから,これでU[0,1]からの現れを写像すればexp(λ)からのサンプリングを行える.

Inversion Methodはinverse CDFが効率的に計算できる分布に対してのみ効率が良いアルゴリズムである. 例えば正規分布はCDFもその逆関数も解析的に書けない. しかし,generalised inverseでない変換によって欲しい分布を実現する方法も有る.

Example 3.2 (Box-Muller Method for Sampling from Gaussian)

X1,X2N(0,1),IIDとする. この2つの実数の組を平面上の点と考えるとその極座標(R,θ)について,R,θは独立で,θU[0,2π], R2exp(1/2)である.
X1=R2cos(θ),X2=R2sin(θ)
が成立するから,U1,U2U[0,1]を使って
X1=2log(U1)cos(2πU2),X2=2log(U1)sin(2πU2)
で$X_1, X_2の現れが得られる.

transformation methodは,目的とする分布以外の,扱いやすい分布からサンプリングを行い,そのサンプルたちを目的とする分布のサンプルとなるように変換する技術である. 多くの場合,そのような変換をclosed formで得ることはできず,そのような場合,目的とする分布に似ているが実は異なる分布からサンプリングを行い,不合理なサンプルを棄却することで目的とする分布のサンプリングを行う方法が有る. これをrejection samplingといい,次節であつかう.

3.2 Rejection Sampling

rejection samplingは,instrumental distributionからサンプリングし,目的の分布の点ではなさそうなサンプルを棄却する. 目的分布のPDF fは既知とする. rejection samplingの根底には,
f(x)=f(x)01du=1010<u<f(x)du
がある. f(x)を,{(x,u)|0uf(x)}における一様分布の,xによる周辺分布と考えるのである. fig. 3.2はその概略図である.
enter image description here

Example 3.3 (Sampling from a Beta distribution)

Beta(a,b)
f(x)=Γ(a+b)Γ(a)Γ(b)xa1(1x)b1    (0<x<1)
ただし,Γ(a)=0ta1exp(t)dtはGamma関数である. Beta(a,b)のPDFは(a1)/(a+b2)をmodeとする単峰なグラフを持つ(fig. 3.2).
fig.3.2の影の部分からサンプルを取るには, ex.2.1と2.2でみたのと同じ技術を使う. つまり,明るいグレーの四角形に一様にサンプルの候補を置き,影になっている部分のみをサンプルとして保存するのである.
形式的には,XU[0,1],UU[0,2.4]から独立にサンプリングし,U<f(X)となるような(X,U)の組のみをサンプルとする.
P(U<f(X)|X=x)=P(U<f(x))=f(x)/2.4
は,(X,U)の組が,X=xという条件のもとでサンプルになる条件付き確率である.

ex.3.3の例では,BetaのPDFが短径に覆われることを利用したが,PDFが性の値を取るrange(support, 台という)が非有界な分布にはそのまま適用できない. しかしそのようなf(x)を,より簡単なg(x)によってMg(x)として抑えることでrejection samplingを実現できる.g(x)をproposal distribution(提案分布)という.

Algorithm 3.1 (Rejection sampling)

任意のxf(x)<Mg(x)が成り立つようなMRgを与えられたとき,fからのsampleを以下のようにして得る.
1. Xgを得る.
2. Xを,確率
f(X)Mg(X)
で受理して,受理しないときには1にもどる

proof.

Xを,棄却を考えずにgから得たXの集合とする.
P(XX and is accepted)=Xg(x)_xis from gf(x)Mg(x)_P(X is accepted|X=x)dx=Xf(x)dxM
さらに, SXが取りうる値全ての集合とすると(Xf(x)dx)Sf(x)dx=1で,
P(X is accepted)=P(XS and is accepted)=1/Mを代入すれば
P(XX|X is accepted)=P(XX and is accepted)P(X is accepted)=Xf(x)dx/M1/M=Xf(x)dx
よってこのアルゴリズムで生成された値たちの密度は(Xが一様なら)f.

Remark 3.2

f(x)=Cπ(x)について,π(x)しかわかっていないときには
π(X)Mg(X)
によってrejection samplingを行える.

Example 3.4 (Rejection sampling from the N(0,1) using a Cauchy proposal)

N(0,1)とCauchy distributionのPDFはそれぞれ
f(x)=12πexp(x22)g(x)=1π(1+x2)
であって,M=2πexp(1/2)とすれば,f(x)Mg(x)が言える. (fig.3.3)
一方で,N(0,1)をproposal distributionとしてCauchy distributionをrejection samplingすることはできない. g(x)<Mf(x)なるMが存在しないためである.

0 件のコメント:

コメントを投稿