なぜMCMCが必要か¶
積分計算の大変さ¶
ベイズ統計学では事後分布を推定してEAP推定量などの推定量を得るが、その際は積分の計算が出てくる(例えばEAPのための期待値計算での積分)
微分なら演算が閉じている(例えば dx2/dx=2x や dlogx/dx=1/x のように初等的な演算に還元される)が、積分は閉じていないので評価のコストが高い。
例えば、d 次元母数ベクトル θ=(θ1,θ2,⋯,θd) があったとして、1番目の母数θ1のEAP推定量を求めるためには
θ^1 eap =∫θ1f(θ1∣x)dθ1=∫θ1∫⋯∫f(θ∣x)f(θ1,θ2,⋯,θd∣x)dθddθd−1⋯dθ1 のように、事後分布f(θ∣x)のd次元の積分を評価しなければならない。この積分は一般的に、解析的に解くことができない。
事後分布から乱数を発生させて解く¶
そこで、事後分布 f(θ∣x)∝f(x∣θ)f(θ) から母数の乱数 θ(1),θ(2),… を発生させて、母数の実現値を取得することにする。
母数の実現値たちが事後分布を十分に近似できていれば、その標本平均をEAPの推定値とすることができる。
ただし、このアプローチをとるにあたっては課題が2つある
どうやって乱数を発生させるか?
事後分布の正規化定数は評価できないことが多い
正規化定数 ∫Rdf(x)dx は d次元の積分計算を含み、簡単には評価できない。
正規化定数が不明だと事後確率密度そのものは計算できないが、その状態で カーネルだけで事後分布をどう計算するか? という課題がある。
マルコフ連鎖¶
MCMC法では マルコフ連鎖(Markov chain) という確率過程を使う。マルコフ連鎖は
という確率過程。
t期の確率変数をYtとし、その確率過程を{Yt}t=0∞と表すことにする。また確率変数の実現値をytと表すことにする。
一般の確率過程においては、ある時点Tの確率変数YTの確率密度関数は
f(yT∣y0,y1,⋯,yT−1) と、過去の{yt}t=0T−1に依存した条件付き確率密度となる。
しかし、マルコフ連鎖においては1期前の確率変数の実現値にのみ依存する。
マルコフ連鎖(Markov chain)
ある時点Tの確率変数YTの確率密度関数が、一期前の実現値yt−1にのみ依存する、すなわち
f(yt∣y0,y1,⋯,yt−1)=f(yt∣yt−1) を満たす確率過程を マルコフ連鎖(Markov chain) という。
マルコフ連鎖の重要な性質¶
MCMC法に関わる性質
既約性(irreducibility)
非周期性(aperiodicity)
正再帰性(positive recurrence)
遷移核¶
{Yt}t=0Tの同時確率密度関数は、Y0の周辺確率密度関数をf0とすると、
f(y0,y1,…,yT)=f0(y0)f(y1∣y0)f(y2∣y0,y1)×…×f(yT∣y0,…,yT−1)=f0(y0)f(y1∣y0)f(y2∣y1)×…×f(yT∣yT−1)=f0(y0)t=1∏Tf(yt∣yt−1) となり、 f0 と f(yt∣yt−1) が与えられれば f(y0,y1,…,yT)=f0(y0)∏t=1Tf(yt∣yt−1) で一意に決まる。
この f(yt∣yt−1) のことを 遷移核(transition kernel, 推移核とも) という。
定常分布¶
マルコフ連鎖において、各状態に遷移していっても同じ分布のまま変わらなくなったときの分布を 定常分布という。
定常分布
ある特定の確率密度関数をfで表し、状態 θ から状態 θ′ へ移る確率(遷移核)を f(θ′∣θ)で表すとする。 このとき
f(θ′)=∫−∞+∞f(θ)f(θ′∣θ)dθ が成り立つとき、確率密度関数fをもつ確率分布をマルコフ連鎖の 定常分布 (stationary distribution) あるいは 不変分布 (invariant distribution) という。
t→∞においてfが定常分布に収束するとき、そのようなマルコフ連鎖は エルゴード性(ergodicity) を持つという。
エルゴード性(ergodicity)¶
既約性(irreducibility)
非周期性(aperiodicity)
正再帰性(positive recurrence)
を満たす連鎖においては、次の性質を持つ
エルゴード定理
連鎖の時間についての平均が分布の平均と等しくなる
T1t=1∑Tf(Xt) a.s. Eπ[f(X)] → MCMCでサンプリングした連鎖の実現値の標本期待値で事後期待値(EAP推定値)が推定できる
詳細つり合い条件¶
マルコフ連鎖が定常分布に収束するための十分条件に詳細釣り合い条件というものがある。
詳細釣り合い条件の式の両辺をθ′で積分すると
∫f(θ∣θ′)f(θ′)dθ′=∫f(θ′∣θ)f(θ)dθ′=f(θ)∫f(θ′∣θ)dθ′=f(θ)∫f(θ)f(θ′,θ)dθ′=f(θ)f(θ)1∫f(θ′,θ)dθ′=f(θ)f(θ)1f(θ)=f(θ)⋅1=f(θ) となる。言葉で説明すると、 θ′からθに遷移する確率密度の、あらゆる点に関する平均確率密度(左辺)は、θの確率密度f(θ)そのものである(右辺) ということ。そしてこれが標本空間の任意の2点(θ,θ′)で上記の条件が成り立つ、というのが詳細釣り合い条件。
MCMCのアルゴリズムは、この条件を満たすように遷移確率を作り、事後分布をサンプリングする。
メトロポリス・ヘイスティング(MH)法¶
最も単純な方法でわかりやすいが、実用上はうまく収束しないことが多い方法。
基本アイデア
アルゴリズムの概要:
遷移核にまず適当な確率分布を置く
その提案分布を補正する処置を施す
rN(θ,σ)
提案分布からの採用率を、尤度と事前分布から計算する
r=N(θ∣θ′,σ)P(θ′∣y)N(θ′∣θ,σ)P(θ∣y) ハミルトニアン・モンテカルロ(HMC)法¶
NUTS¶