統計モデリング 第六回配布資料 - osaka...
TRANSCRIPT
2019年5月21日@統計モデリング
担当:田中冬彦
統計モデリング第六回 配布資料
文献:a) C. P. Robert and G. Casella: Monte Carlo Statistical Methods. 2nd ed., Springer, 2004.
配布資料の一部は以下からもDLできます. 短縮URL http://tinyurl.com/lxb7kb8
b) C. P. Robert and G. Casella: Introducing Monte Carlo Methods with R. Springer, 2010.
c) J. Albert: Bayesian Computation with R. 2nd ed. Springer, 2009
b,c は日本語訳 (ともに石田基広, 石田和枝訳, 丸善出版) あり
理解度チェック:ベイズファクター
前回の講義内容に沿って〇か×をつけてください
ベイズファクターは定義から必ず1以上になる(数学的に示せる)
スポーツ関係のデータなど, 大量の情報が分析に使える場合, それらをすべて加味した統計モデルを最初に構築すべきである。
ベイズ統計でも, 通常の統計(頻度論的な統計)と同様にパラメータの推定や仮説検定などができる.
ベイズファクターでは3つ以上の統計モデルの比較も可能である.
尤度関数はデータが与えられた下でのパラメータの関数である.
今日の内容
1.導入2.モンテカルロ法3.マルコフ連鎖4.定常分布5.マルコフ連鎖モンテカルロ法~Metropolis-Hastings Method
6.マルコフ連鎖モンテカルロ法~Gibbs Sampler
1. 導入
の関数形が簡単な形)|( xθπ
事後分布に関する計算
これまで(第4回、第5回)
1次元のパラメータθ
がんばれば手計算できるレベルだった・・・
次回以降 (第8回、第9回)
の関数形が簡単でない形)|( xθπ多次元のパラメータθ
簡単な例でも実際のベイズ分析では計算機の使用が必須になる!
今日の題材
モンテカルロ法
(ベイズに限らず)乱数を利用して積分や最大値の探索などを行う数値手法全般
本講義でのMCMC法の位置づけ
・受講者全員に対して, 実装は要求しない(今回限り動作原理を紹介)
・ただし、グループタスクでMCMC法を実装できると望ましい【主に 統計研究室の学生】
マルコフ連鎖モンテカルロ法(MCMC法)
乱数の生成にマルコフ連鎖を利用
2. モンテカルロ法
モンテカルロサンプリング
条件
任意の初期値 からスタートして, の時に, そのヒストグラムがある特定の確率分布(ターゲット分布) に近づいていく.
モンテカルロサンプリング
一般に乱数を利用して, を以下を満たすように順次
生成する方法(簡単のため, 1次元として説明).
,,,, )()2()1( Mθθθ
∞→M)0(θ
実際のM 個の値 を(サイズMの)モンテカルロサンプル
(MCサンプル)という
)()2()1( ,,, Mθθθ
)(θp
モンテカルロサンプル (MCサンプル)
(理論上は からのIIDサンプル【後述】で十分だが, 応用上, 問題あり))(θp
モンテカルロサンプルの重要性
-3 -2 -1 0 1 2
0.0
0.1
0.2
0.3
0.4
posterior distribution
theta
dist
ribut
ion
sample histogram
x
Freq
uenc
y
-2 -1 0 1 2
05
1015
∞→M
)()2()1( ,,, Mθθθ のヒストグラム ターゲット分布
(定義から) モンテカルロサンプルは, 十分 M を大きくとれば、
ターゲット分布の良い近似を与える. (多次元の分布でも同様)
要点
このことから、ターゲット分布の積分の近似計算が可能になる
モンテカルロサンプルを用いた積分の近似
モンテカルロサンプルを利用して積分の近似値を求める方法
)()2()1( ,,, Mθθθ
)|( xθπ
モンテカルロサンプル(MCサンプル)
モンテカルロ積分
モンテカルロ積分の例
(一般には高次元の積分で使うが, 説明のため1次元積分ですべて考える)
∑=
≈M
j
j
M 1
)(1 θ
]|[d)|( xEx θθθπθ =∫← MCサンプルの単純平均
ターゲット分布
histogram of x
x_norm
Den
sity
-4 -2 0 2 4
0.0
0.1
0.2
0.3
モンテカルロ積分の実装例
)()2()1( ,,, Mθθθ
Rの組み込み関数からIIDで発生 (M=10^6; 5ケタで表示)
-1.1788 0.8820 1.1108 -1.9134 0.1768
1.1042 -1.2245 1.0239 1.0574 -1.5943
.............
set.seed(61250);Nsim <- 10^6; x_norm <- rnorm(Nsim); print(mean(x_norm)); print(var(x_norm));hist(x_norm, freq=F, breaks=20, xlim=c(-5,5), main="histogram of x", col=2); curve(dnorm(x), add=T);
実行結果;[1] -0.001283968[1] 0.9992965
← 理論値は 0← 理論値は1 0.1 % 程度の誤差
ターゲット分布: ~ N(0,1)θMCサンプル:
][],[ 2θθ EE の近似値を計算
考えてみよう
∫1
8.0d)|( θθπ x 0.8 から1の間に入る の数
M
)( jθ
問: 十分な数のMCサンプルがあれば, 事後分布に関する様々な量が簡単な近似計算で求められる. 例にならってMCサンプル を用いた近似計算の式を与えよ. 【モンテカルロ法】
例:
(a)
(b)
∑=
M
j
j
M 1
2)( )(1 θ≈∫ θθπθ d)|(2 x
≈
)()2()1( ,,, Mθθθ
2
1 ( | )d1
xπ θ θθ
≈+∫ ( ) 2
1
1 11 ( )
M
jjM θ= +∑
理想的なサンプリング
計算機上で, ターゲット分布 から毎回、独立に乱数を生成できるとする
)(~,,,...
)()2()1( θθθθ pdii
M
このとき, をIIDサンプルとよび最良の MCサンプル)()2()1( ,,, Mθθθ
1.1次元、もしくは多次元の有名な確率分布はIIDサンプルを効率よく生成できる.
2.1次元,2次元の場合は、変数変換と逆関数法(1次元)、棄却法などで、あらゆる確率分布でIIDサンプルを効率よく生成できる.
IIDサンプル利用の目安
)(θp
IIDサンプル
3.1, 2以外の場合は効率が悪い【=ものすごく遅い】かも・・・・
ベイズ統計の難点
ターゲット分布
本当に欲しいもの (IIDサンプル)
10個のサンプルで10時間かかってる・・・・
)|(~,,,...
)()2()1( xdii
M θπθθθ
(関数形が簡単な形でない;有名なタイプではない・・・))|( xθπ← 高次元のパラメータθ
(高次元)事後分布のIIDサンプルは時間がかかってしまうことが多い!!
3. マルコフ連鎖
マルコフ核
以下を満たす条件付き分布の族をマルコフ核 (Markov kernel)という.
X: (簡単のため)有限集合
XyXx ∈∀∈∀ ,
1)|( =∑∈Xx
yxK
,0)|( ≥yxKXy∈∀
== ][ |yxKK
x
5/410/105/15/410/3
010/110/7y
マルコフ核の例: 行列として表示y=3 の時の条件付き分布{ }3,2,1=X
マルコフ核をアルゴリズム的に表示
== ][ |yxKK
x
5/410/105/15/410/3
010/110/7
y
1 2 3
Xの3点を確率的に動き回るアルゴリズム
710
310
110
45 1
10
15
45
練習してみよう問:とうけい村の毎日の天気は, 以下のルールで確率的に定まるものとする.
== ][ |yxKK
5/410/105/15/410/3
010/110/7晴
ある日の天気がy の時, 翌日の天気がx になる(条件付き)確率は
1. 今日は「くもり」とする。明日、晴れる確率は?
),|( yxK
くもり 雨
晴
くもり
雨
ルール
2*.今日は「晴れ」とする。2日後、雨の確率は?
101
翌日の天気
となる.
1003
101
103
=×
マルコフ核の性質
マルコフ核はX 上の確率分布 (確率ベクトル)を確率分布に写す
∑∈
=Xy
ypyxKxp )()|()(~
1)( =∑∈Xx
xp
Kpp =~
=
)2()1(
pp
pXxxp ∈∀≥ ,0)(
以下の計算で, 新しい確率分布(確率ベクトル)が生じる
行列とベクトルの表記を用いると
マルコフ連鎖
初期値を としてマルコフ核から次のように乱数(確率変数)の列が得られる
(その意味で をマルコフ連鎖とよぶことも)
Xx ∈0
,,,, 21 txxxこのように生成する確率変数の列がマルコフ連鎖 (Markov Chain)
)|(~| 11 tttt xxKxx ++
XyxyxK ∈,)}|({
XyxyxK ∈,)}|({ X上のマルコフ核
マルコフ連鎖
例:1次元ランダムウオーク簡単のため 1次元の座標を格子点にとる
00 =xtx
1次元格子点上のランダムウオークルール1. 時刻 t=0 に原点からスタート2. 各時刻(t=1,2,3,...)ごとに、1/2 の確率で右に、1/2の確率で左に1ステップ進む。
3. 各時刻ごとの位置(座標)を記録する
時刻 t (=0,1,2,3,...)での座標を とする.
,,,, 21 txxx
{ },2,1,0 ±±=X
(確率変数の列!)が マルコフ連鎖
1/21/2
例:1次元ランダムウオーク簡単のため 1次元の座標を格子点にとる
マルコフ核による表現
ルール2を数式で表現(翻訳)する
21)|1( 1 ==+=+ jxjxK tt
0)|( 1 ===+ jxlxK tt
21)|1( 1 ==−=+ jxjxK tt
1±≠ jl の時
1/21/2
例:1次元ランダムウオーク
1/2
1/2
tx
0 200 400 600 800 1000
-30
-20
-10
010
2030
Random Walk
1:Nsim
x
time
トレースプロット
ステップ数 (時刻 t)
例:1次元山登りウオーク
概略: 各時刻ごとに、以下の確率で右または左に1ステップ進む。
-30 -20 -10 0 10 20 30
02
46
810
Mountain
x
Prob
.
p(x)
)1()1()1(−++
+jpjp
jp==+=+ )|1( 1 jxjxK tt==−=+ )|1( 1 jxjxK tt )1()1(
)1(−++
−jpjp
jp
考えてみよう
p(x)
-30 -20 -10 0 10 20 30
02
46
810
Mountain
x
Prob
.
問:今, j=20 の位置にいるとする.右に移動する確率 (j=21), 左に移動する確率 (j=19) , 確率が高いのはどっち?
左に移動(山を登る) ・ 右に移動(山をくだる)
0 2000 4000 6000 8000 10000
-20
-10
010
20
Get-Higher Walk
time
x
例:1次元山登りウオーク
tx
最初のランダムウオークよりも. 原点(山の頂上)付近をうろうろしている!
0 200 400 600 800 1000
-30
-20
-10
010
2030
Random Walk
1:Nsim
x
例:1次元山登りウオーク
(山の曲線 p(x) と似た形になっている・・・)
実際のデータ値(1ずつ変化!)
x1 =-1 x2 =-2x3 =-1x4 =0.....
x9998 =12x9999 =13x10000=12
histogram of x
x
Den
sity
-30 -20 -10 0 10 20 30
0.00
0.01
0.02
0.03
0.04
0.05
p(x)
各時刻ごとの位置 を標本とみなしてヒストグラムを作成 ,,,, 21 txxx
ここまでのまとめ
数学的にはマルコフ核で表現
,,,, 21 txxx
XyxyxK ∈,)}|({今いる場所 ( ) に応じて, 次の場所 を適当な確率で選んで移動
各時刻 t ごとの場所(座標)
tx 1+tx
マルコフ連鎖(アルゴリズムとして表現)
1次元山登りウオーク
独立同一(IID)な分布から発生していない
,,,, 21 txxx山の標高に相当する正の関数 が与えられている.)(xp
4. 定常分布
定常分布
,,,, 21 txxxのヒストグラムは
この確率分布を
∞→t
マルコフ連鎖の性質
定常分布 という.
マルコフ連鎖から発生させたデータ
で, ある確率分布 に近づく
-3 -2 -1 0 1 2
0.0
0.1
0.2
0.3
0.4
posterior distribution
theta
dist
ribut
ion
sample histogram
x
Freq
uenc
y
-2 -1 0 1 2
05
1015
∞→t
のヒストグラムの関数形
,,,, 21 txxx )(xp∞
)(xp∞
定常分布の数学的な定義
以下を満たす確率分布 (確率ベクトル)を定常分布という
XxxpypyxKXy
∈∀=∑∈
),()()|(
XyxyxK ∈,)}|({ X上のマルコフ核
XxxpdyypyxK ∈∀=∫ ),()()|(1.連続値の場合
定常分布をもたないマルコフ核や複数存在することもある. しかし, この後は唯一存在すると仮定して話を進める.
補足
2.定常分布の存在
定常分布
計算してみよう
問*: 3つの状態を遷移するマルコフ核K が以下の行列で与えられている.
(a) 行列K、ベクトルα について, Kα を求めてみよ.
=
5/410/105/15/410/3
010/110/7K
=
362
α
また, なんとな~く, ベクトルα を右に与えておく.
本日のラッキーナンバー
は2,6,3 であります!
αα =
=
362
K
*(文系学部出身などで) 3×3の行列を習ってない場合は, やらなくてよい.
計算してみよう
,pKp =(b) (a) のKについて以下を満たす確率ベクトル p を求めよ. (これが定常分布!)
(c) (状態数有限の)マルコフ連鎖(マルコフ核K)が与えられたときに、
定常分布を求める問題は, 線形代数のどのような問題に対応しているか.
むむ!!
これは難しい線形代数の問題であります!
=
)3()2()1(
ppp
p
=
11/311/611/2
p0)3(),2(),1(
,1)3()2()1(≥=++
pppppp
固有値問題(固有値1をもつ固有ベクトルを求める問題)
MCMC法の核心
,,,, 21 txxxのヒストグラムは ∞→t
マルコフ連鎖の性質
は定常分布 からのMCサンプル
マルコフ連鎖から発生させたデータ
で, 定常分布 に近づく)(xp∞
,,,, 21 txxx )(xp∞
マルコフ連鎖によるMCサンプルの生成方法
)(xq MCサンプルを生成したい確率分布(=ターゲット分布)
を 定常分布 にもつような)(xqマルコフ核(マルコフ連鎖) を構成すればよい
ヒントらしき補足の話
行列 K が与えられたとき, 以下を満たす固有ベクトル を求める.
行列 K を求める.
応用での問題
数学 (線形代数)の問題
ppK
=
ベクトル が先に与えられて, これを固有ベクトルにもつようなp
p
*文系の方や, ヒントとしての意味合いがつかめてない方は、統計研究室の学生に後で聞いてください.
この後紹介するアルゴリズム
マルコフ連鎖の作り方(アルゴリズム)
- MH法 (Metropolis-Hastings Method)- Gibbs Sampler (Gibbs Sampling)
マルコフ連鎖を利用したモンテカルロサンプル(MCMCサンプル)を生成する方法
MCMC (Markov Chain Monte Carlo)法
理解してほしいこと
1. ターゲット分布 (事後分布)のモンテカルロサンプルをどのように出力するか【だいたいの流れ】
2. IIDサンプルとの違い (どこらへんがマルコフ連鎖??)3. その他、特徴やポイント
4.【統計研究室のみ】 収束証明の論理
5. マルコフ連鎖モンテカルロ法~ Metropolis-Hastings Method
MH法のアルゴリズム (1/2)
2.
(a) 行き先候補を確率的に選ぶ
tz 1+tz
)|(~ tprop zzqz
にいるとして, 次の行き先 を以下の手順で定める.
(b) 本当に移動するか踏みとどまるかある方法で決める
: 提案分布 (自由に設定)
移動する場合: propt zz =+1
とどまる場合: tt zz =+1
)|( yzq
を定常分布(事後分布)からのMzzz ,,, 21
補足: 実際には前半のサンプルは初期値依存性が強いため捨てる(M/2 程度).
モンテカルロサンプルとする
3.
(MCMCサンプルともよぶ.)
1. 初期値 を適当に定める.1z
MH法の実装例
ターゲット分布プログラム例
set.seed(1234);a <- 2.7; b <- 6.3; c <- 2.669;Nsim <- 5000;X <- rep(runif(1), Nsim);for (i in 2:Nsim){Y <- runif(1);rho <- dbeta(Y, a, b)/dbeta(X[i-1], a, b) ;X[i] <- X[i-1] + (Y - X[i-1] )* (runif(1) < rho);}
> round(X, 4)[1] 0.5529 0.5513 0.5513 0.5513 0.3947 0.3947 0.1566 0.5105 0.3486 0.3486[11] 0.3486 0.3993 0.3993 0.3993 0.3742 0.2580 0.2580 0.2580 0.2580 0.2580........
モンテカルロサンプル
踏みとどまったため, 同じ値が連続して出現!
)3.6,7.2(~ BetaX
3.57.1 )1()( xCxxf −=
4500 4550 4600 4650 4700 4750 4800
0.00.2
0.40.6
0.81.0
Trace Plot
time
X
MH法で生成した点をつなげたもの(トレースプロット)
MH法でのトレースプロット
> plot(X, type="l", xlim=c(4500,4800), ylim=c(0,1), main="Trace Plot", xlab="time")
histogram of MCMC
X
Freq
uenc
y
0.0 0.2 0.4 0.6 0.80
5010
020
030
0
histogram of rbeta
hikaku
Freq
uenc
y
0.0 0.2 0.4 0.6 0.8
050
100
200
300
MCMCサンプル(MH法)とRの組み込み関数rbeta() による独立同一サンプルの比較
MCMCサンプルと独立同一サンプルの比較
同じ場所 (値)を繰り返すが, IIDサンプルと同等のサンプル!(MCMCサンプルで積分計算してもOK)
MH法のアルゴリズム (2/2)
2.
(a) 行き先候補を確率的に選ぶ
tz 1+tz
)|(~ tprop zzqz
にいるとして, 次の行き先 を以下の手順で定める.
: 提案分布 (自由に設定))|( yzq
を定常分布(事後分布)からのMzzz ,,, 21
モンテカルロサンプルとする
3.
1. 初期値 を適当に定める.1z
(b) 以下の遷移確率 で移動
)()|()()|(
ttprop
proppropt
zpzzqzpzzq
=ρ
( なら必ず移動)1>ρ
ターゲット分布 (事後分布などを想定))(zp
参考:MH法の収束性
)()|()()|( ypyxKxpxyK = yx∀∀詳細つりあい条件を満たす分布 は, マルコフ核Kの定常分布になる.
p
*MH法の(a), (b) のやたら複雑な式→ ターゲット分布についてDBCを満たすようなマルコフ核K を作るため
詳細つり合い条件 (Detailed Balance Condition; DBC)
証明の方針
マルコフ連鎖 ,,,..., )1()()0( +tt xxx のマルコフ核Kを具体的に書き
ターゲット分布 p(x) が上の条件を満たしていることを示す. (詳細は文献参照)
MH法を用いるにあたって
難点: 思い通りに動き回らない (一か所に居続ける)
MH法は万能な方法だが難点も多く, 最後の手段→ 次に紹介するGSが使える場合は、GSも利用.
・初期値の設定や提案分布など個別の調整
GSとの併用
・結局はプログラミング!( デバッグ能力)
(数学的な意味での「収束」は例えば一兆ステップくらい必要かも.)
4500 4550 4600 4650 4700 4750 4800
0.00.2
0.40.6
0.81.0
Trace Plot
time
X
理解度チェック:MCMC法
MH法では, まず、次のステップの移動先として、適当な確率分布を用いて提案する必要がある.
MCMC法(MH法)で発生させたモンテカルロサンプルのヒストグラムは定常分布へ収束するが, 早く収束させる工夫は個別に必要である
MCMC法でサンプル数を増やしていくと, ほとんど一定の値しか出てこなくなり, 収束していく。
MH法では同じ値が連続して出てくるが、ターゲット分布への収束が確認できれば問題ない.
6. マルコフ連鎖モンテカルロ法
~ Gibbs Sampler
*Gibbs Sampling ともいう
Gibbs Sampler
Gibbs Sampling を紹介, 統計学者の間で認知され広まる
応用でGibbs Samplerを使った
周辺分布や同時分布が簡単に書けない(サンプリングが難しい)が、条件付き分布はサンプリングしやすい(正規分布など)場合に使う
使用の目安
向いている人
条件付き密度の計算(積分計算)に慣れている人向け
ツールの有無
BUGS, Stanなどで使用可. 商用ツールでベイズ分析用のモデルに組み込まれている
歴史的経緯
Geman and Geman (1984)
Gelfand and Smith (1990)
Two Stage Gibbs Samplingターゲット分布 (x, yの同時分布)
1. 初期値を選ぶ
)|(~| 1|11 −−− ⋅= tXYttt xfxXY
アルゴリズム
2. 条件付き分布から逐次的に を生成
),( yxfGSで使う分布: 条件付き分布 (こちらは比較的簡単な形)
)|(),|( || yxfxyf YXXY
00 xX =
)|(~| | tYXttt yfyYX ⋅=
tt yx ,
補足: 周辺分布 のモンテカルロサンプルは単に, を捨てればよい.)(xf X ty
3. がモンテカルロサンプル( ) ( ) ( )MM yxyxyx ,,,,,, 2211
(*この例は人工的な例)
Gibbs Samplingの実装例 (1/2)ターゲット分布
+−−= ηθθηθ
21exp)2/exp(),(
22Df
∞<<η0∞<<∞− θ
本当に欲しいもの (IID のモンテカルロサンプル)
多次元分布から、毎回、独立にサンプルを取り出すのは難しい
サンプリングむずかしそう・・・・
( ) ( ) ( ) ),(~,,,,,,...
2211 ηθηθηθηθ fdii
MM
Gibbs Samplingの実装例 (2/2)条件付分布は1次元の確率分布(正規分布& 指数分布)
+η
ηθ1
1,0~| N
+2
1~|2θθη Exp
1. 初期値を選ぶ
+ −− 2
)(1~|2
11
ttt Exp θθη
アルゴリズム
2. 条件付き分布から逐次的に を生成
)1,0(~0 Nθ( )tt ηθ ,
(a)
(b)
+ t
tt Nη
ηθ1
1,0~|
分布はなんでもよい
有名な1次元分布なので組み込み関数で済む(次のスライド)
Gibbs Samplingの実装
1. 初期値を選ぶ
)|(~| 1|11 −−− ⋅= tXYttt xfxXY
アルゴリズム(再掲)
2. 条件付き分布から逐次的に を生成
00 xX =
)|(~| | tYXttt yfyYX ⋅=
tt yx ,
Nsim <- 5000; theta <- eta <- array(0, dim=Nsim);#1. 初期値theta_0 <- rnorm(1);# 2 (a) eta[1] <- rgamma(1, shape=1, rate= (1+theta_0^2)/2);# 2 (b) theta[1] <- rnorm(1, mean=0, sd=1/sqrt( 1 + eta[1]));
for (t in 2:Nsim){# 2 (a)eta[t] <- rgamma(1, shape=1, rate= (1+theta[t-1]^2)/2);
# 2 (b)theta[t] <- rnorm(1, mean=0, sd=1/sqrt( 1 + eta[t]));}
プログラム例
半信半疑でしたが思ってたより簡単でした!!(板橋区・TKさん*)
* レビューはあくまで個人の感想です. 効果には個人差があります.
Histogram of eta
eta
Den
sity
0 5 10 15
0.0
0.1
0.2
0.3
0.4
0.5
Gibbs Samplingの実行結果
Histogram of theta
theta
Den
sity
-3 -2 -1 0 1 2 3
0.0
0.1
0.2
0.3
0.4
0.5
> param <- cbind(theta, eta)> param[50:100,]
theta eta[1,] -1.495317163 0.57113836[2,] -0.256467877 1.49928143[3,] -0.931856340 1.50184380...........> hist(theta, col=2, breaks=12, freq=F)> hist(eta, col=2, breaks=12, freq=F)
← モンテカルロサンプルを表示
↑ のみのヒストグラムを表示(周辺分布 の近似)θ
)(θf↑ のみのヒストグラムを表示(周辺分布 の近似)η
)(ηf
Multi Stage Gibbs Samplingターゲット分布
1. 初期値を選ぶ
),,|(~ )1()1(21
)(1
−−⋅ tp
tt xxfx
アルゴリズム
2. 条件付き分布から逐次的に を生成
),,,( 21 pxxxf
条件付き分布
),,,|(),,,|( 31221 pp xxxyfxxyf
)0()0(1 ,, pxx
)()(2
)(1 ,,, t
ptt xxx
),,,|(,, 121 −pp xxxyf
),,,|(~ )1()1(3
)(12
)(2
−−⋅ tp
ttt xxxfx
),,,|(~ )(1
)(2
)(1
)( tp
ttp
tp xxxfx −⋅
3. (p 次元ベクトルがM個) がモンテカルロサンプル)()2()1( ,,, Mxxx
),,,( 21 pxxxx =ただし,
参考:Gibbs Samplingの収束性
証明の方針
マルコフ連鎖
Gibbs sampler で生成される は以下のマルコフ核をもつマルコフ連鎖
※GSのマルコフ核は一般に詳細つりあい条件は満たしてない
)(zf
p=3 の場合(一般の場合も同様)
,,,..., )1()()0( +tt xxx のマルコフ核Kについて
ターゲット分布 f が定常分布であることを示す. (詳細は文献参照)
),|(),|(),|()|( 321131222133 yyzfyzzfzzzfyzK =
)(tx
また, )(~ yfy の時, z の分布は
∫= dyyfyzKzgz )()|()(~ところが g(z) はがんばって計算すると に一致する.
したがって, f はマルコフ連鎖の定常分布
理解度チェック:MCMC法2
高次元のパラメータに関する積分であっても、組み込み関数で簡単に独立乱数を発生できるなら、MCMC法は必要ない
Two Stage Gibbs Sampling では、同時分布f(x,y)からのサンプリングを利用して、条件付分布のモンテカルロサンプルを求める
Two Stage, Multi Stage Gibbs Sampling は, 条件付分布を利用して、逐次的にサンプリングするという点が同じである。
条件付き確率分布が簡単な形で書けない場合、MH法が使えないため、Gibbs Sampling を利用するしかない
1. フリー・商用 ともに, まずは類似の解析例を探す!
まとめ
MCMCでの分析が必要になったら
1.まずはシンプルな統計モデルで!(&共役事前分布を用いるなど)2.階層ベイズモデルなどMCMC前提のモデル
2. 類似例が見つからない、もしくはうまくいかない場合→ 自分で統計モデルをたてる
もしくは, 雇う?!
ベイズモデリングの指針
*最近, Stan (& Rから呼び出すRStan) も使われるようになっており,日本語の文献, web上の情報も増えてきた感がある.(→ 参考: 松浦健太郎著: StanとRでベイズ統計モデリング, 共立出版)
いよいよ, 第8・9回で本格的なベイズ分析を紹介(MH, GS なども利用.)