はじめに
「事前分布なんて人が決めるものなのに、それで『最適』と言えるの?」
準1級でベイズ法に触れたとき、こう感じた人もいるかもしれません。事前分布を変えれば、答えも変わります。それでは、理論としていい加減ではないか、という疑問です。
例えば、天気予報を思い浮かべてください。降水確率の予報は、人によって少しずつ違います。それでも、「傘を持つかどうか」という判断には、はっきりした考え方があります。濡れたときの困り具合と、傘を持ち歩く手間を比べて、損が最も小さくなるほうを選ぶのです。
実は、ベイズ法も同じです。事前分布と損失を決めれば、最もよい推定量が定理として導けます。さらに、事前分布を別のデータから学ぶ仕組みまで作れます。ここまでの1級の記事で身につけた、尤度、十分統計量、MCMCの知識は、すべてこの1本にまとまります。
そこで登場するのが、今回の主役 事後分布 です。その計算を支える ギブスサンプリング と、データ全体で情報を分け合う 階層ベイズモデル も、一緒に導いていきます。
前回の記事では、MCMCの正しさを証明しました。今回の記事では、事前分布 から事後分布を導く手順、ベイズ推定量の証明、ギブスサンプリングの理論、階層ベイズモデルの計算について解説します。統計数理の最後の記事です。
事前分布から事後分布を導く
はじめに、事後分布の導き方について解説します。
母数 θ \theta θ の不確かさを表す分布を 事前分布 π ( θ ) \pi(\theta) π ( θ ) と呼び、データ x x x を見たあとの分布を 事後分布 π ( θ ∣ x ) \pi(\theta \mid x) π ( θ ∣ x ) と呼びます。ベイズの定理から、次の関係がありました。
π ( θ ∣ x ) = f ( x ∣ θ ) π ( θ ) ∫ f ( x ∣ θ ′ ) π ( θ ′ ) d θ ′ ∝ f ( x ∣ θ ) π ( θ ) \pi(\theta \mid x) = \frac{f(x \mid \theta)\pi(\theta)}{\int f(x \mid \theta')\pi(\theta')\, d\theta'} \propto f(x \mid \theta)\pi(\theta) π ( θ ∣ x ) = ∫ f ( x ∣ θ ′ ) π ( θ ′ ) d θ ′ f ( x ∣ θ ) π ( θ ) ∝ f ( x ∣ θ ) π ( θ )
1級の答案では、次の手順で書くと迷いません。
【事後分布を導く手順】
尤度と事前分布を掛ける
θ \theta θ を含まない因子をすべて捨てる
残った式の形(カーネル)から、分布の名前を見抜く
分布の名前から正規化定数を戻す
ジグソーパズルで、絵柄の特徴的なピースだけを見て何の絵か当てるようなものです。定数は最後に、分布の公式から自動的に戻ってきます。
例題:ポアソン分布とガンマ事前分布
x 1 , … , x n x_1, \dots, x_n x 1 , … , x n が独立に平均 λ \lambda λ のポアソン分布に従い、事前分布は密度が λ a − 1 e − b λ \lambda^{a-1}e^{-b\lambda} λ a − 1 e − bλ に比例するガンマ分布 Ga ( a , b ) \text{Ga}(a, b) Ga ( a , b ) とする。s = ∑ x i s = \sum x_i s = ∑ x i とする。〔1〕事後分布を導け。〔2〕事後平均が事前平均と標本平均の重みつき平均であることを示せ。〔3〕次の1個の観測 X X X の予測分布を導け。〔4〕a = 3 a = 3 a = 3 、b = 1 b = 1 b = 1 、n = 5 n = 5 n = 5 、s = 20 s = 20 s = 20 のとき、事後平均、MAP推定値、X X X の予測平均と予測分散を求めよ。
【解答】
〔1〕尤度の λ \lambda λ を含む部分は λ s e − n λ \lambda^{s}e^{-n\lambda} λ s e − nλ である。事前分布を掛けて、次を得る。
π ( λ ∣ x ) ∝ λ s e − n λ ⋅ λ a − 1 e − b λ = λ a + s − 1 e − ( b + n ) λ \pi(\lambda \mid x) \propto \lambda^{s}e^{-n\lambda} \cdot \lambda^{a-1}e^{-b\lambda} = \lambda^{a+s-1}e^{-(b+n)\lambda} π ( λ ∣ x ) ∝ λ s e − nλ ⋅ λ a − 1 e − bλ = λ a + s − 1 e − ( b + n ) λ
これは Ga ( a + s , b + n ) \text{Ga}(a + s, b + n) Ga ( a + s , b + n ) のカーネルである。
〔2〕事後平均は、次のように変形できる。
a + s b + n = b b + n ⋅ a b + n b + n ⋅ x ˉ \frac{a + s}{b + n} = \frac{b}{b + n} \cdot \frac{a}{b} + \frac{n}{b + n} \cdot \bar{x} b + n a + s = b + n b ⋅ b a + b + n n ⋅ x ˉ
a / b a/b a / b は事前平均なので、重みが b b b と n n n の重みつき平均である。
〔3〕a ′ = a + s a' = a + s a ′ = a + s 、b ′ = b + n b' = b + n b ′ = b + n とおく。λ \lambda λ について積分すると、ガンマ関数の積分から次を得る。
P ( X = k ∣ x ) = ∫ 0 ∞ e − λ λ k k ! ⋅ b ′ a ′ Γ ( a ′ ) λ a ′ − 1 e − b ′ λ d λ = Γ ( a ′ + k ) k ! Γ ( a ′ ) ( b ′ b ′ + 1 ) a ′ ( 1 b ′ + 1 ) k P(X = k \mid x) = \int_0^{\infty} \frac{e^{-\lambda}\lambda^{k}}{k!} \cdot \frac{b'^{a'}}{\Gamma(a')}\lambda^{a'-1}e^{-b'\lambda}\, d\lambda = \frac{\Gamma(a' + k)}{k!\,\Gamma(a')}\left(\frac{b'}{b' + 1}\right)^{a'}\left(\frac{1}{b' + 1}\right)^{k} P ( X = k ∣ x ) = ∫ 0 ∞ k ! e − λ λ k ⋅ Γ ( a ′ ) b ′ a ′ λ a ′ − 1 e − b ′ λ d λ = k ! Γ ( a ′ ) Γ ( a ′ + k ) ( b ′ + 1 b ′ ) a ′ ( b ′ + 1 1 ) k
これは負の二項分布である。
〔4〕事後分布は Ga ( 23 , 6 ) \text{Ga}(23, 6) Ga ( 23 , 6 ) である。事後平均は 23 / 6 = 3.83 23/6 = 3.83 23/6 = 3.83 、MAP推定値は 22 / 6 = 3.67 22/6 = 3.67 22/6 = 3.67 である。予測平均は E ( λ ∣ x ) = 3.83 E(\lambda \mid x) = 3.83 E ( λ ∣ x ) = 3.83 である。予測分散は、全分散の公式から次のようになる。
V ( X ∣ x ) = E ( λ ∣ x ) + V ( λ ∣ x ) = 23 6 + 23 36 = 4.47 V(X \mid x) = E(\lambda \mid x) + V(\lambda \mid x) = \frac{23}{6} + \frac{23}{36} = 4.47 V ( X ∣ x ) = E ( λ ∣ x ) + V ( λ ∣ x ) = 6 23 + 36 23 = 4.47
予測分散が平均より大きいのは、λ \lambda λ の不確かさの分が加わるからです。ここが、λ ^ \hat{\lambda} λ ^ を代入しただけの予測との違いです。
もう1つの基本形は、正規分布の平均です。σ 2 \sigma^2 σ 2 を既知として、μ \mu μ の事前分布を N ( m 0 , τ 0 2 ) N(m_0, \tau_0^2) N ( m 0 , τ 0 2 ) とします。指数の中の μ \mu μ の2次式を、平方完成します。
− 1 2 { n ( μ − y ˉ ) 2 σ 2 + ( μ − m 0 ) 2 τ 0 2 } = − 1 2 ( n σ 2 + 1 τ 0 2 ) ( μ − m 1 ) 2 + 定数 -\frac{1}{2}\left\{\frac{n(\mu - \bar{y})^2}{\sigma^2} + \frac{(\mu - m_0)^2}{\tau_0^2}\right\} = -\frac{1}{2}\left(\frac{n}{\sigma^2} + \frac{1}{\tau_0^2}\right)(\mu - m_1)^2 + \text{定数} − 2 1 { σ 2 n ( μ − y ˉ ) 2 + τ 0 2 ( μ − m 0 ) 2 } = − 2 1 ( σ 2 n + τ 0 2 1 ) ( μ − m 1 ) 2 + 定数
ここから、事後の精度は2つの精度の和で、事後平均 m 1 m_1 m 1 は精度で重みをつけた平均だと分かります。準1級の公式が、平方完成の1行から出ました。
次に、一般的な性質を2つ確認します。
【事後分布の一般的な性質】
事後分布は十分統計量だけに依存する: 分解定理 f ( x ∣ θ ) = g ( T ( x ) , θ ) h ( x ) f(x \mid \theta) = g(T(x), \theta)h(x) f ( x ∣ θ ) = g ( T ( x ) , θ ) h ( x ) の h ( x ) h(x) h ( x ) が約分で消える
データを分けて更新しても結果は同じ: x 1 x_1 x 1 の事後分布を事前分布として x 2 x_2 x 2 で更新すると、f ( x 2 ∣ θ ) f ( x 1 ∣ θ ) π ( θ ) f(x_2 \mid \theta)f(x_1 \mid \theta)\pi(\theta) f ( x 2 ∣ θ ) f ( x 1 ∣ θ ) π ( θ ) に比例する
最後に、事前分布の選び方です。情報がないときの候補に、ジェフリーズの事前分布 があります。フィッシャー情報量 I ( θ ) I(\theta) I ( θ ) を使って、次のように定めます。
π ( θ ) ∝ I ( θ ) \pi(\theta) \propto \sqrt{I(\theta)} π ( θ ) ∝ I ( θ )
利点は、母数の変換に左右されないことです。ϕ = g ( θ ) \phi = g(\theta) ϕ = g ( θ ) と変換すると、I ( ϕ ) = I ( θ ) ( d θ / d ϕ ) 2 I(\phi) = I(\theta)(d\theta/d\phi)^2 I ( ϕ ) = I ( θ ) ( d θ / d ϕ ) 2 です。したがって、I ( ϕ ) = I ( θ ) ∣ d θ / d ϕ ∣ \sqrt{I(\phi)} = \sqrt{I(\theta)}\,|d\theta/d\phi| I ( ϕ ) = I ( θ ) ∣ d θ / d ϕ ∣ となり、これは密度の変数変換の公式そのものです。どちらの母数で「無情報」と言っても同じ結論になるのです。
例えば、二項分布なら I ( p ) = n / { p ( 1 − p ) } I(p) = n/\{p(1-p)\} I ( p ) = n / { p ( 1 − p )} なので、事前分布は p − 1 / 2 ( 1 − p ) − 1 / 2 p^{-1/2}(1-p)^{-1/2} p − 1/2 ( 1 − p ) − 1/2 に比例します。これは Beta ( 1 / 2 , 1 / 2 ) \text{Beta}(1/2, 1/2) Beta ( 1/2 , 1/2 ) です。10回中7回成功なら、事後分布は Beta ( 7.5 , 3.5 ) \text{Beta}(7.5, 3.5) Beta ( 7.5 , 3.5 ) で、事後平均は0.682です。
補足(ここは読み飛ばしてOK):
ポアソン分布なら λ − 1 / 2 \lambda^{-1/2} λ − 1/2 となり、積分が発散します。こうした事前分布を非正則と呼びます。非正則でも、事後分布の積分が有限なら使えます。答案では、事後分布が確率分布になることを確かめます。
試験のポイント:答案では「θ \theta θ を含む部分だけに注目する」と宣言してから比例の記号を使います。a a a や b b b などの定数を、最後に分布の名前で回収します。
以上が、事後分布の導き方についての解説です。
ベイズ推定量:損失から最適な推定量を導く
次に、ベイズ推定量について説明します。
推定値 a a a を報告したときの痛手を、損失関数 L ( θ , a ) L(\theta, a) L ( θ , a ) で表します。ベイズ推定量 は、事後分布による損失の期待値を最小にする a a a です。
δ ( x ) = arg min a E { L ( θ , a ) ∣ x } \delta(x) = \arg\min_{a} E\{L(\theta, a) \mid x\} δ ( x ) = arg a min E { L ( θ , a ) ∣ x }
冒頭の傘の判断と同じ形です。この δ \delta δ は、θ \theta θ と x x x の両方で平均をとったベイズリスクも最小にします。ベイズリスクは、積分の順序を入れ替えると、「x x x ごとの事後期待損失」を x x x の周辺分布で平均したものだからです。各 x x x で最小にすれば、全体も最小になります。
損失の形で、答えが変わります。1つずつ導きましょう。
【損失関数とベイズ推定量】
二乗損失 ( θ − a ) 2 (\theta - a)^2 ( θ − a ) 2 : 事後平均
絶対損失 ∣ θ − a ∣ |\theta - a| ∣ θ − a ∣ : 事後中央値
0-1損失(ごく小さな幅で一致すれば損失0): 事後モード(MAP)
1番の証明です。m = E ( θ ∣ x ) m = E(\theta \mid x) m = E ( θ ∣ x ) とすると、次の分解ができます。
E { ( θ − a ) 2 ∣ x } = V ( θ ∣ x ) + ( m − a ) 2 E\{(\theta - a)^2 \mid x\} = V(\theta \mid x) + (m - a)^2 E {( θ − a ) 2 ∣ x } = V ( θ ∣ x ) + ( m − a ) 2
第1項は a a a を含まないので、a = m a = m a = m で最小です。
2番の証明です。E ( ∣ θ − a ∣ ∣ x ) E(|\theta - a| \mid x) E ( ∣ θ − a ∣ ∣ x ) を a a a で微分すると、P ( θ < a ∣ x ) − P ( θ > a ∣ x ) P(\theta < a \mid x) - P(\theta > a \mid x) P ( θ < a ∣ x ) − P ( θ > a ∣ x ) になります。これが0になるのは、両側の確率が等しいとき、つまり a a a が事後中央値のときです。的当てに例えると、大きく外すほど罰が増える二乗損失は的の重心を、外した距離に比例する絶対損失は的の中央値を狙う、というイメージです。
例題:二項分布のベイズ推定量のリスク
X ∼ B ( n , θ ) X \sim B(n, \theta) X ∼ B ( n , θ ) とし、事前分布を Beta ( a , b ) \text{Beta}(a, b) Beta ( a , b ) とする。〔1〕二乗損失のベイズ推定量 δ \delta δ を求めよ。〔2〕δ \delta δ の平均二乗誤差を求めよ。〔3〕a = b = n / 2 a = b = \sqrt{n}/2 a = b = n /2 のとき、平均二乗誤差が θ \theta θ によらないことを示せ。〔4〕n = 16 n = 16 n = 16 のとき、この δ \delta δ と最尤推定量 X / n X/n X / n の平均二乗誤差を比べよ。
【解答】
〔1〕事後分布は Beta ( a + x , b + n − x ) \text{Beta}(a + x, b + n - x) Beta ( a + x , b + n − x ) だから、δ = ( X + a ) / ( n + a + b ) \delta = (X + a)/(n + a + b) δ = ( X + a ) / ( n + a + b ) である。
〔2〕分散と偏りの2乗の和である。
MSE ( θ ) = n θ ( 1 − θ ) + { a − ( a + b ) θ } 2 ( n + a + b ) 2 \text{MSE}(\theta) = \frac{n\theta(1 - \theta) + \{a - (a + b)\theta\}^2}{(n + a + b)^2} MSE ( θ ) = ( n + a + b ) 2 n θ ( 1 − θ ) + { a − ( a + b ) θ } 2
〔3〕a = b = n / 2 a = b = \sqrt{n}/2 a = b = n /2 を代入すると、{ a − ( a + b ) θ } 2 = n ( 1 / 2 − θ ) 2 \{a - (a + b)\theta\}^2 = n(1/2 - \theta)^2 { a − ( a + b ) θ } 2 = n ( 1/2 − θ ) 2 だから、分子は次のようになる。
n θ − n θ 2 + n 4 − n θ + n θ 2 = n 4 n\theta - n\theta^2 + \frac{n}{4} - n\theta + n\theta^2 = \frac{n}{4} n θ − n θ 2 + 4 n − n θ + n θ 2 = 4 n
よって、MSE = n / 4 ( n + n ) 2 = 1 4 ( n + 1 ) 2 \text{MSE} = \dfrac{n/4}{(n + \sqrt{n})^2} = \dfrac{1}{4(\sqrt{n} + 1)^2} MSE = ( n + n ) 2 n /4 = 4 ( n + 1 ) 2 1 で、θ \theta θ によらない。
〔4〕n = 16 n = 16 n = 16 なら δ = ( X + 2 ) / 20 \delta = (X + 2)/20 δ = ( X + 2 ) /20 で、MSE = 0.01 \text{MSE} = 0.01 MSE = 0.01 である。最尤推定量の平均二乗誤差は θ ( 1 − θ ) / 16 \theta(1 - \theta)/16 θ ( 1 − θ ) /16 で、θ = 0.5 \theta = 0.5 θ = 0.5 で0.0156、θ = 0.1 \theta = 0.1 θ = 0.1 で0.0056である。0.2 < θ < 0.8 0.2 < \theta < 0.8 0.2 < θ < 0.8 では δ \delta δ のほうが小さい。
事前分布を置いた推定量が、最尤推定量より多くの θ \theta θ で優れることがあります。逆に、0や1に近い θ \theta θ では負けます。つまり、一様に最もよい推定量はありません。
補足(ここは読み飛ばしてOK):
リスクが一定のベイズ推定量は、最大リスクを最小にするミニマックス推定量になります。もし最大リスクがより小さい推定量があれば、それはベイズリスクも小さくなり、定義に矛盾するからです。
試験のポイント:どの損失でどの推定量になるかだけでなく、二乗損失と絶対損失の証明を書けるようにします。
以上が、ベイズ推定量についての説明です。
ギブスサンプリング:条件付きなら解ける
続いて、ギブスサンプリングについて解説します。
母数が複数あると、同時事後分布は共役の形になりません。しかし、他の母数を固定すれば、1つの母数の分布は知っている形になることがよくあります。この事実を使うのが ギブスサンプリング です。
母数を θ = ( θ 1 , … , θ d ) \theta = (\theta_1, \dots, \theta_d) θ = ( θ 1 , … , θ d ) とします。θ j \theta_j θ j 以外をすべて固定したときの θ j \theta_j θ j の条件付き分布を、完全条件付き分布 と呼びます。同時事後分布の式で、θ j \theta_j θ j を含む因子だけを残せば、これが得られます。
【ギブスサンプリングの手順】
初期値を決める
θ 1 \theta_1 θ 1 を、他の最新の値を固定した完全条件付き分布から引く
θ 2 , … , θ d \theta_2, \dots, \theta_d θ 2 , … , θ d も同様に、1つずつ順に引く
2と3をくり返す
全員の席を一度に決めるのは難しくても、他の人の席を固定して1人ずつ座り直すなら簡単です。これをくり返すと、全体の席順が目標の分布に落ち着きます。
なぜ正しいのでしょうか? 2変数で、θ 1 \theta_1 θ 1 を更新する1歩を、前回のMHアルゴリズムと見なします。提案 q q q を完全条件付き分布 π ( y 1 ∣ x 2 ) \pi(y_1 \mid x_2) π ( y 1 ∣ x 2 ) とします。x = ( x 1 , x 2 ) x = (x_1, x_2) x = ( x 1 , x 2 ) から y = ( y 1 , x 2 ) y = (y_1, x_2) y = ( y 1 , x 2 ) への採択確率の比を計算しましょう。
π ( y ) q ( x ∣ y ) π ( x ) q ( y ∣ x ) = π ( x 2 ) π ( y 1 ∣ x 2 ) ⋅ π ( x 1 ∣ x 2 ) π ( x 2 ) π ( x 1 ∣ x 2 ) ⋅ π ( y 1 ∣ x 2 ) = 1 \frac{\pi(y)\, q(x \mid y)}{\pi(x)\, q(y \mid x)} = \frac{\pi(x_2)\pi(y_1 \mid x_2) \cdot \pi(x_1 \mid x_2)}{\pi(x_2)\pi(x_1 \mid x_2) \cdot \pi(y_1 \mid x_2)} = 1 π ( x ) q ( y ∣ x ) π ( y ) q ( x ∣ y ) = π ( x 2 ) π ( x 1 ∣ x 2 ) ⋅ π ( y 1 ∣ x 2 ) π ( x 2 ) π ( y 1 ∣ x 2 ) ⋅ π ( x 1 ∣ x 2 ) = 1
採択確率はいつも1です。つまり、ギブスサンプリングは、提案が必ず採択されるMHアルゴリズムなのです。
具体的に見てみましょう。2値の変数 ( x , y ) (x, y) ( x , y ) の同時確率が次の表で与えられたとします。
y = 0 y = 0 y = 0 y = 1 y = 1 y = 1 x = 0 x = 0 x = 0 0.3 0.2 x = 1 x = 1 x = 1 0.1 0.4
条件付き確率は、P ( y = 1 ∣ x = 0 ) = 0.4 P(y = 1 \mid x = 0) = 0.4 P ( y = 1 ∣ x = 0 ) = 0.4 、P ( y = 1 ∣ x = 1 ) = 0.8 P(y = 1 \mid x = 1) = 0.8 P ( y = 1 ∣ x = 1 ) = 0.8 、P ( x = 1 ∣ y = 0 ) = 1 / 4 P(x = 1 \mid y = 0) = 1/4 P ( x = 1 ∣ y = 0 ) = 1/4 、P ( x = 1 ∣ y = 1 ) = 2 / 3 P(x = 1 \mid y = 1) = 2/3 P ( x = 1 ∣ y = 1 ) = 2/3 です。x x x から y y y を引き、その y y y から次の x x x を引くので、x x x の連鎖の推移確率は、途中の y y y で場合分けして求まります。
P ( 0 → 1 ) = 0.6 × 1 4 + 0.4 × 2 3 = 5 12 , P ( 1 → 0 ) = 0.2 × 3 4 + 0.8 × 1 3 = 5 12 P(0 \to 1) = 0.6 \times \frac{1}{4} + 0.4 \times \frac{2}{3} = \frac{5}{12}, \qquad P(1 \to 0) = 0.2 \times \frac{3}{4} + 0.8 \times \frac{1}{3} = \frac{5}{12} P ( 0 → 1 ) = 0.6 × 4 1 + 0.4 × 3 2 = 12 5 , P ( 1 → 0 ) = 0.2 × 4 3 + 0.8 × 3 1 = 12 5
定常分布は ( 1 / 2 , 1 / 2 ) (1/2, 1/2) ( 1/2 , 1/2 ) で、表の周辺分布 P ( x = 0 ) = 0.5 P(x = 0) = 0.5 P ( x = 0 ) = 0.5 と一致しました。
せっかくなので、連続の例も見てみましょう。平均0、分散1、相関 ρ \rho ρ の2変量正規分布では、x ∣ y ∼ N ( ρ y , 1 − ρ 2 ) x \mid y \sim N(\rho y, 1 - \rho^2) x ∣ y ∼ N ( ρ y , 1 − ρ 2 ) です。y y y を経由して x t x_t x t から x t + 1 x_{t+1} x t + 1 へ進むと、次のようになります。
x t + 1 ∣ x t ∼ N ( ρ 2 x t , 1 − ρ 4 ) x_{t+1} \mid x_t \sim N(\rho^2 x_t,\ 1 - \rho^4) x t + 1 ∣ x t ∼ N ( ρ 2 x t , 1 − ρ 4 )
これは自己回帰の係数が ρ 2 \rho^2 ρ 2 の連鎖です。前回の公式から、分散の倍率は ( 1 + ρ 2 ) / ( 1 − ρ 2 ) (1 + \rho^2)/(1 - \rho^2) ( 1 + ρ 2 ) / ( 1 − ρ 2 ) です。ρ = 0.9 \rho = 0.9 ρ = 0.9 なら約9.5倍で、変数どうしの相関が強いほど、連鎖の動きは遅くなります。
例題:平均と分散が未知の正規分布
データ 4, 6, 5, 7, 8 が N ( μ , σ 2 ) N(\mu, \sigma^2) N ( μ , σ 2 ) に従う。事前分布は独立に μ ∼ N ( 0 , 100 ) \mu \sim N(0, 100) μ ∼ N ( 0 , 100 ) 、σ 2 ∼ IG ( 1 , 1 ) \sigma^2 \sim \text{IG}(1, 1) σ 2 ∼ IG ( 1 , 1 ) (逆ガンマ分布、密度は ( σ 2 ) − a − 1 e − b / σ 2 (\sigma^2)^{-a-1}e^{-b/\sigma^2} ( σ 2 ) − a − 1 e − b / σ 2 に比例)とする。〔1〕完全条件付き分布を導け。〔2〕σ 2 = 2 \sigma^2 = 2 σ 2 = 2 のときの μ \mu μ の条件付き分布と、μ = 6 \mu = 6 μ = 6 のときの σ 2 \sigma^2 σ 2 の条件付き分布を求めよ。
【解答】
〔1〕同時事後分布は次の式に比例する。
( σ 2 ) − n / 2 exp { − ∑ ( y i − μ ) 2 2 σ 2 } exp { − ( μ − m 0 ) 2 2 τ 0 2 } ( σ 2 ) − a − 1 exp ( − b σ 2 ) (\sigma^2)^{-n/2}\exp\left\{-\frac{\sum(y_i - \mu)^2}{2\sigma^2}\right\}\exp\left\{-\frac{(\mu - m_0)^2}{2\tau_0^2}\right\}(\sigma^2)^{-a-1}\exp\left(-\frac{b}{\sigma^2}\right) ( σ 2 ) − n /2 exp { − 2 σ 2 ∑ ( y i − μ ) 2 } exp { − 2 τ 0 2 ( μ − m 0 ) 2 } ( σ 2 ) − a − 1 exp ( − σ 2 b )
σ 2 \sigma^2 σ 2 を固定すると μ \mu μ の2次式だから、正規分布である。精度は 1 / τ 0 2 + n / σ 2 1/\tau_0^2 + n/\sigma^2 1/ τ 0 2 + n / σ 2 、平均は ( m 0 / τ 0 2 + n y ˉ / σ 2 ) (m_0/\tau_0^2 + n\bar{y}/\sigma^2) ( m 0 / τ 0 2 + n y ˉ / σ 2 ) を精度で割った値である。
μ \mu μ を固定すると σ 2 \sigma^2 σ 2 の部分は ( σ 2 ) − ( a + n / 2 ) − 1 exp [ − { b + ∑ ( y i − μ ) 2 / 2 } / σ 2 ] (\sigma^2)^{-(a + n/2) - 1}\exp[-\{b + \sum(y_i - \mu)^2/2\}/\sigma^2] ( σ 2 ) − ( a + n /2 ) − 1 exp [ − { b + ∑ ( y i − μ ) 2 /2 } / σ 2 ] だから、IG ( a + n / 2 , b + ∑ ( y i − μ ) 2 / 2 ) \text{IG}(a + n/2,\ b + \sum(y_i - \mu)^2/2) IG ( a + n /2 , b + ∑ ( y i − μ ) 2 /2 ) である。
〔2〕y ˉ = 6 \bar{y} = 6 y ˉ = 6 である。σ 2 = 2 \sigma^2 = 2 σ 2 = 2 なら、精度は 0.01 + 2.5 = 2.51 0.01 + 2.5 = 2.51 0.01 + 2.5 = 2.51 で、μ ∼ N ( 15 / 2.51 , 1 / 2.51 ) = N ( 5.98 , 0.398 ) \mu \sim N(15/2.51,\ 1/2.51) = N(5.98, 0.398) μ ∼ N ( 15/2.51 , 1/2.51 ) = N ( 5.98 , 0.398 ) である。μ = 6 \mu = 6 μ = 6 なら、∑ ( y i − 6 ) 2 = 10 \sum(y_i - 6)^2 = 10 ∑ ( y i − 6 ) 2 = 10 だから、σ 2 ∼ IG ( 3.5 , 6 ) \sigma^2 \sim \text{IG}(3.5, 6) σ 2 ∼ IG ( 3.5 , 6 ) である。
この2つの分布を交互に20万回引くと、μ \mu μ の事後平均は約5.97、95%信用区間は約 (4.4, 7.5)、σ 2 \sigma^2 σ 2 の事後平均は約3.0となりました。手で積分できない事後分布が、乱数で手に入ります。
試験のポイント:完全条件付き分布は、同時分布の式から対象の母数を含む因子だけを抜き出して求めます。ギブスサンプリングでは棄却がありません。
以上が、ギブスサンプリングについての解説です。
階層ベイズモデル:事前分布もデータから学ぶ
最後に、階層ベイズモデルを見ていきましょう。
階層ベイズモデル は、事前分布の母数にも、さらに分布を置くモデルです。冒頭の疑問への、1つの答えでもあります。事前分布を人が決める代わりに、似たグループのデータから学ぶのです。
例えば、シーズン序盤に5打数4安打の新人がいたとします。打率8割だとは、誰も思いませんよね。これまでの選手全体の打率を知っているからです。階層モデルは、この当たり前の判断を式にします。
モデルは3段で書けます。グループ j j j の標本平均 y ˉ j \bar{y}_j y ˉ j の分散を v = σ 2 / n v = \sigma^2/n v = σ 2 / n として、次のようにします。
y ˉ j ∣ θ j ∼ N ( θ j , v ) , θ j ∣ μ , τ 2 ∼ N ( μ , τ 2 ) , ( μ , τ 2 ) ∼ π ( μ , τ 2 ) \bar{y}_j \mid \theta_j \sim N(\theta_j, v), \qquad \theta_j \mid \mu, \tau^2 \sim N(\mu, \tau^2), \qquad (\mu, \tau^2) \sim \pi(\mu, \tau^2) y ˉ j ∣ θ j ∼ N ( θ j , v ) , θ j ∣ μ , τ 2 ∼ N ( μ , τ 2 ) , ( μ , τ 2 ) ∼ π ( μ , τ 2 )
μ \mu μ と τ 2 \tau^2 τ 2 を 超母数 (ハイパーパラメータ)と呼びます。θ j \theta_j θ j は、番号を入れ替えても同じ同時分布をもつ交換可能な変数です。
μ \mu μ と τ 2 \tau^2 τ 2 を固定すれば、1段目と2段目は正規分布の平均の問題そのものです。精度の重みで、θ j \theta_j θ j の事後平均が求まります。
E ( θ j ∣ y ˉ j , μ , τ 2 ) = ( 1 − B ) y ˉ j + B μ , B = v v + τ 2 E(\theta_j \mid \bar{y}_j, \mu, \tau^2) = (1 - B)\bar{y}_j + B\mu, \qquad B = \frac{v}{v + \tau^2} E ( θ j ∣ y ˉ j , μ , τ 2 ) = ( 1 − B ) y ˉ j + B μ , B = v + τ 2 v
事後分散は ( 1 − B ) v (1 - B)v ( 1 − B ) v です。B B B を 縮小係数 と呼びます。グループの平均は、全体の平均 μ \mu μ に向かって、B B B の割合だけ縮みます。データが少なく v v v が大きいほど、またグループの差 τ 2 \tau^2 τ 2 が小さいほど、強く縮みます。力の強い綱引きの相手に引っ張られるようなものです。
超母数は、どうやって決めるのでしょうか? θ j \theta_j θ j を積分で消すと、y ˉ j \bar{y}_j y ˉ j の周辺分布が得られます。
y ˉ j ∣ μ , τ 2 ∼ N ( μ , τ 2 + v ) \bar{y}_j \mid \mu, \tau^2 \sim N(\mu,\ \tau^2 + v) y ˉ j ∣ μ , τ 2 ∼ N ( μ , τ 2 + v )
ここがポイントです。J J J 個のグループ平均のばらつきに、τ 2 \tau^2 τ 2 の情報が入っています。y ˉ ˉ \bar{\bar{y}} y ˉ ˉ を y ˉ j \bar{y}_j y ˉ j の平均として、S = ∑ j ( y ˉ j − y ˉ ˉ ) 2 S = \sum_j (\bar{y}_j - \bar{\bar{y}})^2 S = ∑ j ( y ˉ j − y ˉ ˉ ) 2 とすると、E { S / ( J − 1 ) } = τ 2 + v E\{S/(J - 1)\} = \tau^2 + v E { S / ( J − 1 )} = τ 2 + v です。この関係を使って超母数を推定値で置き換える方法を、経験ベイズ法 と呼びます。
例題:5クラスの平均の縮小推定
同じ大きさの5クラスの平均点が 58, 62, 66, 70, 74 である。各クラスの平均の分散は v = 16 v = 16 v = 16 で既知とする。〔1〕μ \mu μ と τ 2 \tau^2 τ 2 をモーメント法で推定せよ。〔2〕縮小係数を求めよ。〔3〕各クラスの θ j \theta_j θ j の推定値を求めよ。
【解答】
〔1〕μ ^ = 66 \hat{\mu} = 66 μ ^ = 66 である。S = 64 + 16 + 0 + 16 + 64 = 160 S = 64 + 16 + 0 + 16 + 64 = 160 S = 64 + 16 + 0 + 16 + 64 = 160 で、S / ( J − 1 ) = 40 S/(J - 1) = 40 S / ( J − 1 ) = 40 だから、τ ^ 2 = 40 − 16 = 24 \hat{\tau}^2 = 40 - 16 = 24 τ ^ 2 = 40 − 16 = 24 である。
〔2〕B ^ = 16 / 40 = 0.4 \hat{B} = 16/40 = 0.4 B ^ = 16/40 = 0.4 である。
〔3〕θ ^ j = 66 + 0.6 ( y ˉ j − 66 ) \hat{\theta}_j = 66 + 0.6(\bar{y}_j - 66) θ ^ j = 66 + 0.6 ( y ˉ j − 66 ) だから、順に 61.2, 63.6, 66, 68.4, 70.8 である。
もとの平均の幅が16点あったのに、推定値の幅は9.6点に縮みました。
経験ベイズ法は、μ \mu μ と τ 2 \tau^2 τ 2 の不確かさを無視しています。階層ベイズモデルでは、それも事後分布に含めて、ギブスサンプリングで計算します。π ( μ ) ∝ 1 \pi(\mu) \propto 1 π ( μ ) ∝ 1 、τ 2 ∼ IG ( a , b ) \tau^2 \sim \text{IG}(a, b) τ 2 ∼ IG ( a , b ) とすると、完全条件付き分布は次の3つです。
【階層モデルのギブスサンプリング】
θ j ∣ μ , τ 2 , y ∼ N ( ( 1 − B ) y ˉ j + B μ , ( 1 − B ) v ) \theta_j \mid \mu, \tau^2, y \sim N((1 - B)\bar{y}_j + B\mu,\ (1 - B)v) θ j ∣ μ , τ 2 , y ∼ N (( 1 − B ) y ˉ j + B μ , ( 1 − B ) v )
μ ∣ θ , τ 2 ∼ N ( θ ˉ , τ 2 / J ) \mu \mid \theta, \tau^2 \sim N(\bar{\theta},\ \tau^2/J) μ ∣ θ , τ 2 ∼ N ( θ ˉ , τ 2 / J )
τ 2 ∣ θ , μ ∼ IG ( a + J / 2 , b + ∑ j ( θ j − μ ) 2 / 2 ) \tau^2 \mid \theta, \mu \sim \text{IG}(a + J/2,\ b + \sum_j (\theta_j - \mu)^2/2) τ 2 ∣ θ , μ ∼ IG ( a + J /2 , b + ∑ j ( θ j − μ ) 2 /2 )
どれも、これまでに導いた形の組み合わせです。
補足(ここは読み飛ばしてOK):
3個以上の平均を同時に推定するとき、全体の二乗誤差の和の意味で、平均をそのまま使う推定量は最善ではありません。縮小するジェームズ・スタイン推定量がこれを改善します。このとき、平均へ縮める場合の係数は ( J − 3 ) v / S (J - 3)v/S ( J − 3 ) v / S で、上の例なら0.2です。
試験のポイント:縮小係数は「v v v と τ 2 \tau^2 τ 2 のどちらの分散が大きいか」で決まります。周辺分布の分散が τ 2 + v \tau^2 + v τ 2 + v になることを、導けるようにします。
以上が、階層ベイズモデルについての解説です。
細かい計算を忘れてしまっても問題ありません。ここでは、「事前分布と損失を決めれば、あとは確率の計算だけで答えが決まる」という点だけ押さえておきましょう。
今回のまとめ
それでは、今回の内容を振り返ります。
今回はベイズ法を、導出から紹介しました。事後分布はカーネルの形を見抜いて導き、最適な推定量は損失から定理として出て、計算は完全条件付き分布の組み合わせで進みます。そして、階層ベイズモデルでは、事前分布そのものをデータから学びます。冒頭の「人が決めるのに最適と言えるのか」という疑問には、「何を前提としたかを明示して、その前提のもとで最適を証明する」と答えられます。
今回のポイントを振り返りましょう。
振り返り
事後分布は「尤度 × 事前分布」から、θ \theta θ を含む因子だけで導く。
ジェフリーズの事前分布は I ( θ ) \sqrt{I(\theta)} I ( θ ) に比例し、母数の変換に左右されない。
二乗損失なら事後平均、絶対損失なら事後中央値がベイズ推定量である。
ギブスサンプリングは、採択確率がいつも1のMHアルゴリズムである。
階層ベイズモデルでは、グループの平均が全体の平均へ B = v / ( v + τ 2 ) B = v/(v + \tau^2) B = v / ( v + τ 2 ) の割合で縮む。
キーワードのおさらい
事前分布: データを見る前の母数の不確かさを表す分布
事後分布: データを見たあとの母数の分布。尤度 × 事前分布に比例する
階層ベイズモデル: 事前分布の母数にも分布を置くモデル
ギブスサンプリング: 完全条件付き分布から1つずつ順に乱数を引くMCMC
ここまでお疲れさまでした。これで、1級の統計数理の記事はすべて終わりです。確率の公理から出発して、分布、推定、検定、回帰、分割表、順位、不完全データ、シミュレーション、ベイズ法と、理論を自分の手で導く道を歩いてきました。「公式を使う」から「公式を作る」へ、大きな一歩を踏み出したはずです。
さて、ここまでの理論は、データが手元にあることから話を始めていました。しかし、実際の仕事で最初に悩むのは、そのデータをどう集めるかです。実験をするのか、観察するのか、調査するのか。この選び方を誤ると、どんな理論でも結論を救えません。
次回からは、1級の統計応用に入ります。最初は、研究の種類として、実験・観察・調査について紹介します。
それでは、次の記事へ進んでいきましょう。