SlideShare a Scribd company logo
MCMC法
聖路加国際大学
公衆衛生大学院
生物統計・生物情報学分野
准教授
米岡 大輔
MCMCとは
•MCMC = Markov Chain Monte Carlo
(マルコフ連鎖モンテカルロ法)
• 解析的に特定できない関数の近似値を求める一般的な手法の
総称
• マルコフ連鎖とモンテカルロ法の組み合わせ
• 統計学の分野においては、主にパラメータの事後分布を求め
る際に用いる。
マルコフ連鎖のイメージ
•1つ前の状態にのみ依存する確率漸化式みたいな
例えば、「がんセンター問題」
今、人が全部で100人いて、現在それぞれ健康60、病気25、ICU15人の割
合でいます。
1週間に一回、状態が変わりますが、がんセンターの素晴らしい働きのお
かげで遷移する割合は表のように制御されています。
次の状態 (t)
健康 病気 ICU
現在の状
態 (t-1)
健康 0.3 0.3 0.4
病気 0.1 0.5 0.4
ICU 0.2 0.6 0.2
ICUだったときに一週間後に健康になる確率は0.2
n 週間後の分布は
•初期状態の症状分布が
•このとき1週間後の症状分布は
•n 週間後の症状分布は
n 回掛ける
(離散時間)マルコフ連鎖 1
•時間とともに確率的に変動するシステムを記述するモデ
ルの1つがマルコフ連鎖
•離散時間 に
おける状態を とするとき、確率過程は
と表現
•とり得る状態の集合 を状態空間例えば、Sは{回復、重症化、死
亡}
(離散時間)マルコフ連鎖 2
マルコフ性
定常マルコフ連鎖とCK方程式
•定常マルコフ連鎖(たまに斉時マルコフ連鎖とも)とは、
推移確率 が n に依存しない、
すなわち
•m時間後にi からj に移動する確率を
とおくと、チャップマン・コロモゴロフ方程式が成立
推移確率とn時間後
•推移確率行列を
•便利な関係:
•初期確率ベクトル:
•n 時間後にどこにいるかが分かる(定常マルコフ連鎖の確率法則)
ただし
定常確率
十分に長いマルコフ連鎖を観測すれば、どの
状態にいる傾向があるのかを定常分布によっ
て知ることができる。
エルゴート性 (ergodic)
• 既約で(正)再帰的で非周期的な定常マルコフ連鎖をエルゴード的
• 既約的(irreducible): 有限回の推移でSの要素全てが互いに到達可能
ex.ある状態Aになってしまうと二度と別の状態にはなれない、ということ
がない状態
• (正)再帰的(positive recurrent): Sの任意の要素は、何度でも到達可能
ex.ある時期以降、ある状態になることはない、ということがない状態
• 非周期的(aperiodic): 連鎖の状態が一定の周期を有していない
ex.ある状態Aの次には必ずBになる、みたいなことがない状態
マルコフ連鎖の収束
要はエルゴート的である時に、マルコフ
連鎖は定常分布に収束する。
マルコフ連鎖モンテカルロ法 (MCMC)
1
• MCMCとは: 多変量確率分布から乱数を生成するためのアルゴ
リズム(岩波データサイエンス)
• 事後分布に従う乱数を(マルコフ連鎖から)大量に発生、近似する
• 十分に長いマルコフ連鎖を観測すれば、どの状態にいる傾向が
あるのかを定常分布によって知ることができる。
マルコフ連鎖モンテカルロ法 (MCMC)
2
•これまでの議論をまとめると
マルコフ連鎖がエルゴード的であればサンプリングが定常分布に従う
次は遷移確率の設計が問題となる
遷移確率をエルゴート性を満たすように設定するのは容易であるが、
それだけでは定常分布の存在のみを保証
その定常分布が希望する(事後)分布に一致するとは限らない→詳細釣
り合い条件
がんセンター問題は遷移確率が既知で定常分布が未知
取り組みたい問題は、遷移確率が未知で定常分布(事後分布)が既知
逆!
詳細釣り合い条件
「望む目標分布を得るためにどのように推移確率のマル
コフ連鎖を設計すればいいか?」という問いに対する1
つの解として詳細釣り合い条件(十分条件であり必要条件ではない)
未知数Pが2つに方程式がひとつなので、
Pが一意に決定できない
決め方として
• ギブスサンプリング(熱浴法)
• メトロポリス・ヘイスティング
• ハミルトニアンモンテカルロなど
結局、、、
サンプリングしたい分布(事後分布)に対して、それを定常
分布とするマルコフ連鎖を構成する方法を一般に
マルコフ連鎖モンテカルロ法
と呼ぶ。
メトロポリス・ヘイスティングス法
• 推移確率
を
の形で与える
• ただし、
• 実際は、一様乱数 を発生させ、
ならそのmoveを棄却し、 なら採択する。
次のどの状態
を選ぶか
選んだ候補を
採択する確率
亜種
•ハミルトニアンモンテカルロ
•パラレルテンパリング(レプリカ交換法)
•マルチカノニカル
Yoneoka et al. Biostat (2019)
Parallel repulsive force

