データ解析のための統計モデリング 読書会 第8章
DESCRIPTION
第8章の発表資料です. 誤字脱字がなどが見つかったら,更新版を再度アップしますTRANSCRIPT
自己紹介ステータス!
• @piroyoung
!
!
• 家具作りが好き
!
!
!
• 数学(ゲーム理論) → (物流 → 小売)→ データなんとか
装備!
• R → Python, SQL, VBA, Stan, Ruby,…
!
スキル・興味!
• アドテク系の基礎研
• 最近はずっとベイジアン
• Python修行中
• テキストマイニングでもっと何かしたい.
1
!
「データ解析のための統計モデリング入門」読書会 8章
マルコフ連鎖モンテカルロ(MCMC)法と ベイズ統計モデル
@piroyoung !
みずかみ ひろき
2
• みどりぼんの内容+補足
• ベイズ統計とメトロポリス法の雰囲気がつかめればゴール
• My Chains Must Convergeと願うようになったら優勝
• gistにサンプルコードあります.#みどりぼん 参照
• その道のプロの方はMasakariをどうぞ
今日やる事とスコープ
3
• 8.0 はじめに ベイズ統計とMCMC • 8.1 例題:種子の生存確率(個体差なし) • 8.2 ふらふら試行錯誤による最尤推定 • 8.3 MCMCアルゴリズムのひとつ:メトロポリス法
• 8.3.1 メトロポリス法でサンプリングしてみる • 8.3.2 マルコフ連鎖の定常分布 • 8.3.3 この定常分布は何をあらわす分布なのか
• 8.4 MCMCサンプリングとベイズ統計モデル • 8.5 補足説明
• 8.5.1 メトロポリス法と定常分布の関係 • 8.5.2 ベイズの定理
目次
4
• 8.0 はじめに ベイズ統計とMCMC • 8.1 例題:種子の生存確率(個体差なし) • 8.2 ふらふら試行錯誤による最尤推定 • 8.3 MCMCアルゴリズムのひとつ:メトロポリス法
• 8.3.1 メトロポリス法でサンプリングしてみる • 8.3.2 マルコフ連鎖の定常分布 • 8.3.3 この定常分布は何をあらわす分布なのか
• 8.4 MCMCサンプリングとベイズ統計モデル • 8.5 補足説明
• 8.5.1 メトロポリス法と定常分布の関係 • 8.5.2 ベイズの定理
5
事後分布の計算は 難しい
8.0 はじめに ベイジアンでは積分が大変
7
8.0 はじめに ベイジアンでは積分が大変
θの次元だけの重積分・・・!?8
8.0 はじめに
• ベイジアンでは積分が大変
• マルコフ連鎖はいろんな乱数を効率よく生成する.
• 大量のサンプルから全体を類推するモンテカルロ法
マルコフ連鎖モンテカルロ法!による事後分布の推定
9
• 8.0 はじめに ベイズ統計とMCMC • 8.1 例題:種子の生存確率(個体差なし) • 8.2 ふらふら試行錯誤による最尤推定 • 8.3 MCMCアルゴリズムのひとつ:メトロポリス法
• 8.3.1 メトロポリス法でサンプリングしてみる • 8.3.2 マルコフ連鎖の定常分布 • 8.3.3 この定常分布は何をあらわす分布なのか
• 8.4 MCMCサンプリングとベイズ統計モデル • 8.5 補足説明
• 8.5.1 メトロポリス法と定常分布の関係 • 8.5.2 ベイズの定理
10
問題設定!• 架空の植物:20個体
• 各個体から種子を8個サンプル
• 個体 のサンプル中の生存種子数を とする.
• この を2項分布 でモデリングしたい.
8.1 例題:種子の生存確率(個体差なし)
i = 1, 2, · · · , 20
i yi
yi yi ⇠ B(8, q)
11
最尤推定法!!
!
なる尤度関数に対して尤度方程式
!
!
を解けばよいが・・ の最尤推定量は既知なので
!
!
と計算できる
8.1 例題:種子の生存確率(個体差なし)
L(q) = f(Y|q) =Y
i
f(yi|q)
d
dqL(q) = 0
q
qmle =
Pki=1 Xi
kn=
73
20 · 8 = 0.45625
12
対数尤度関数を書く
8.1 例題:種子の生存確率(個体差なし)
qmle
13
• 8.0 はじめに ベイズ統計とMCMC • 8.1 例題:種子の生存確率(個体差なし) • 8.2 ふらふら試行錯誤による最尤推定 • 8.3 MCMCアルゴリズムのひとつ:メトロポリス法
• 8.3.1 メトロポリス法でサンプリングしてみる • 8.3.2 マルコフ連鎖の定常分布 • 8.3.3 この定常分布は何をあらわす分布なのか
• 8.4 MCMCサンプリングとベイズ統計モデル • 8.5 補足説明
• 8.5.1 メトロポリス法と定常分布の関係 • 8.5.2 ベイズの定理
14
つまり計算機を用いた最尤推定!• のとりうる値を0.01刻みに制限する
1. 初期点を適当に選ぶ 2. 両端の点をどちらかランダムに選ぶ 3. 対数尤度が増加していれば新しい点に移動する
4. 対数尤度が非増加ならば元の点に留まる….
8.2 ふらふら試行錯誤による最尤推定
15
q
8.2 ふらふら試行錯誤による最尤推定
16
• 8.0 はじめに ベイズ統計とMCMC • 8.1 例題:種子の生存確率(個体差なし) • 8.2 ふらふら試行錯誤による最尤推定 • 8.3 MCMCアルゴリズムのひとつ:メトロポリス法
• 8.3.1 メトロポリス法でサンプリングしてみる • 8.3.2 マルコフ連鎖の定常分布 • 8.3.3 この定常分布は何をあらわす分布なのか
• 8.4 MCMCサンプリングとベイズ統計モデル • 8.5 補足説明
• 8.5.1 メトロポリス法と定常分布の関係 • 8.5.2 ベイズの定理
17
メトロポリス法(Metropolis method)!
1. 初期点をランダムに選ぶ 2. 両端の点をどちらかランダムに選ぶ 3. 対数尤度が増加していれば新しい点に移動する
4. 対数尤度が非増加な場合も確率 で新しい点を選ぶ
ここで は
!
!
により定義する.
8.3 MCMCアルゴリズムのひとつ:メトロポリス法
18
r
r =
L(qnew)
L(q)= exp (logL(qnew)� logL(q))
r
8.3.1 メトロポリス法でサンプリングしてみる
19
8.3.1 メトロポリス法でサンプリングしてみる
20
これらのグラフの正体とは?衝撃の結末はCMの後!!
MCMC一般のお話 ベイズ統計・定常分布・詳細つり合い
↓ メトロポリス法は
MCMCアルゴリズムだ
• パラメータを分布で推定する.
• 新しいサンプルが得られるたびに分布を更新しながら精度を上げる
• 事前分布 がデータ を学習して へ.
• 更新にはベイズの定理
!!!
を用いる
ベイズ統計の概要
23
f(q) f(q|Y)Y
f(q|Y) =f(Y|q)f(q)Rf(Y|q)f(q)dq
←こんな感じで更新!
• 2つの駅A・Bが複線で連結している
• 2台の車両が同時に一瞬で,繰り返し発着する
• 初期状態ではAに100人 Bに0人の乗客がいる
• 毎回A駅からは25%の顧客が,B駅からは全員が乗車する
• いつしかA,Bから発着する乗客の数が等しくなる
!!
• そのとき乗客数は A : B = 80 : 20 で変わらなくなる,
!!
• 詳細釣り合いは定常分布の十分条件
• 詳細釣り合いを満たす定常分布はそんなに無い(ぜひ例を!)
マルコフ連鎖の定常分布 とMCMC(雰囲気編)
24
詳細釣り合い(detailed balance)
定常分布(stationary)
マルコフ連鎖の定常分布 とMCMC (理論編)
25
X = {1, 2, · · · , n} : 状態空間(state space) この状態空間の中を離散時間でランダムウォーク するモデルを考える.
p(i, j) : 状態 から状態 への推移確率i j
P := (p(i, j))i,j2X : 確率推移行列
Pこのとき推移行列 はある条件(非周期性)で
なる確率分布 を持ち,これを定常分布という.⇡ 2 Rn
飛ばしまくったので質問・ツッコミどうぞ!
⇡P = ⇡
p := (p1, p2, · · · , pi, · · · , pn) : 上の確率分布X
26
確率分布 が任意の状態 においてx, y 2 X
p
x
p(x, y) = p
y
p(y, x)
p
となるとき は詳細釣り合いの条件を満たすという. これは が定常分布である事の十分条件である. これは変形すると
p
p
と書ける.
p
x
p
y
=p(y, x)
p(x, y)
マルコフ連鎖の定常分布 とMCMC (理論編)
飛ばしまくったので質問・ツッコミどうぞ!
←任意の2点間の流量 の平衡!
=f(Y|qnew)f(qnew)
f(Y|q)f(q)
から への推移確率 と から への推移確率 の比が 詳細釣り合いを満たし(1)かつ
q qnew p(q, qnew)
qnew q p(qnew, q)
⇡(qnew)
⇡(q)=
p(q, qnew)
p(qnew, q)
なる推移確率の比を持つ(2)とする. ここで は尤度, は事前分布, は定常分布.f(Y|q) f(q) ⇡(·)
マルコフ連鎖の定常分布 とMCMC (理論編)
飛ばしまくったので質問・ツッコミどうぞ!
R⇡(qnew)dqnew
⇡(q)=
Rf(Y|qnew)f(qnew)dqnew
f(Y|q)f(q)
1
⇡(q)=
Rf(Y|q)f(q)dqf(Y|q)f(q)
⇡(q) =f(Y|q)f(q)Rf(Y|q)f(q)dq
= f(q|Y)
定常分布が事後分布になる.
すると・・・・・
マルコフ連鎖の定常分布 とMCMC (理論編)
飛ばしまくったので質問・ツッコミどうぞ!
←ベイズの定理
マルコフ連鎖の定常分布 とMCMC (理論編)
いま, なるサンプルを任意の数だけ 得る事が出来る.一般に
=
Z
Rh(q)f(q|Y)dq
q1, q2, · · · ⇠ f(q|Y)
1
n
X
i
h(qi) ! E[h(q)]
となるが,とくに とおけば1
n
X
i
1[�1,q](qi) ! F (q)
d
dqF (q) = f(q|Y)
モンテカルロ積分!
←事後分布の分布関数
h(qi) = 1[�1,q](qi)
つまり事後分布の値が計算できる!
飛ばしまくったので質問・ツッコミどうぞ!
MCMC一般のお話 ベイズ統計・定常分布・詳細つり合い
↓ メトロポリス法は
MCMCアルゴリズムだ
8.3.2 この定常分布は何を表す分布なのか?
31
メトロポリス法が定めるマルコフ連鎖の定常分布は 詳細つり合いを満たす.証明は割愛・・・ !一般に隣の点を飛び越えられない1次元ランダムウォークの 定常分布は詳細つり合いを満たす
参考:確率過程の基礎, R.Durret, springer japan p76.出生死亡連鎖
メトロポリス法(Metropolis method) -詳細つり合い-
・・・<=> ● <=> ● <=> ● <=>・・・
8.3.2 この定常分布は何を表す分布なのか?
32
p(q, qnew) =1
2
L(qnew)
L(q)
p(qnew, q) =1
2
と の尤度を比較したときそれが非増加だとするとq qnew
がいえる.このとき推移確率の比は常に
となる(推移確率の条件).
メトロポリス法(Metropolis method) -推移確率の比-
p(q, qnew)
p(qnew, q)=
L(qnew)
L(q)=
L(qnew)f(qnew)
L(q)f(q)
f(q) =
(1 (q 2 [0, 1])
0 (otherwise)事前分布→
8.3.1 メトロポリス法でサンプリングしてみる
33
メトロポリス法(Metropolis method) -事後分布-
詳細つり合いを満たし,かつ推移確率の条件を満たす.得られるサンプルは 事後分布からのランダムサンプルだった!
代表値としては中央値・最頻値・平均値などが使われる.
8.3.1 メトロポリス法でサンプリングしてみる
34
Burn-in Warmup
Sample
Iteration
Burn-in : 初期値の影響を排除する焼き捨て Sample: 事後分布からのサンプル Iteration: 総シミュレーション数 Thinning:自己相関を排除するサンプル間隔
まとめ
• ベイズ統計で,柔軟なモデリングができる
• 事後分布の計算は難しい
• それをMCMC法が解決する.
• 実務ではStan・Bugs/Jags・PyMCなどを使う
• メトロポリス法は使われていない.
• Gibbs Sampling / Hamiltonian Monte Carloが優勢
参考書籍
• Gelman et al, Bayesian Data Analysis, CRC
• R Durret, 確率過程の基礎, Springer Japan
• Ya.G.Shinai, シナイ確率論入門コース, Springer Japan
ご清聴ありがとう ございました