統計モデリング 第六回配布資料 - osaka...

56
2019521日@統計モデリング 担当:田中冬彦 統計モデリング 第六回 配布資料 文献: 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 は日本語訳 (ともに石田基広, 石田和枝訳, 丸善出版) あり

Upload: others

Post on 22-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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 は日本語訳 (ともに石田基広, 石田和枝訳, 丸善出版) あり

Page 2: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

理解度チェック:ベイズファクター

前回の講義内容に沿って〇か×をつけてください

ベイズファクターは定義から必ず1以上になる(数学的に示せる)

スポーツ関係のデータなど, 大量の情報が分析に使える場合, それらをすべて加味した統計モデルを最初に構築すべきである。

ベイズ統計でも, 通常の統計(頻度論的な統計)と同様にパラメータの推定や仮説検定などができる.

ベイズファクターでは3つ以上の統計モデルの比較も可能である.

尤度関数はデータが与えられた下でのパラメータの関数である.

Page 3: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

今日の内容

1.導入2.モンテカルロ法3.マルコフ連鎖4.定常分布5.マルコフ連鎖モンテカルロ法~Metropolis-Hastings Method

6.マルコフ連鎖モンテカルロ法~Gibbs Sampler

Page 4: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

1. 導入

Page 5: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

の関数形が簡単な形)|( xθπ

事後分布に関する計算

これまで(第4回、第5回)

1次元のパラメータθ

がんばれば手計算できるレベルだった・・・

次回以降 (第8回、第9回)

の関数形が簡単でない形)|( xθπ多次元のパラメータθ

簡単な例でも実際のベイズ分析では計算機の使用が必須になる!

Page 6: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

今日の題材

モンテカルロ法

(ベイズに限らず)乱数を利用して積分や最大値の探索などを行う数値手法全般

本講義でのMCMC法の位置づけ

・受講者全員に対して, 実装は要求しない(今回限り動作原理を紹介)

・ただし、グループタスクでMCMC法を実装できると望ましい【主に 統計研究室の学生】

マルコフ連鎖モンテカルロ法(MCMC法)

乱数の生成にマルコフ連鎖を利用

Page 7: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

2. モンテカルロ法

Page 8: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

モンテカルロサンプリング

条件

任意の初期値 からスタートして, の時に, そのヒストグラムがある特定の確率分布(ターゲット分布) に近づいていく.

モンテカルロサンプリング

一般に乱数を利用して, を以下を満たすように順次

生成する方法(簡単のため, 1次元として説明).

,,,, )()2()1( Mθθθ

∞→M)0(θ

実際のM 個の値 を(サイズMの)モンテカルロサンプル

(MCサンプル)という

)()2()1( ,,, Mθθθ

)(θp

モンテカルロサンプル (MCサンプル)

(理論上は からのIIDサンプル【後述】で十分だが, 応用上, 問題あり))(θp

Page 9: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

モンテカルロサンプルの重要性

-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 を大きくとれば、

ターゲット分布の良い近似を与える. (多次元の分布でも同様)

要点

このことから、ターゲット分布の積分の近似計算が可能になる

Page 10: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

モンテカルロサンプルを用いた積分の近似

モンテカルロサンプルを利用して積分の近似値を求める方法

)()2()1( ,,, Mθθθ

)|( xθπ

モンテカルロサンプル(MCサンプル)

モンテカルロ積分

モンテカルロ積分の例

(一般には高次元の積分で使うが, 説明のため1次元積分ですべて考える)

∑=

≈M

j

j

M 1

)(1 θ

]|[d)|( xEx θθθπθ =∫← MCサンプルの単純平均

ターゲット分布

Page 11: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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 の近似値を計算

Page 12: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

考えてみよう

∫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 θ= +∑

Page 13: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

理想的なサンプリング

計算機上で, ターゲット分布 から毎回、独立に乱数を生成できるとする

)(~,,,...

)()2()1( θθθθ pdii

M

このとき, をIIDサンプルとよび最良の MCサンプル)()2()1( ,,, Mθθθ

1.1次元、もしくは多次元の有名な確率分布はIIDサンプルを効率よく生成できる.

2.1次元,2次元の場合は、変数変換と逆関数法(1次元)、棄却法などで、あらゆる確率分布でIIDサンプルを効率よく生成できる.

IIDサンプル利用の目安

)(θp

IIDサンプル

3.1, 2以外の場合は効率が悪い【=ものすごく遅い】かも・・・・

Page 14: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

ベイズ統計の難点

ターゲット分布

本当に欲しいもの (IIDサンプル)

10個のサンプルで10時間かかってる・・・・

)|(~,,,...

)()2()1( xdii

M θπθθθ

(関数形が簡単な形でない;有名なタイプではない・・・))|( xθπ← 高次元のパラメータθ

(高次元)事後分布のIIDサンプルは時間がかかってしまうことが多い!!

Page 15: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

3. マルコフ連鎖

Page 16: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

マルコフ核

以下を満たす条件付き分布の族をマルコフ核 (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

Page 17: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

マルコフ核をアルゴリズム的に表示

== ][ |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

Page 18: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

練習してみよう問:とうけい村の毎日の天気は, 以下のルールで確率的に定まるものとする.

== ][ |yxKK

5/410/105/15/410/3

010/110/7晴

ある日の天気がy の時, 翌日の天気がx になる(条件付き)確率は

1. 今日は「くもり」とする。明日、晴れる確率は?

),|( yxK

くもり 雨

くもり

ルール

2*.今日は「晴れ」とする。2日後、雨の確率は?

101

翌日の天気

となる.

1003

101

103

Page 19: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

マルコフ核の性質

マルコフ核はX 上の確率分布 (確率ベクトル)を確率分布に写す

∑∈

=Xy

ypyxKxp )()|()(~

1)( =∑∈Xx

xp

Kpp =~

=

)2()1(

pp

pXxxp ∈∀≥ ,0)(

以下の計算で, 新しい確率分布(確率ベクトル)が生じる

行列とベクトルの表記を用いると

Page 20: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

マルコフ連鎖

初期値を としてマルコフ核から次のように乱数(確率変数)の列が得られる

(その意味で をマルコフ連鎖とよぶことも)

Xx ∈0

,,,, 21 txxxこのように生成する確率変数の列がマルコフ連鎖 (Markov Chain)

)|(~| 11 tttt xxKxx ++

XyxyxK ∈,)}|({

XyxyxK ∈,)}|({ X上のマルコフ核

マルコフ連鎖

Page 21: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

例: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

Page 22: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

例:1次元ランダムウオーク簡単のため 1次元の座標を格子点にとる

マルコフ核による表現

ルール2を数式で表現(翻訳)する

21)|1( 1 ==+=+ jxjxK tt

0)|( 1 ===+ jxlxK tt

21)|1( 1 ==−=+ jxjxK tt

1±≠ jl の時

1/21/2

Page 23: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

例:1次元ランダムウオーク

1/2

1/2

tx

0 200 400 600 800 1000

-30

-20

-10

010

2030

Random Walk

1:Nsim

x

time

トレースプロット

ステップ数 (時刻 t)

Page 24: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

例: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

Page 25: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

考えてみよう

p(x)

-30 -20 -10 0 10 20 30

02

46

810

Mountain

x

Prob

.

問:今, j=20 の位置にいるとする.右に移動する確率 (j=21), 左に移動する確率 (j=19) , 確率が高いのはどっち?

左に移動(山を登る) ・ 右に移動(山をくだる)

Page 26: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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

Page 27: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

例: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

Page 28: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

ここまでのまとめ

数学的にはマルコフ核で表現

,,,, 21 txxx

XyxyxK ∈,)}|({今いる場所 ( ) に応じて, 次の場所 を適当な確率で選んで移動

各時刻 t ごとの場所(座標)

tx 1+tx

マルコフ連鎖(アルゴリズムとして表現)

1次元山登りウオーク

独立同一(IID)な分布から発生していない

,,,, 21 txxx山の標高に相当する正の関数 が与えられている.)(xp

Page 29: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

4. 定常分布

Page 30: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

定常分布

,,,, 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∞

Page 31: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

定常分布の数学的な定義

以下を満たす確率分布 (確率ベクトル)を定常分布という

XxxpypyxKXy

∈∀=∑∈

),()()|(

XyxyxK ∈,)}|({ X上のマルコフ核

XxxpdyypyxK ∈∀=∫ ),()()|(1.連続値の場合

定常分布をもたないマルコフ核や複数存在することもある. しかし, この後は唯一存在すると仮定して話を進める.

補足

2.定常分布の存在

定常分布

Page 32: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

計算してみよう

問*: 3つの状態を遷移するマルコフ核K が以下の行列で与えられている.

(a) 行列K、ベクトルα について, Kα を求めてみよ.

=

5/410/105/15/410/3

010/110/7K

=

362

α

また, なんとな~く, ベクトルα を右に与えておく.

本日のラッキーナンバー

は2,6,3 であります!

αα =

=

362

K

*(文系学部出身などで) 3×3の行列を習ってない場合は, やらなくてよい.

Page 33: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

計算してみよう

,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をもつ固有ベクトルを求める問題)

Page 34: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

MCMC法の核心

,,,, 21 txxxのヒストグラムは ∞→t

マルコフ連鎖の性質

は定常分布 からのMCサンプル

マルコフ連鎖から発生させたデータ

で, 定常分布 に近づく)(xp∞

,,,, 21 txxx )(xp∞

マルコフ連鎖によるMCサンプルの生成方法

)(xq MCサンプルを生成したい確率分布(=ターゲット分布)

を 定常分布 にもつような)(xqマルコフ核(マルコフ連鎖) を構成すればよい

Page 35: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

ヒントらしき補足の話

行列 K が与えられたとき, 以下を満たす固有ベクトル を求める.

行列 K を求める.

応用での問題

数学 (線形代数)の問題

ppK

=

ベクトル が先に与えられて, これを固有ベクトルにもつようなp

p

*文系の方や, ヒントとしての意味合いがつかめてない方は、統計研究室の学生に後で聞いてください.

Page 36: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

この後紹介するアルゴリズム

マルコフ連鎖の作り方(アルゴリズム)

- MH法 (Metropolis-Hastings Method)- Gibbs Sampler (Gibbs Sampling)

マルコフ連鎖を利用したモンテカルロサンプル(MCMCサンプル)を生成する方法

MCMC (Markov Chain Monte Carlo)法

理解してほしいこと

1. ターゲット分布 (事後分布)のモンテカルロサンプルをどのように出力するか【だいたいの流れ】

2. IIDサンプルとの違い (どこらへんがマルコフ連鎖??)3. その他、特徴やポイント

4.【統計研究室のみ】 収束証明の論理

Page 37: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

5. マルコフ連鎖モンテカルロ法~ Metropolis-Hastings Method

Page 38: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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

Page 39: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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 −=

↑ pdf

Page 40: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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")

Page 41: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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)

