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(X∈A)=∫Af(x)dx=∫Ag(x)f(x)g(x)_:w(x)dx=∫Ag(x)w(x)dx
がf(x)>0⇒g(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,...,Xn∼gがあって,Eg|w(X)⋅h(X)|が存在するとき
1nn∑i=1w(Xi)h(Xi)→a.s.Eg[w(X)⋅h(X)]
が大数の強法則から言える. Eg[w(X)h(X)]=Ef[h(X)]だから
1nn∑1w(Xi)h(Xi)→a.s.Ef[h(X)]
つまりμ=Ef[h(X)]は
˜μ=1nn∑1w(Xi)h(Xi)
で近似できる.
Eg(w(X))=∫Sf(x)g(x)g(x)dx=∫Sf=1だが,w(X1),...,w(Xn)の総和は必ずしもnではないので,self-normalized版
ˆμ=1∑ni=1w(Xi)n∑i=1w(Xi)h(Xi)
を正当化でき,以下のアルゴリズムが導かれる.
Algorithm 3.2 (Impotrance sampling)
supp(f⋅h)⊂supp(g)なるgを選んで,
1. i=1,...,nに
(i) Xi∼gを生成する
(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(n−2)
(d) varg[ˆμ]=varg[w(X)h(X)]−2μcovg[w(X),w(X)h(X))+μ2varg[w(X)]]n+O(n−2)
proof.
(a) Eg[1nn∑i=1w(Xi)h(Xi))]=1n∑iEg[w(Xi)h(Xi)]=Ef[h(X)]
(b) varg[1nn∑i=1w(Xi)h(Xi)]=1n2∑ivarg(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がコンパクトで,fがS上有界
さらに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から直接サンプリングしたときの分散よりも小さくなる.
∵
n⋅varf[h(X1)+⋯+h(Xn)n]=Ef(h(X)2)−μ2≥Jensen's inequality(Ef[|h(X)|])2−μ2=(∫S|h(x)|f(x)dx)2−μ2=n⋅varg∗[˜μ]
g∗のnormalisaton constantを知らなければならず,またg∗からのサンプリングが難しいことも有るので,g∗に近い別のgをinstrumental として使うことが有る.
Example 3.5 (Computing Ef|X| for X∼t3)
Xは自由度3のt分布(t3とする)に従うとして,Ef[X]をMonte Carlo methodで計算する. 以下の3つの方法が考えられる.
- X_1,…,X_nをt3から直接サンプリングし, 1n∑ni=1|Xi|で推測する
- t1(Cauchy分布に同値)をinstrumentalにしてimportance samplingする.
- N(0,1)をinstrumental にしてimportance samplingする.このときvar[˜μ]=∞
2つのinstrumentalとtargetのグラフはfig. 3.4の通り.
0 件のコメント:
コメントを投稿