ベイズ統計入門

涌井良幸. 2009, 『道具としての ベイズ統計』, 日本実業出版社, 東京.
を読んでの覚え書きです.私の勝手な解釈・誤植・間違いなどあるかと思いますので,参照される際は原典にあたることを強くおすすめします.
ちなみに,私の読んだベイズ統計の入門書のなかでは,この本が一番,わかりやすさと専門性のバランスが程良いと感じました.実例で用いているのがExcelなのが,唯一の難点かもしれませんが…

ベイズ理論とは

ダイナミックな統計手法
・事前情報を取り込み,確率 (確率分布) を更新していく柔軟さ
・階層モデルで多数の分布を融合
・「真の母数」自体を確率変数として考える


例えばコイントスをしたとして,表裏の出る確率が不明であっても,事前知識によって値を設定して計算できる.また,計算をくり返すなかで事前知識を更新していき,よりもっともらしい確率モデルに近づけていける.
言い換えると,母集団における「真の値」を仮定せず,得られたデータを素直に理論に取り込んでいくということ.


ベイジアンネットワーク

因果関係をノードとリンクで表現した確率モデル.それぞれのノードで事象の確率を与えておくことで,ある変数の値が決まったとき,他の未観測の変数の確率分布を求めることができる.


例えば,
 T: 友達からメールが来た
 M: 迷惑メールが来た
 F: 迷惑フォルダにメールが振り分けられた


について,以下のような確率を仮定する.


 P_t(T= 0) = 0.95 友だちからメールが来ない確率は0.95
 P_t(T = 1)= 0.05 友だちからメールが来る確率は0.05


 P_m(M = 0) = 0.90 迷惑メールが来ない確率は0.90
 P_m(M = 1) = 0.10 迷惑メールが来る確率は0.10


 P_f(F = 0 | T = 0 \cap M = 0) = 0.99 メールが来ていない
 P_f(F = 1 | T = 0 \cap M = 0) = 0.01 迷惑メールが来たことになっている!
 P_f(F = 0 | T = 1 \cap M = 0) = 0.95 友達からのメールを正しく受信
 P_f(F = 1 | T = 1 \cap M = 0) = 0.10 友達からのメールを誤って迷惑フォルダに
 P_f(F = 0 | T = 0 \cap M = 1) = 0.09 迷惑メールを誤って受信フォルダに
 P_f(F = 1 | T = 0 \cap M = 1) = 0.91 迷惑メールを正しく排除
 P_f(F = 0 | T = 1 \cap M = 1) = 0.45 友達が送ってきた迷惑メールをそのまま受信
 P_f(F = 1 | T = 1 \cap M = 1) = 0.55 友達が送ってきた迷惑メールを正しく排除


これを用いることで,例えば  P(F|T) などを計算できる.
ネットワークを重層化していくことで,連鎖する現象の一部について推定が可能になる.
ノードの部分においた仮定を,実験・観測・経験などで更新していくことも可能.


条件付き確率とベイズの定理

まず

 A Bの同時確率  P(A \cap B)
 Aのもとで Bが起こる条件付き確率 P(A|B)
 P(B|A) = P(B \cap A) / P(A)
 P(A \cap B) = P(B|A)P(A) …乗法定理


乗法定理より,
 P(A \cap B) = P(B|A)P(A) = P(A|B)P(B)
 P(A \cap B)を消去して
 P(A|B) = P(B|A)P(A) / P(B)ベイズの定理


 A,  Bをそれぞれ \theta (仮説を代表する母数) と D (data) と置き,離散的な点確率ではなく連続的な確率分布を仮定して,
 \pi(A|B) = f(B|A) \pi( \theta) / P(D)
これは, Dが与えられたときに  \thetaが成り立つ確率 (事後確率分布) を, \thetaのもとで Dが成り立つ確率を与える関数 (尤度関数) と  \thetaについての事前知識 (事前確率分布) から逆算している,ということになる.


さらに

ベイズ統計では Dが与えられた後のことを考えるので, P(D) は定数となる.
よって,
 \pi(A|B) \propto f(B|A) \pi( \theta)
「事後分布は,尤度と事前分布の積に比例する」ということ.


ところが,尤度と事前分布の積の計算は複雑になることが多い.そこで,以下2つの方法が取られる.
a. 自然な共役分布を利用 (尤度関数と相性の良い事前分布を用いて,公式的に事後分布を算出)
b. MCMC (複雑なモデルをそのまま用いて,多数回サンプリングによって近似的に分布を抽出)


自然な共役分布