Page 42: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

MH法のアルゴリズム (2/2)

2.

(a) 行き先候補を確率的に選ぶ

tz 1+tz

)|(~ tprop zzqz

にいるとして, 次の行き先 を以下の手順で定める.

: 提案分布 (自由に設定))|( yzq

を定常分布(事後分布)からのMzzz ,,, 21

モンテカルロサンプルとする

3.

1. 初期値 を適当に定める.1z

(b) 以下の遷移確率 で移動

)()|()()|(

ttprop

proppropt

zpzzqzpzzq

( なら必ず移動)1>ρ

ターゲット分布 (事後分布などを想定))(zp

Page 43: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

参考:MH法の収束性

)()|()()|( ypyxKxpxyK = yx∀∀詳細つりあい条件を満たす分布 は, マルコフ核Kの定常分布になる.

p

*MH法の(a), (b) のやたら複雑な式→ ターゲット分布についてDBCを満たすようなマルコフ核K を作るため

詳細つり合い条件 (Detailed Balance Condition; DBC)

証明の方針

マルコフ連鎖 ,,,..., )1()()0( +tt xxx のマルコフ核Kを具体的に書き

ターゲット分布 p(x) が上の条件を満たしていることを示す. (詳細は文献参照)

Page 44: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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

Page 45: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

理解度チェック:MCMC法

MH法では, まず、次のステップの移動先として、適当な確率分布を用いて提案する必要がある.

MCMC法(MH法)で発生させたモンテカルロサンプルのヒストグラムは定常分布へ収束するが, 早く収束させる工夫は個別に必要である

MCMC法でサンプル数を増やしていくと, ほとんど一定の値しか出てこなくなり, 収束していく。

MH法では同じ値が連続して出てくるが、ターゲット分布への収束が確認できれば問題ない.

Page 46: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

6. マルコフ連鎖モンテカルロ法

~ Gibbs Sampler

*Gibbs Sampling ともいう

Page 47: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

Gibbs Sampler

Gibbs Sampling を紹介, 統計学者の間で認知され広まる

応用でGibbs Samplerを使った

周辺分布や同時分布が簡単に書けない(サンプリングが難しい)が、条件付き分布はサンプリングしやすい(正規分布など)場合に使う

使用の目安

向いている人

条件付き密度の計算(積分計算)に慣れている人向け

ツールの有無

BUGS, Stanなどで使用可. 商用ツールでベイズ分析用のモデルに組み込まれている

歴史的経緯

Geman and Geman (1984)

Gelfand and Smith (1990)

Page 48: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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

Page 49: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

(*この例は人工的な例)

Gibbs Samplingの実装例 (1/2)ターゲット分布

+−−= ηθθηθ

21exp)2/exp(),(

22Df

∞<<η0∞<<∞− θ

本当に欲しいもの (IID のモンテカルロサンプル)

多次元分布から、毎回、独立にサンプルを取り出すのは難しい

サンプリングむずかしそう・・・・

( ) ( ) ( ) ),(~,,,,,,...

2211 ηθηθηθηθ fdii

MM

Page 50: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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次元分布なので組み込み関数で済む(次のスライド)

Page 51: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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さん*)