More Related Content

More from Daisuke Yoneoka

セミパラメトリック推論の基礎
セミパラメトリック推論の基礎セミパラメトリック推論の基礎
セミパラメトリック推論の基礎
Daisuke Yoneoka
 
Murphy: Machine learning A probabilistic perspective: Ch.9
Murphy: Machine learning A probabilistic perspective: Ch.9Murphy: Machine learning A probabilistic perspective: Ch.9
Murphy: Machine learning A probabilistic perspective: Ch.9
Daisuke Yoneoka
 
第七回統計学勉強会@東大駒場
第七回統計学勉強会@東大駒場第七回統計学勉強会@東大駒場
第七回統計学勉強会@東大駒場Daisuke Yoneoka
 
第二回統計学勉強会@東大駒場
第二回統計学勉強会@東大駒場第二回統計学勉強会@東大駒場
第二回統計学勉強会@東大駒場Daisuke Yoneoka
 
第四回統計学勉強会@東大駒場
第四回統計学勉強会@東大駒場第四回統計学勉強会@東大駒場
第四回統計学勉強会@東大駒場Daisuke Yoneoka
 
第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場Daisuke Yoneoka
 
第三回統計学勉強会@東大駒場
第三回統計学勉強会@東大駒場第三回統計学勉強会@東大駒場
第三回統計学勉強会@東大駒場Daisuke Yoneoka
 
第一回統計学勉強会@東大駒場
第一回統計学勉強会@東大駒場第一回統計学勉強会@東大駒場
第一回統計学勉強会@東大駒場
Daisuke Yoneoka
 
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRDaisuke Yoneoka
 
Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)
Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)
Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)Daisuke Yoneoka
 
Rで学ぶデータサイエンス第1章(判別能力の評価)
Rで学ぶデータサイエンス第1章(判別能力の評価)Rで学ぶデータサイエンス第1章(判別能力の評価)
Rで学ぶデータサイエンス第1章(判別能力の評価)Daisuke Yoneoka
 

More from Daisuke Yoneoka (11)

セミパラメトリック推論の基礎
セミパラメトリック推論の基礎セミパラメトリック推論の基礎
セミパラメトリック推論の基礎
 
Murphy: Machine learning A probabilistic perspective: Ch.9
Murphy: Machine learning A probabilistic perspective: Ch.9Murphy: Machine learning A probabilistic perspective: Ch.9
Murphy: Machine learning A probabilistic perspective: Ch.9
 
第七回統計学勉強会@東大駒場
第七回統計学勉強会@東大駒場第七回統計学勉強会@東大駒場
第七回統計学勉強会@東大駒場
 
第二回統計学勉強会@東大駒場
第二回統計学勉強会@東大駒場第二回統計学勉強会@東大駒場
第二回統計学勉強会@東大駒場
 
第四回統計学勉強会@東大駒場
第四回統計学勉強会@東大駒場第四回統計学勉強会@東大駒場
第四回統計学勉強会@東大駒場
 
第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場
 
第三回統計学勉強会@東大駒場
第三回統計学勉強会@東大駒場第三回統計学勉強会@東大駒場
第三回統計学勉強会@東大駒場
 
第一回統計学勉強会@東大駒場
第一回統計学勉強会@東大駒場第一回統計学勉強会@東大駒場
第一回統計学勉強会@東大駒場
 
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRブートストラップ法とその周辺とR
ブートストラップ法とその周辺とR
 
Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)
Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)
Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)
 
Rで学ぶデータサイエンス第1章(判別能力の評価)
Rで学ぶデータサイエンス第1章(判別能力の評価)Rで学ぶデータサイエンス第1章(判別能力の評価)
Rで学ぶデータサイエンス第1章(判別能力の評価)
 

MCMC法