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

2017年9月7日木曜日

Markov Chains and Monte Carlo Methods 07日目

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

3.3 Importance sampling

rejection samplingでは,target f(x)のかわりにinstrument g(x)からサンプリングし,f(x)に合致しなそうなサンプルを棄却することでf(x)からのサンプリングを行った. importance samplingではg(x)からのサンプルを重み付けしてf(x)からのサンプリングを実現する. impotrance samplingの最も重要な基礎は
P(XA)=Af(x)dx=Ag(x)f(x)g(x)_:w(x)dx=Ag(x)w(x)dx
f(x)>0g(x)>0,a.e.なる全てのgに成立することである. これはまた,任意の可測関数hに,
Ef[h(X)]=Sf(x)h(x)dx=Sg(x)f(x)g(x)h(x)dx=Sg(x)w(x)h(x)=Eg[w(X)h(X)]
と一般化出来る.
X1,...,Xngがあって,Eg|w(X)h(X)|が存在するとき
1nni=1w(Xi)h(Xi)a.s.Eg[w(X)h(X)]
が大数の強法則から言える. Eg[w(X)h(X)]=Ef[h(X)]だから
1nn1w(Xi)h(Xi)a.s.Ef[h(X)]
つまりμ=Ef[h(X)]
˜μ=1nn1w(Xi)h(Xi)
で近似できる.
Eg(w(X))=Sf(x)g(x)g(x)dx=Sf=1だが,w(X1),...,w(Xn)の総和は必ずしもnではないので,self-normalized
ˆμ=1ni=1w(Xi)ni=1w(Xi)h(Xi)
を正当化でき,以下のアルゴリズムが導かれる.

Algorithm 3.2 (Impotrance sampling)

supp(fh)supp(g)なるgを選んで,
1. i=1,...,n
(i) Xigを生成する
(ii) w(Xi)=f(Xi)/g(Xi)とする
2.
ˆμ=ni=1w(Xi)h(Xi)ni=1w(Xi)
あるいは
˜μ=ni=1w(Xi)h(Xi)n
を返す.

Theorem 3.3 (Bias and Variance of Importance Sampling)

(a) Eg(˜μ)=μ
(b) varg[˜μ]=varg[w(X)h(X)]n
(c) Eg(ˆμ)=μ+μvarg[w(X)]covg[w(X),w(X)h(X)]n+O(n2)
(d) varg[ˆμ]=varg[w(X)h(X)]2μcovg[w(X),w(X)h(X))+μ2varg[w(X)]]n+O(n2)

proof.

(a) Eg[1nni=1w(Xi)h(Xi))]=1niEg[w(Xi)h(Xi)]=Ef[h(X)]
(b) varg[1nni=1w(Xi)h(Xi)]=1n2ivarg(w(Xi)h(Xi))=varg[w(X)h(X)]n
(c, d) 略

この定理から,˜μは不偏だが分散が大きく,ˆμは不偏でないが分散が˜μより小さいことがわかる. さらに,f(x)=Cπ(x)とすると
ˆμ=w(Xi)h(Xi)w(Xi)=f(Xi)g(Xi)h(Xi)f(Xi)g(Xi)=Cπ(Xi)g(Xi)h(Xi)Cπ(Xi)g(Xi)=π(Xi)g(Xi)h(Xi)π(Xi)g(Xi)
だから,Cがわからなくともˆμは計算できる.
gはsupportの条件を満たせば良いが,普通˜μの分散を有限にするように選ぶ.これは以下の2つの条件のどちらかが成立すればよい.
- f(x)<Mg(x) and varf[h(X)]< ・・・・ gはrejection samplingにも使える
- Sがコンパクトで,fS上有界

さらにgが最良である,すなわちvar[˜μ]が最小になるようなgの選び方を考える.

Theorem 3.4 (Optimal proposal) 証明略

var[˜μ]を最小にするg
g(x)=|h(x)|f(x)S|h(t)|f(t)dt
で与えられる.

Corollary

importance samplingはsuper-efficientである. すなわちTh. 3.4 によるgを使うと,˜μfから直接サンプリングしたときの分散よりも小さくなる.

nvarf[h(X1)++h(Xn)n]=Ef(h(X)2)μ2Jensen's inequality(Ef[|h(X)|])2μ2=(S|h(x)|f(x)dx)2μ2=nvarg[˜μ]

gのnormalisaton constantを知らなければならず,またgからのサンプリングが難しいことも有るので,gに近い別のgをinstrumental として使うことが有る.

Example 3.5 (Computing Ef|X| for Xt3)

Xは自由度3のt分布(t3とする)に従うとして,Ef[X]をMonte Carlo methodで計算する. 以下の3つの方法が考えられる.
- X_1,…,X_nをt3から直接サンプリングし, 1nni=1|Xi|で推測する
- t1(Cauchy分布に同値)をinstrumentalにしてimportance samplingする.
- N(0,1)をinstrumental にしてimportance samplingする.このときvar[˜μ]=

2つのinstrumentalとtargetのグラフはfig. 3.4の通り.

enter image description here

0 件のコメント:

コメントを投稿