* レビューはあくまで個人の感想です. 効果には個人差があります.

Page 52: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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

Page 53: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

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 =ただし,

Page 54: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

参考:Gibbs Samplingの収束性

証明の方針

マルコフ連鎖

Gibbs sampler で生成される は以下のマルコフ核をもつマルコフ連鎖

※GSのマルコフ核は一般に詳細つりあい条件は満たしてない

)(zf

p=3 の場合(一般の場合も同様)

,,,..., )1()()0( +tt xxx のマルコフ核Kについて

ターゲット分布 f が定常分布であることを示す. (詳細は文献参照)

),|(),|(),|()|( 321131222133 yyzfyzzfzzzfyzK =

)(tx

また, )(~ yfy の時, z の分布は

∫= dyyfyzKzgz )()|()(~ところが g(z) はがんばって計算すると に一致する.

したがって, f はマルコフ連鎖の定常分布

Page 55: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

理解度チェック:MCMC法2

高次元のパラメータに関する積分であっても、組み込み関数で簡単に独立乱数を発生できるなら、MCMC法は必要ない

Two Stage Gibbs Sampling では、同時分布f(x,y)からのサンプリングを利用して、条件付分布のモンテカルロサンプルを求める

Two Stage, Multi Stage Gibbs Sampling は, 条件付分布を利用して、逐次的にサンプリングするという点が同じである。

条件付き確率分布が簡単な形で書けない場合、MH法が使えないため、Gibbs Sampling を利用するしかない

Page 56: 統計モデリング 第六回配布資料 - Osaka Universitybayes.sigmath.es.osaka-u.ac.jp/ftanaka/T/modeling/sm19_6_web.pdf · 任意の初期値 からスタートして, の時に,

1. フリー・商用 ともに, まずは類似の解析例を探す!

まとめ

MCMCでの分析が必要になったら

1.まずはシンプルな統計モデルで!(&共役事前分布を用いるなど)2.階層ベイズモデルなどMCMC前提のモデル

2. 類似例が見つからない、もしくはうまくいかない場合→ 自分で統計モデルをたてる

もしくは, 雇う?!

ベイズモデリングの指針

*最近, Stan (& Rから呼び出すRStan) も使われるようになっており,日本語の文献, web上の情報も増えてきた感がある.(→ 参考: 松浦健太郎著: StanとRでベイズ統計モデリング, 共立出版)

いよいよ, 第8・9回で本格的なベイズ分析を紹介(MH, GS なども利用.)