数理統計 第11章 §11.1 ★ 目標分布を定常分布に持つマルコフ連鎖を作り、その標本平均で期待値を近似する。正しさの根拠は詳細つり合い
第6章から第10章までの議論では、最尤推定量は尤度方程式を手で解いて閉じた式で書け、事後分布の平均は共役事前分布のおかげで積分の公式から求まった。実際のデータ解析では、この2つはどちらも成り立たないことが多い。
尤度方程式が λ / ( 1 − e − λ ) = x ˉ \lambda/(1-\mathrm{e}^{-\lambda})=\bar x λ / ( 1 − e − λ ) = x ˉ のような超越方程式になれば、解は数値的に求めるしかない。事後分布が共役でなければ、事後平均の分母に現れる規格化定数 ∫ L ( θ ) π ( θ ) d θ \int L(\theta)\pi(\theta)\,\mathrm{d}\theta ∫ L ( θ ) π ( θ ) d θ が計算できない。この章では、こうした場合に使う計算の方法を3つ扱う。
1つめは、分布から乱数を発生させ、その平均で積分を近似するモンテカルロ法である。規格化定数が分からない分布からでも乱数を作れるようにする道具がマルコフ連鎖モンテカルロ法(MCMC)で、§11.1 で扱う。2つめは、推定量の分布そのものが手で求まらないとき、データから作った経験分布で母集団を置き換えて標準誤差や偏りを見積もるブートストラップ法で、§11.2 で扱う。3つめは、尤度方程式を反復で解く Newton–Raphson 法とEM アルゴリズムで、§11.3 で扱う。
1級の統計数理で計算機を使う問題は出ない。この章の内容が問われるとすれば、紙の上で導ける部分である。具体的には、棄却法で採択される乱数の密度が目標の密度になることの証明と採択確率、Metropolis–Hastings 法の推移核が詳細つり合いを満たすことの確認、ブートストラップ分布の平均と分散を経験分布から厳密に計算すること、Newton 法と EM アルゴリズムの更新式を尤度から導き、不動点が最尤推定量であることと収束の速さを示すこと、の4種類である。どれも第6章の尤度と第4章の条件付き分布の計算の応用なので、この章ではその計算を省かずに書く。
モンテカルロ積分
密度 f f f を持つ確率変数 X X X について、次の期待値を求めたいとする。
μ h = E [ h ( X ) ] = ∫ h ( x ) f ( x ) d x \mu_h=E[h(X)]=\int h(x)f(x)\,\mathrm{d} x μ h = E [ h ( X )] = ∫ h ( x ) f ( x ) d x
ここで h h h は与えられた関数である。f f f に従う独立な乱数 X 1 , … , X N X_1,\dots,X_N X 1 , … , X N が作れるなら、
μ ^ h = 1 N ∑ t = 1 N h ( X t ) (11.1) \hat\mu_h=\frac1N\sum_{t=1}^N h(X_t)\tag{11.1} μ ^ h = N 1 t = 1 ∑ N h ( X t ) ( 11.1 )
は μ h \mu_h μ h の不偏推定量である。大数の法則により、N → ∞ N\to\infty N → ∞ でこれは μ h \mu_h μ h に確率収束する。分散 σ h 2 = V [ h ( X ) ] \sigma_h^2=V[h(X)] σ h 2 = V [ h ( X )] が有限なら
V [ μ ^ h ] = σ h 2 N , N ( μ ^ h − μ h ) は近似的に N ( 0 , σ h 2 ) に従う V[\hat\mu_h]=\frac{\sigma_h^2}{N},\qquad \sqrt N(\hat\mu_h-\mu_h)\ \text{は近似的に}\ \mathrm N(0,\sigma_h^2)\ \text{に従う} V [ μ ^ h ] = N σ h 2 , N ( μ ^ h − μ h ) は近似的に N ( 0 , σ h 2 ) に従う
である(後半は中心極限定理による)。σ h 2 \sigma_h^2 σ h 2 自体は h ( X t ) h(X_t) h ( X t ) の標本分散で推定できる。そのため、近似の誤差の大きさが計算と同時に分かる。これをモンテカルロ積分 と呼ぶ。
誤差が 1 / N 1/\sqrt N 1/ N でしか減らないことは不利に見えるが、この速さは積分の次元によらない。格子点の上で和をとる数値積分は、次元 d d d が上がると同じ精度を得るための格子点の数が指数的に増える。事後分布の母数が数十次元になるベイズ推測でモンテカルロ法を使う理由はここにある。
確率 p = P ( X ∈ A ) p=P(X\in A) p = P ( X ∈ A ) を求めるときは、h = 1 A h=\bm 1_A h = 1 A (指示関数)にとる。このとき h ( X t ) h(X_t) h ( X t ) は成功確率 p p p の Bernoulli 変数である。したがって σ h 2 = p ( 1 − p ) \sigma_h^2=p(1-p) σ h 2 = p ( 1 − p ) で、相対誤差(標準誤差と p p p の比)は
p ( 1 − p ) / N p = 1 − p N p \frac{\sqrt{p(1-p)/N}}{p}=\sqrt{\frac{1-p}{Np}} p p ( 1 − p ) / N = N p 1 − p
になる。p p p が小さいほど、同じ相対誤差を得るために大きな N N N が必要になる。
f f f から直接乱数を作りにくいときは、別の密度 g g g を使う手がある。g g g は f > 0 f>0 f > 0 のところで正であるとする。g g g から乱数 Y 1 , … , Y N Y_1,\dots,Y_N Y 1 , … , Y N を作り、
μ ~ h = 1 N ∑ t = 1 N h ( Y t ) f ( Y t ) g ( Y t ) (11.2) \tilde\mu_h=\frac1N\sum_{t=1}^N h(Y_t)\frac{f(Y_t)}{g(Y_t)}\tag{11.2} μ ~ h = N 1 t = 1 ∑ N h ( Y t ) g ( Y t ) f ( Y t ) ( 11.2 )
で近似してもよい。E g [ h ( Y ) f ( Y ) / g ( Y ) ] = ∫ h ( y ) f ( y ) d y = μ h E_g[h(Y)f(Y)/g(Y)]=\int h(y)f(y)\,\mathrm{d} y=\mu_h E g [ h ( Y ) f ( Y ) / g ( Y )] = ∫ h ( y ) f ( y ) d y = μ h なので不偏である。これを重点サンプリング と呼び、比 f / g f/g f / g を重みと呼ぶ。重みの分散が大きいと近似が悪くなるので、g g g は ∣ h ∣ f \lvert h\rvert f ∣ h ∣ f に形が近いものを選ぶ。
乱数の生成:逆関数法と棄却法
計算機は区間 ( 0 , 1 ) (0,1) ( 0 , 1 ) 上の一様分布 U ( 0 , 1 ) \mathrm U(0,1) U ( 0 , 1 ) に従う乱数を作れるとする。ほかの分布の乱数はこれを変換して作る。
定理 11.1(逆関数法 ★★)
分布関数 F F F に対して、一般化逆関数を次で定める。
F − 1 ( u ) = inf { x : F ( x ) ≥ u } ( 0 < u < 1 ) F^{-1}(u)=\inf\{x:F(x)\ge u\}\qquad(0<u<1) F − 1 ( u ) = inf { x : F ( x ) ≥ u } ( 0 < u < 1 )
U ∼ U ( 0 , 1 ) U\sim\mathrm U(0,1) U ∼ U ( 0 , 1 ) とする。このとき X = F − 1 ( U ) X=F^{-1}(U) X = F − 1 ( U ) の分布関数は F F F である。
証明 F F F は右連続で非減少である。このことから、次の同値が成り立つ。
F − 1 ( u ) ≤ x ⟺ u ≤ F ( x ) F^{-1}(u)\le x\iff u\le F(x) F − 1 ( u ) ≤ x ⟺ u ≤ F ( x )
(⇒ \Rightarrow ⇒ ) F − 1 ( u ) ≤ x F^{-1}(u)\le x F − 1 ( u ) ≤ x とする。下限の定義と右連続性から F ( F − 1 ( u ) ) ≥ u F(F^{-1}(u))\ge u F ( F − 1 ( u )) ≥ u である。F F F は非減少なので F ( x ) ≥ F ( F − 1 ( u ) ) ≥ u F(x)\ge F(F^{-1}(u))\ge u F ( x ) ≥ F ( F − 1 ( u )) ≥ u となる。
(⇐ \Leftarrow ⇐ ) u ≤ F ( x ) u\le F(x) u ≤ F ( x ) とする。このとき x x x は集合 { x : F ( x ) ≥ u } \{x:F(x)\ge u\} { x : F ( x ) ≥ u } に属する。下限の定義から F − 1 ( u ) ≤ x F^{-1}(u)\le x F − 1 ( u ) ≤ x である。
したがって
P ( X ≤ x ) = P ( F − 1 ( U ) ≤ x ) = P ( U ≤ F ( x ) ) = F ( x ) P(X\le x)=P(F^{-1}(U)\le x)=P(U\le F(x))=F(x) P ( X ≤ x ) = P ( F − 1 ( U ) ≤ x ) = P ( U ≤ F ( x )) = F ( x )
である。
逆関数法は F − 1 F^{-1} F − 1 が式で書けるとき(指数分布・Weibull 分布・Cauchy 分布など)に使う。正規分布やガンマ分布のように F − 1 F^{-1} F − 1 が式で書けないときは、次の棄却法を使う。
定理 11.2(棄却法 ★★)
目標の密度を f f f 、乱数を作れる密度を g g g とする。ある定数 M M M があって、すべての x x x で
f ( x ) ≤ M g ( x ) f(x)\le Mg(x) f ( x ) ≤ M g ( x )
が成り立つとする。次の手続きを考える。
Y ∼ g Y\sim g Y ∼ g と U ∼ U ( 0 , 1 ) U\sim\mathrm U(0,1) U ∼ U ( 0 , 1 ) を独立に作る。
U ≤ f ( Y ) / { M g ( Y ) } U\le f(Y)/\{Mg(Y)\} U ≤ f ( Y ) / { M g ( Y )} なら X = Y X=Y X = Y として採択し、そうでなければ棄却して 1 に戻る。
このとき次が成り立つ。
採択された X X X の密度は f f f である。
1回の試行で採択される確率は 1 / M 1/M 1/ M である。
採択までの試行回数は成功確率 1 / M 1/M 1/ M の幾何分布に従い、平均は M M M である。
証明 1回の試行で「Y ≤ x Y\le x Y ≤ x かつ採択」となる確率を求める。Y = y Y=y Y = y を与えたとき採択される条件付き確率は f ( y ) / { M g ( y ) } f(y)/\{Mg(y)\} f ( y ) / { M g ( y )} で、これは 0 以上 1 以下である。したがって
P ( Y ≤ x , U ≤ f ( Y ) M g ( Y ) ) = ∫ − ∞ x f ( y ) M g ( y ) g ( y ) d y = 1 M ∫ − ∞ x f ( y ) d y . (11.3) P\Bigl(Y\le x,\ U\le\frac{f(Y)}{Mg(Y)}\Bigr)=\int_{-\infty}^x\frac{f(y)}{Mg(y)}\,g(y)\,\mathrm{d} y=\frac1M\int_{-\infty}^xf(y)\,\mathrm{d} y .\tag{11.3} P ( Y ≤ x , U ≤ M g ( Y ) f ( Y ) ) = ∫ − ∞ x M g ( y ) f ( y ) g ( y ) d y = M 1 ∫ − ∞ x f ( y ) d y . ( 11.3 )
x → ∞ x\to\infty x → ∞ とすると採択確率 P ( 採択 ) = 1 / M P(\text{採択})=1/M P ( 採択 ) = 1/ M を得る。採択された Y Y Y の分布関数は、条件付き確率として
P ( Y ≤ x ∣ 採択 ) = P ( Y ≤ x , 採択 ) P ( 採択 ) = ∫ − ∞ x f ( y ) d y P(Y\le x\mid\text{採択})=\frac{P(Y\le x,\ \text{採択})}{P(\text{採択})}=\int_{-\infty}^xf(y)\,\mathrm{d} y P ( Y ≤ x ∣ 採択 ) = P ( 採択 ) P ( Y ≤ x , 採択 ) = ∫ − ∞ x f ( y ) d y
となる。これは f f f の分布関数である。各試行は独立で毎回確率 1 / M 1/M 1/ M で採択されるので、試行回数は幾何分布に従う。
f ≤ M g f\le Mg f ≤ M g の両辺を積分すると 1 ≤ M 1\le M 1 ≤ M を得る。M M M が1に近いほど棄却が少ない。最良の M M M は sup x f ( x ) / g ( x ) \sup_x f(x)/g(x) sup x f ( x ) / g ( x ) である。
f f f の規格化定数が分からないときも、手続きはそのまま使える。f = c f ~ f=c\tilde f f = c f ~ と書いて、f ~ \tilde f f ~ だけが分かるとする。f ~ ≤ M ~ g \tilde f\le\tilde Mg f ~ ≤ M ~ g となる M ~ \tilde M M ~ を使うと、採択の判定は
U ≤ f ~ ( Y ) M ~ g ( Y ) U\le\frac{\tilde f(Y)}{\tilde Mg(Y)} U ≤ M ~ g ( Y ) f ~ ( Y )
となり、c c c が現れない。採択確率は 1 / ( c M ~ ) 1/(c\tilde M) 1/ ( c M ~ ) になる。
例題 11.1 指数分布から半正規分布を作る棄却法 ★★
オリジナル 半正規分布の密度
f ( x ) = 2 / π e − x 2 / 2 ( x > 0 ) f(x)=\sqrt{2/\pi}\,\mathrm{e}^{-x^2/2}\qquad(x>0) f ( x ) = 2/ π e − x 2 /2 ( x > 0 )
に従う乱数を、棄却法で作る。提案には指数分布 E x ( 1 ) \mathrm{Ex}(1) Ex ( 1 ) の密度 g ( x ) = e − x ( x > 0 ) g(x)=\mathrm{e}^{-x}\ (x>0) g ( x ) = e − x ( x > 0 ) を使う。
f ( x ) ≤ M g ( x ) ( x > 0 ) f(x)\le Mg(x)\ (x>0) f ( x ) ≤ M g ( x ) ( x > 0 ) を満たす最小の定数 M M M を求めよ。
採択の条件 U ≤ f ( Y ) / { M g ( Y ) } U\le f(Y)/\{Mg(Y)\} U ≤ f ( Y ) / { M g ( Y )} を簡単な形に書き直せ。
採択確率と、1つの乱数を得るまでの平均の試行回数を求めよ。
解答 (1) 比は f ( x ) / g ( x ) = 2 / π exp ( x − x 2 / 2 ) f(x)/g(x)=\sqrt{2/\pi}\,\exp(x-x^2/2) f ( x ) / g ( x ) = 2/ π exp ( x − x 2 /2 ) である。指数部 x − x 2 / 2 x-x^2/2 x − x 2 /2 を微分すると 1 − x 1-x 1 − x になる。よって指数部は x = 1 x=1 x = 1 で最大値 1 / 2 1/2 1/2 をとる。したがって最小の M M M は
M = sup x > 0 f ( x ) g ( x ) = 2 π e 1 / 2 = 2 e π ≈ 1.3155. M=\sup_{x>0}\frac{f(x)}{g(x)}=\sqrt{\frac2\pi}\,\mathrm{e}^{1/2}=\sqrt{\frac{2\mathrm{e}}{\pi}}\approx1.3155 . M = x > 0 sup g ( x ) f ( x ) = π 2 e 1/2 = π 2 e ≈ 1.3155.
(2) f ( y ) / { M g ( y ) } = exp ( y − y 2 / 2 − 1 / 2 ) = exp { − ( y − 1 ) 2 / 2 } f(y)/\{Mg(y)\}=\exp(y-y^2/2-1/2)=\exp\{-(y-1)^2/2\} f ( y ) / { M g ( y )} = exp ( y − y 2 /2 − 1/2 ) = exp { − ( y − 1 ) 2 /2 } なので、採択の条件は
U ≤ exp { − ( Y − 1 ) 2 2 } ⟺ − log U ≥ ( Y − 1 ) 2 2 U\le\exp\Bigl\{-\frac{(Y-1)^2}{2}\Bigr\}\quad\Longleftrightarrow\quad -\log U\ge\frac{(Y-1)^2}{2} U ≤ exp { − 2 ( Y − 1 ) 2 } ⟺ − log U ≥ 2 ( Y − 1 ) 2
である。右の形にすると、− log U -\log U − log U も E x ( 1 ) \mathrm{Ex}(1) Ex ( 1 ) に従う(確認テスト 11.1-1)ので、指数乱数2つだけで判定できる。
(3) 定理 11.2 から採択確率は 1 / M = π / ( 2 e ) ≈ 0.7602 1/M=\sqrt{\pi/(2\mathrm{e})}\approx0.7602 1/ M = π / ( 2 e ) ≈ 0.7602 、平均の試行回数は M ≈ 1.3155 M\approx1.3155 M ≈ 1.3155 回である。得られた半正規乱数に等確率で符号 ± \pm ± を付ければ、N ( 0 , 1 ) \mathrm N(0,1) N ( 0 , 1 ) の乱数になる。
図 11.1 例題 11.1 の棄却法。実線が半正規分布の密度 f f f 、破線が M g = 2 e / π e − x Mg=\sqrt{2\mathrm{e}/\pi}\,\mathrm{e}^{-x} M g = 2 e / π e − x 。2本は x = 1 x=1 x = 1 (点線)で接する。Y Y Y を g g g から作り、点 ( Y , U M g ( Y ) ) (Y,UMg(Y)) ( Y , U M g ( Y )) が実線の下に入れば採択する。2本の間の面積 M − 1 ≈ 0.32 M-1\approx0.32 M − 1 ≈ 0.32 と全体の面積 M M M の比が棄却の確率である
マルコフ連鎖と定常分布
ベイズ推測の事後分布 π ( θ ∣ x ) ∝ L ( θ ) π ( θ ) \pi(\theta\mid\bm x)\propto L(\theta)\pi(\theta) π ( θ ∣ x ) ∝ L ( θ ) π ( θ ) のように、密度が定数倍を除いてしか分からず、しかも高次元の分布から乱数を作りたいとする。棄却法は次元が上がると M M M が指数的に大きくなり、ほとんどの提案が棄却される。
そこで、独立な乱数を作ることはあきらめ、目標分布を定常分布に持つマルコフ連鎖を走らせて、その軌道の平均で期待値を近似する。これがマルコフ連鎖モンテカルロ法である。マルコフ連鎖の一般論は第12章 §12.5 で扱う。ここでは MCMC に要る定義と結果だけを書く。
状態空間 X \mathcal X X 上の確率変数の列 X 0 , X 1 , X 2 , … X_0,X_1,X_2,\dots X 0 , X 1 , X 2 , … を考える。どの時刻 t t t についても
P ( X t + 1 ∈ A ∣ X t = x , X t − 1 , … , X 0 ) = P ( X t + 1 ∈ A ∣ X t = x ) P(X_{t+1}\in A\mid X_t=x,X_{t-1},\dots,X_0)=P(X_{t+1}\in A\mid X_t=x) P ( X t + 1 ∈ A ∣ X t = x , X t − 1 , … , X 0 ) = P ( X t + 1 ∈ A ∣ X t = x )
が成り立ち、右辺が t t t によらないとき、この列を(時間的に一様な)マルコフ連鎖 と呼ぶ。右辺を ( x , A ) (x,A) ( x , A ) の関数とみたものを推移核 と呼び、K ( x , A ) K(x,A) K ( x , A ) と書く。K ( x , ⋅ ) K(x,\cdot) K ( x , ⋅ ) が密度 k ( x , y ) k(x,y) k ( x , y ) を持つときは、その密度も推移核と呼ぶ。状態が有限個なら推移核は推移確率行列 P = ( p i j ) P=(p_{ij}) P = ( p ij ) 、p i j = P ( X t + 1 = j ∣ X t = i ) p_{ij}=P(X_{t+1}=j\mid X_t=i) p ij = P ( X t + 1 = j ∣ X t = i ) である。
定義 11.3(定常分布と詳細つり合い)
分布 π \pi π が
∫ π ( x ) k ( x , y ) d x = π ( y ) ( すべての y ) (11.4) \int\pi(x)k(x,y)\,\mathrm{d} x=\pi(y)\qquad(\text{すべての }y)\tag{11.4} ∫ π ( x ) k ( x , y ) d x = π ( y ) ( すべての y ) ( 11.4 )
を満たすとき、π \pi π を推移核 k k k の定常分布 と呼ぶ。X t ∼ π X_t\sim\pi X t ∼ π なら X t + 1 ∼ π X_{t+1}\sim\pi X t + 1 ∼ π になる、という意味である。また
π ( x ) k ( x , y ) = π ( y ) k ( y , x ) ( すべての x , y ) (11.5) \pi(x)k(x,y)=\pi(y)k(y,x)\qquad(\text{すべての }x,y)\tag{11.5} π ( x ) k ( x , y ) = π ( y ) k ( y , x ) ( すべての x , y ) ( 11.5 )
が成り立つとき、k k k は π \pi π について詳細つり合い を満たす、あるいは可逆であるという。有限状態では π i p i j = π j p j i \pi_ip_{ij}=\pi_jp_{ji} π i p ij = π j p j i である。
命題 11.4(詳細つり合いなら定常 ★★)
推移核 k k k が分布 π \pi π について詳細つり合いを満たすとする。このとき π \pi π は k k k の定常分布である。
証明 (11.5) の両辺を x x x について積分すると、次を得る。
∫ π ( x ) k ( x , y ) d x = π ( y ) ∫ k ( y , x ) d x = π ( y ) \int\pi(x)k(x,y)\,\mathrm{d} x=\pi(y)\int k(y,x)\,\mathrm{d} x=\pi(y) ∫ π ( x ) k ( x , y ) d x = π ( y ) ∫ k ( y , x ) d x = π ( y )
最後の等号は、k ( y , ⋅ ) k(y,\cdot) k ( y , ⋅ ) が確率密度で積分が 1 になることによる。推移核が点 y y y に確率の塊(とどまる確率)を持つ場合も、和と積分を合わせて同じ計算ができる。
定常条件 (11.4) は、y y y ごとに x x x についての積分を含むので確かめにくい。詳細つり合い (11.5) は2点 x , y x,y x , y ごとの等式なので確かめやすい。MCMC の推移核は、詳細つり合いを満たすように設計する。
定常分布を持つだけでは、連鎖がそこへ近づく保証は無い。次の定理(証明は第12章 §12.5 に譲る)が、軌道の平均を使ってよい根拠である。
定理 11.5(エルゴード定理)
推移核 k k k が定常分布 π \pi π を持ち、既約(どの状態からどの状態の近くへも正の確率で到達できる)かつ非周期的であるとする。このとき次が成り立つ。
初期値によらず、X t X_t X t の分布は π \pi π に収束する。
E π ∣ h ( X ) ∣ < ∞ E_\pi\lvert h(X)\rvert <\infty E π ∣ h ( X )∣ < ∞ なら、確率1で
1 N ∑ t = 1 N h ( X t ) ⟶ E π [ h ( X ) ] ( N → ∞ ) \frac1N\sum_{t=1}^Nh(X_t)\longrightarrow E_\pi[h(X)]\qquad(N\to\infty) N 1 t = 1 ∑ N h ( X t ) ⟶ E π [ h ( X )] ( N → ∞ )
が成り立つ。
Metropolis–Hastings 法
定義 11.6(Metropolis–Hastings 法)
目標の密度 π \pi π を用意する(定数倍を除いて分かっていればよい)。提案密度 q ( x , y ) q(x,y) q ( x , y ) も用意する。これは現在の点 x x x から次の候補 y y y を作る密度である。現在の状態 X t = x X_t=x X t = x から次の手順で X t + 1 X_{t+1} X t + 1 を作る。
候補 Y ∼ q ( x , ⋅ ) Y\sim q(x,\cdot) Y ∼ q ( x , ⋅ ) と U ∼ U ( 0 , 1 ) U\sim\mathrm U(0,1) U ∼ U ( 0 , 1 ) を独立に作る。
採択確率
α ( x , y ) = min { 1 , π ( y ) q ( y , x ) π ( x ) q ( x , y ) } (11.6) \alpha(x,y)=\min\Bigl\{1,\ \frac{\pi(y)q(y,x)}{\pi(x)q(x,y)}\Bigr\}\tag{11.6} α ( x , y ) = min { 1 , π ( x ) q ( x , y ) π ( y ) q ( y , x ) } ( 11.6 )
を計算し、次のように決める。
U ≤ α ( x , Y ) U\le\alpha(x,Y) U ≤ α ( x , Y ) なら X t + 1 = Y X_{t+1}=Y X t + 1 = Y とする(採択)。
そうでなければ X t + 1 = x X_{t+1}=x X t + 1 = x とする(とどまる)。
採択確率 (11.6) には π \pi π が比 π ( y ) / π ( x ) \pi(y)/\pi(x) π ( y ) / π ( x ) でしか現れないので、規格化定数は約分されて要らない。ベイズ推測で使える理由はこれである。
定理 11.7(MH 法は詳細つり合いを満たす ★★)
MH 法の推移核は、y ≠ x y\neq x y = x では k ( x , y ) = q ( x , y ) α ( x , y ) k(x,y)=q(x,y)\alpha(x,y) k ( x , y ) = q ( x , y ) α ( x , y ) である。残りの確率
r ( x ) = 1 − ∫ q ( x , y ) α ( x , y ) d y r(x)=1-\int q(x,y)\alpha(x,y)\,\mathrm{d} y r ( x ) = 1 − ∫ q ( x , y ) α ( x , y ) d y
で、連鎖は x x x にとどまる。この推移核は π \pi π について詳細つり合いを満たし、したがって π \pi π は定常分布である。
証明 x x x にとどまる部分は x = y x=y x = y のときだけ現れ、そこでは (11.5) の両辺は同じ式なので自明に等しい。x ≠ y x\neq y x = y を示せばよい。π ( y ) q ( y , x ) ≤ π ( x ) q ( x , y ) \pi(y)q(y,x)\le\pi(x)q(x,y) π ( y ) q ( y , x ) ≤ π ( x ) q ( x , y ) の場合を考える。このとき
α ( x , y ) = π ( y ) q ( y , x ) π ( x ) q ( x , y ) , α ( y , x ) = 1 \alpha(x,y)=\frac{\pi(y)q(y,x)}{\pi(x)q(x,y)},\qquad \alpha(y,x)=1 α ( x , y ) = π ( x ) q ( x , y ) π ( y ) q ( y , x ) , α ( y , x ) = 1
なので
π ( x ) k ( x , y ) = π ( x ) q ( x , y ) π ( y ) q ( y , x ) π ( x ) q ( x , y ) = π ( y ) q ( y , x ) = π ( y ) q ( y , x ) α ( y , x ) = π ( y ) k ( y , x ) . \pi(x)k(x,y)=\pi(x)q(x,y)\frac{\pi(y)q(y,x)}{\pi(x)q(x,y)}=\pi(y)q(y,x)=\pi(y)q(y,x)\alpha(y,x)=\pi(y)k(y,x). π ( x ) k ( x , y ) = π ( x ) q ( x , y ) π ( x ) q ( x , y ) π ( y ) q ( y , x ) = π ( y ) q ( y , x ) = π ( y ) q ( y , x ) α ( y , x ) = π ( y ) k ( y , x ) .
逆向きの不等号の場合は x x x と y y y の役割を入れ替えれば同じ計算になる。2つの場合をまとめるとπ ( x ) k ( x , y ) = min { π ( x ) q ( x , y ) , π ( y ) q ( y , x ) } \pi(x)k(x,y)=\min\{\pi(x)q(x,y),\pi(y)q(y,x)\} π ( x ) k ( x , y ) = min { π ( x ) q ( x , y ) , π ( y ) q ( y , x )} で、右辺は x , y x,y x , y について対称である。命題 11.4 から π \pi π は定常分布になる。
提案密度の選び方で、よく使う形が2つある。
ランダムウォーク Metropolis 法 :提案が対称で q ( x , y ) = q ( y , x ) q(x,y)=q(y,x) q ( x , y ) = q ( y , x ) となるもの。例えば Y = x + ε Y=x+\varepsilon Y = x + ε 、ε ∼ N ( 0 , s 2 ) \varepsilon\sim\mathrm N(0,s^2) ε ∼ N ( 0 , s 2 ) とする。採択確率は
α ( x , y ) = min { 1 , π ( y ) / π ( x ) } \alpha(x,y)=\min\{1,\pi(y)/\pi(x)\} α ( x , y ) = min { 1 , π ( y ) / π ( x )}
になる。密度が上がる候補は必ず採択し、下がる候補は比の確率で採択する。2. 独立型 MH 法 :q ( x , y ) = g ( y ) q(x,y)=g(y) q ( x , y ) = g ( y ) のように、現在の点によらない提案を使うもの。w = π / g w=\pi/g w = π / g とおくと、採択確率は min { 1 , w ( y ) / w ( x ) } \min\{1,w(y)/w(x)\} min { 1 , w ( y ) / w ( x )} になる。
歩幅の選び方と自己相関
ランダムウォーク Metropolis 法の歩幅 s s s は、小さすぎても大きすぎても困る。
小さすぎる :候補はほとんど採択されるが1歩の移動が小さく、連鎖は分布の中をゆっくりしか動かない。
大きすぎる :候補は分布の裾へ飛ぶのでほとんど棄却され、同じ点にとどまり続ける。
どちらの場合も X t X_t X t と X t + 1 X_{t+1} X t + 1 の相関が強くなり、軌道の平均の分散が大きくなる。実際には採択率を見ながら s s s を調整する。また、初期値の影響が残る最初の部分(バーンイン)は平均から除く。
Gibbs サンプラー
多次元の分布 π ( x 1 , … , x d ) \pi(x_1,\dots,x_d) π ( x 1 , … , x d ) を考える。x j x_j x j 以外の成分をまとめて x − j x_{-j} x − j と書く。各成分の完全条件付き分布 π ( x j ∣ x − j ) \pi(x_j\mid x_{-j}) π ( x j ∣ x − j ) からは乱数を作れるとする。Gibbs サンプラー は、成分を1つずつ順に完全条件付き分布から引き直す方法である。2次元なら、現在の ( x 1 ( t ) , x 2 ( t ) ) (x_1^{(t)},x_2^{(t)}) ( x 1 ( t ) , x 2 ( t ) ) から
x 1 ( t + 1 ) ∼ π ( x 1 ∣ x 2 ( t ) ) , x 2 ( t + 1 ) ∼ π ( x 2 ∣ x 1 ( t + 1 ) ) x_1^{(t+1)}\sim\pi(x_1\mid x_2^{(t)}),\qquad x_2^{(t+1)}\sim\pi(x_2\mid x_1^{(t+1)}) x 1 ( t + 1 ) ∼ π ( x 1 ∣ x 2 ( t ) ) , x 2 ( t + 1 ) ∼ π ( x 2 ∣ x 1 ( t + 1 ) )
の順に更新する。
命題 11.8(成分の更新は π \pi π を保つ ★★)
( X 1 , X 2 ) ∼ π (X_1,X_2)\sim\pi ( X 1 , X 2 ) ∼ π とする。X 1 X_1 X 1 だけを π ( x 1 ∣ X 2 ) \pi(x_1\mid X_2) π ( x 1 ∣ X 2 ) から引き直す。得られた ( X 1 ′ , X 2 ) (X_1',X_2) ( X 1 ′ , X 2 ) も π \pi π に従う。
証明 ( X 1 ′ , X 2 ) (X_1',X_2) ( X 1 ′ , X 2 ) の同時密度は、X 2 X_2 X 2 の周辺密度と条件付き密度の積で
π 2 ( x 2 ) π ( x 1 ′ ∣ x 2 ) = π ( x 1 ′ , x 2 ) \pi_2(x_2)\,\pi(x_1'\mid x_2)=\pi(x_1',x_2) π 2 ( x 2 ) π ( x 1 ′ ∣ x 2 ) = π ( x 1 ′ , x 2 )
である。
2つの成分の更新はどちらも π \pi π を保つので、それを続けて行う1回の Gibbs の推移も π \pi π を保つ。また、1つの成分の更新は、提案を完全条件付き分布にとったMH 法で採択確率が常に 1 になるもの、とみることもできる(確認テスト 11.1-4)。
例題 11.2 2変量正規分布の Gibbs サンプラー ★★
オリジナル 目標分布を、平均 0、分散 1、相関係数 ρ \rho ρ (∣ ρ ∣ < 1 \lvert \rho\rvert <1 ∣ ρ ∣ < 1 )の2変量正規分布とする。
完全条件付き分布 X ∣ Y = y X\mid Y=y X ∣ Y = y と Y ∣ X = x Y\mid X=x Y ∣ X = x を書き、Gibbs サンプラーの1回の更新を正規乱数で表せ。
第1成分の列 X 0 , X 1 , … X_0,X_1,\dots X 0 , X 1 , … が、次の形の自己回帰過程になることを示せ。
X t + 1 = ρ 2 X t + η t + 1 , η t は独立に N ( 0 , 1 − ρ 4 ) X_{t+1}=\rho^2X_t+\eta_{t+1},\qquad \eta_t\ \text{は独立に}\ \mathrm N(0,1-\rho^4) X t + 1 = ρ 2 X t + η t + 1 , η t は独立に N ( 0 , 1 − ρ 4 )
また、X 0 = x 0 X_0=x_0 X 0 = x 0 から始めたときの X t X_t X t の分布を求めよ。3. 定常状態で C o v ( X t , X t + k ) = ρ 2 k \mathrm{Cov}(X_t,X_{t+k})=\rho^{2k} Cov ( X t , X t + k ) = ρ 2 k を示せ。次に、平均 X ˉ N = 1 N ∑ t = 1 N X t \bar X_N=\frac1N\sum_{t=1}^NX_t X ˉ N = N 1 ∑ t = 1 N X t の分散を考える。N N N が大きいとき、これは独立な場合の分散 1 / N 1/N 1/ N の約
1 + ρ 2 1 − ρ 2 \frac{1+\rho^2}{1-\rho^2} 1 − ρ 2 1 + ρ 2
倍になることを示せ。ρ = 0.9 \rho=0.9 ρ = 0.9 のときの倍率を求めよ。
解答 (1) 第4章の2変量正規の条件付き分布から X ∣ Y = y ∼ N ( ρ y , 1 − ρ 2 ) X\mid Y=y\sim\mathrm N(\rho y,1-\rho^2) X ∣ Y = y ∼ N ( ρ y , 1 − ρ 2 ) 、Y ∣ X = x ∼ N ( ρ x , 1 − ρ 2 ) Y\mid X=x\sim\mathrm N(\rho x,1-\rho^2) Y ∣ X = x ∼ N ( ρ x , 1 − ρ 2 ) である。Z t , Z t ′ Z_t,Z_t' Z t , Z t ′ を独立な N ( 0 , 1 ) \mathrm N(0,1) N ( 0 , 1 ) 乱数として、1回の更新は
Y t = ρ X t + 1 − ρ 2 Z t , X t + 1 = ρ Y t + 1 − ρ 2 Z t ′ Y_t=\rho X_t+\sqrt{1-\rho^2}\,Z_t,\qquad X_{t+1}=\rho Y_t+\sqrt{1-\rho^2}\,Z_t' Y t = ρ X t + 1 − ρ 2 Z t , X t + 1 = ρ Y t + 1 − ρ 2 Z t ′
と書ける(Y Y Y を先に引き、次に X X X を引き直す順にとった)。
(2) 第1式を第2式に代入すると
X t + 1 = ρ 2 X t + η t + 1 , η t + 1 = ρ 1 − ρ 2 Z t + 1 − ρ 2 Z t ′ X_{t+1}=\rho^2X_t+\eta_{t+1},\qquad \eta_{t+1}=\rho\sqrt{1-\rho^2}\,Z_t+\sqrt{1-\rho^2}\,Z_t' X t + 1 = ρ 2 X t + η t + 1 , η t + 1 = ρ 1 − ρ 2 Z t + 1 − ρ 2 Z t ′
である。η t + 1 \eta_{t+1} η t + 1 は独立な正規変数の1次結合なので正規分布に従い、平均は 0 である。分散は
ρ 2 ( 1 − ρ 2 ) + ( 1 − ρ 2 ) = ( 1 − ρ 2 ) ( 1 + ρ 2 ) = 1 − ρ 4 \rho^2(1-\rho^2)+(1-\rho^2)=(1-\rho^2)(1+\rho^2)=1-\rho^4 ρ 2 ( 1 − ρ 2 ) + ( 1 − ρ 2 ) = ( 1 − ρ 2 ) ( 1 + ρ 2 ) = 1 − ρ 4
である。η t + 1 \eta_{t+1} η t + 1 は X 0 , … , X t X_0,\dots,X_t X 0 , … , X t と独立である。よって X t X_t X t は係数 ϕ = ρ 2 \phi=\rho^2 ϕ = ρ 2 の自己回帰過程である。X 0 = x 0 X_0=x_0 X 0 = x 0 から繰り返し代入すると
X t = ρ 2 t x 0 + ∑ s = 1 t ρ 2 ( t − s ) η s X_t=\rho^{2t}x_0+\sum_{s=1}^{t}\rho^{2(t-s)}\eta_s X t = ρ 2 t x 0 + s = 1 ∑ t ρ 2 ( t − s ) η s
となり、
X t ∼ N ( ρ 2 t x 0 , ( 1 − ρ 4 ) ∑ j = 0 t − 1 ρ 4 j ) = N ( ρ 2 t x 0 , 1 − ρ 4 t ) X_t\sim\mathrm N\Bigl(\rho^{2t}x_0,\ (1-\rho^4)\sum_{j=0}^{t-1}\rho^{4j}\Bigr)=\mathrm N\bigl(\rho^{2t}x_0,\ 1-\rho^{4t}\bigr) X t ∼ N ( ρ 2 t x 0 , ( 1 − ρ 4 ) j = 0 ∑ t − 1 ρ 4 j ) = N ( ρ 2 t x 0 , 1 − ρ 4 t )
である。t → ∞ t\to\infty t → ∞ で N ( 0 , 1 ) \mathrm N(0,1) N ( 0 , 1 ) 、すなわち目標分布の周辺分布に近づく。初期値の影響は ρ 2 t \rho^{2t} ρ 2 t の速さで消える。
(3) 定常状態では V [ X t ] = 1 V[X_t]=1 V [ X t ] = 1 である。X t + k = ρ 2 k X t + ( 独立な項 ) X_{t+k}=\rho^{2k}X_t+(\text{独立な項}) X t + k = ρ 2 k X t + ( 独立な項 ) と書ける。ここで「独立な項」は X t X_t X t と独立である。したがって
C o v ( X t , X t + k ) = ρ 2 k V [ X t ] = ρ 2 k \mathrm{Cov}(X_t,X_{t+k})=\rho^{2k}V[X_t]=\rho^{2k} Cov ( X t , X t + k ) = ρ 2 k V [ X t ] = ρ 2 k
となる。ϕ = ρ 2 \phi=\rho^2 ϕ = ρ 2 とおくと
V [ X ˉ N ] = 1 N 2 ∑ s = 1 N ∑ t = 1 N ϕ ∣ s − t ∣ = 1 N 2 { N + 2 ∑ k = 1 N − 1 ( N − k ) ϕ k } = 1 N { 1 + 2 ∑ k = 1 N − 1 ( 1 − k N ) ϕ k } . V[\bar X_N]=\frac1{N^2}\sum_{s=1}^N\sum_{t=1}^N\phi^{\lvert s-t\rvert }=\frac1{N^2}\Bigl\{N+2\sum_{k=1}^{N-1}(N-k)\phi^k\Bigr\}
=\frac1N\Bigl\{1+2\sum_{k=1}^{N-1}\Bigl(1-\frac kN\Bigr)\phi^k\Bigr\}. V [ X ˉ N ] = N 2 1 s = 1 ∑ N t = 1 ∑ N ϕ ∣ s − t ∣ = N 2 1 { N + 2 k = 1 ∑ N − 1 ( N − k ) ϕ k } = N 1 { 1 + 2 k = 1 ∑ N − 1 ( 1 − N k ) ϕ k } .
N → ∞ N\to\infty N → ∞ で括弧の中は次の値に収束する(∑ k k ϕ k / N → 0 \sum_k k\phi^k/N\to0 ∑ k k ϕ k / N → 0 による)。
1 + 2 ϕ 1 − ϕ = 1 + ϕ 1 − ϕ 1+\frac{2\phi}{1-\phi}=\frac{1+\phi}{1-\phi} 1 + 1 − ϕ 2 ϕ = 1 − ϕ 1 + ϕ
したがって
V [ X ˉ N ] ≈ 1 N ⋅ 1 + ρ 2 1 − ρ 2 V[\bar X_N]\approx\frac1N\cdot\frac{1+\rho^2}{1-\rho^2} V [ X ˉ N ] ≈ N 1 ⋅ 1 − ρ 2 1 + ρ 2
である。ρ = 0.9 \rho=0.9 ρ = 0.9 では倍率は ( 1 + 0.81 ) / ( 1 − 0.81 ) = 1.81 / 0.19 ≈ 9.53 (1+0.81)/(1-0.81)=1.81/0.19\approx9.53 ( 1 + 0.81 ) / ( 1 − 0.81 ) = 1.81/0.19 ≈ 9.53 である。連鎖の N N N 個は、独立な約 N / 9.53 N/9.53 N /9.53 個分の情報しか持たない。
この N ( 1 − ϕ ) / ( 1 + ϕ ) N(1-\phi)/(1+\phi) N ( 1 − ϕ ) / ( 1 + ϕ ) を有効標本サイズ と呼ぶ。成分間の相関が強い分布では、Gibbs サンプラーの1歩の動きが小さくなる。
確認テスト
オリジナル
11.1-1 U ∼ U ( 0 , 1 ) U\sim\mathrm U(0,1) U ∼ U ( 0 , 1 ) とする。X = − λ − 1 log U X=-\lambda^{-1}\log U X = − λ − 1 log U が E x ( λ ) \mathrm{Ex}(\lambda) Ex ( λ ) に従うことを示せ。逆関数法の F − 1 ( U ) F^{-1}(U) F − 1 ( U ) と比べて何が違うか説明せよ。
11.1-2 密度 f ( x ) = 6 x ( 1 − x ) ( 0 < x < 1 ) f(x)=6x(1-x)\ (0<x<1) f ( x ) = 6 x ( 1 − x ) ( 0 < x < 1 ) の B e t a ( 2 , 2 ) \mathrm{Beta}(2,2) Beta ( 2 , 2 ) 乱数を、棄却法で作る。提案は U ( 0 , 1 ) \mathrm U(0,1) U ( 0 , 1 ) とする。最小の M M M 、採択の条件、採択確率、1つの乱数を得るまでの試行回数の平均と分散を求めよ。
11.1-3 状態 1, 2 の2状態マルコフ連鎖の推移確率行列を
P = ( 1 − a a b 1 − b ) ( 0 < a , b < 1 ) P=\begin{pmatrix}1-a&a\\ b&1-b\end{pmatrix}\qquad(0<a,b<1) P = ( 1 − a b a 1 − b ) ( 0 < a , b < 1 )
とする。定常分布 π \pi π を求め、詳細つり合いを満たすことを確かめよ。さらに P n P^n P n を求めよ。各行が π \pi π に近づく速さが ∣ 1 − a − b ∣ n \lvert 1-a-b\rvert ^n ∣ 1 − a − b ∣ n であることを示せ。4. 11.1-4 2次元の目標分布 π ( x 1 , x 2 ) \pi(x_1,x_2) π ( x 1 , x 2 ) に対する MH 法で、第2成分を固定したまま第1成分だけを動かすものを考える。提案密度は
q ( ( x 1 , x 2 ) , ( y 1 , x 2 ) ) = π ( y 1 ∣ x 2 ) q((x_1,x_2),(y_1,x_2))=\pi(y_1\mid x_2) q (( x 1 , x 2 ) , ( y 1 , x 2 )) = π ( y 1 ∣ x 2 )
とする。採択確率 (11.6) が常に 1 になることを示せ。5. 11.1-5 Z ∼ N ( 0 , 1 ) Z\sim\mathrm N(0,1) Z ∼ N ( 0 , 1 ) とし、p = P ( Z > 2 ) p=P(Z>2) p = P ( Z > 2 ) を推定する。推定量は、独立な N N N 個の正規乱数の指示関数の平均とする。推定量の相対誤差(標準誤差と p p p の比)を0.1 以下にするのに必要な最小の N N N を求めよ。p = 0.02275 p=0.02275 p = 0.02275 を使ってよい。
AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com