尤度関数と相性のよい事前分布を用いて,計算を簡単にする.
一覧
事前・事後分布 尤度 表記
ベータ分布 [1, 2] 二項分布[3, 4]  Be(p, q)
正規分布 [5] 正規分布  D( \mu,  \sigma^2)
逆ガンマ分布 [6] 正規分布 (分散未知のとき)  IG( \alpha,  \lambda)
ガンマ分布 ポアソン分布  Ga( \alpha,  \lambda)

ベータ分布: 0-1の値をとる一様分布に従う確率変数 (p + q - 1) 個を大きさの順に並べかえたとき,小さい方から p番目の確率変数 xの分布のこと.ただしベイズ統計では,この確率的性質というよりは,関数の形 (計算のしやすさ) が利用されている.
正規分布に従う尤度関数: 分散が未知のときは, \mu正規分布に, \sigma^2は逆ガンマ分布に従うと仮定して計算する.
ガンマ分布: 統計的性質はあまり調べられていない.ベイズ統計で重宝されるのは,関数の形ゆえ.

[1] ベータ分布 (Wikipedia) http://ja.wikipedia.org/wiki/%E3%83%99%E3%83%BC%E3%82%BF%E5%88%86%E5%B8%83
[2] ベータ分布 (NtRand) http://www.ntrand.com/jp/beta-distribution/
[3] 二項分布 (Wikipedia) http://ja.wikipedia.org/wiki/%E4%BA%8C%E9%A0%85%E5%88%86%E5%B8%83
[4] 二項分布 (青木繁伸) http://aoki2.si.gunma-u.ac.jp/lecture/Bunpu/nikou.html
[5] 正規分布 (Wikipedia) http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E5%88%86%E5%B8%83
[6] ガンマ分布 (Wikipedia) http://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%B3%E3%83%9E%E5%88%86%E5%B8%83


MCMC

複雑なモデルをそのまま用いて,多数回サンプリングによって近似的に分布を抽出する.
マルコフ連鎖: ひとつ手前の状態の性質のみから,次の状態が決まる確率過程.適度なランダムさを有する (完全にランダムだと,ひとつ手前の状態すら関与しないことになる).
モンテカルロ法: 与えられた関数を再現するように点列を抽出して,近似的に関数の積分値を求める方法. f(x)の関数値に比例した密度の有限個の点をサンプリング.


MCMCを実行する方法には以下のようなものがある.

ギブス法

各変数に対し順番に,それ以外の変数を固定したときの条件付き確率分布から点をサンプリングする試行をくり返す方法.


2変数からなる確率分布を例にとると,
1. 初期値 y_0を指定
2.  P(x, y_0)から x_1をサンプリング
3.  P(x_1, y)から y_1をサンプリング
4.  P(x, y_1)から x_2をサンプリング
5. 以下繰り返し
となる.


事後分布が複雑なものはサンプリングが困難なため,自然な共役分布と相性が良い.


メトロポリス

確率が高い方へはすみやかに移動し,低い方へはなかなか移動しないような動きでサンプリングする方法.
1. 現在の値 x_tからステップ間隔 \epsilonを決め, x'( = x_t +  \epsilon) を調べる
2. 以下を実行
 P(x') \geq P(x_t) \to x_{t+1} = x'
 P(x') < P(x_t) \to 確率 r x_{t+1} = x',確率 1-r x_{t+1} = x_t
3.  r = P(x') / P(x_t)


多変数の場合は, x \epsilonがベクトルになる.
ステップ間隔の設定が重要で,小さすぎると局所最大値にとらわれ,大きすぎると計算がたくさん必要になる.


メトロポリス・へイスティング法では, rの計算式に提案密度が付加されより一般的になる.


MCMCに必要な性質

1. 詳細釣り合い条件
任意の tに対し,
 P(w_t)S(w_t \to w_{t+1}) = P(w_{t+1})S(w_{t+1} \to w_t)
が成り立つこと.
これより,必然的に,
 P(w_t) > P(w_{t+1})なら
 S(w_t \to w_{t+1}) < S(w_{t+1} \to w_t)
となる.逆も成り立つ.
つまり,確率の高いほうに動きやすく,低いほうには動きにくい,という性質.


2. エルゴート性
任意の2つの状態 w w'のあいだの遷移確率が,有限個の0でない Sの積で表される,という性質.
有限個のステップで,任意の2つの状態を行き来できるということ.


階層ベイズ

それぞれの個性が大きいデータに対し,母数を他種類用意してモデル化する方法.他種類の母数を尤度として,事前分布との積を求める.母数群にはハイパーパラメータでしばりをかける.
  \pi( \theta|D)\propto f(D| \theta)g( \theta)
において, g( \theta)が事前分布 g( \theta| \alpha)で表されるとき,
  \pi( \theta|D)\propto f(D| \theta)g( \theta| \alpha)
 \alphaは母数  \thetaを規定するハイパーパラメータ.