先日行われた第9回「データ解析のための統計モデリング入門」読書会にて、
「可視化で理解するマルコフ連鎖モンテカルロ法」というタイトルで発表させて頂きました。
発表スライドは以下です。
この発表は、みどりぼんに登場する、マルコフ連鎖モンテカルロ法(MCMC)のアルゴリズムである「メトロポリス法」と「ギブス・サンプラー」について、可視化して理解しようというお話です。
「マルコフ連鎖モンテカルロ法」というのは、字面だけ見ると難しそうですが、この発表で理解すべきポイントは、次のスライド 1枚に凝縮されています。
このことを念頭に置いて、それぞれの手法を見ていきましょう。
まず、メトロポリス法ですが、これは、
というアルゴリズムです。
これを可視化してアニメーションにすると次のようになります。
http://visualize-mcmc.appspot.com/2_metropolis.html
MCMC でない乱数生成法のアニメーションの動きと比べてみると、メトロポリス法では、次の点への遷移が前の点からそう離れていない場所へと移っていることが分かると思います。ここに、前の状態から次の状態が決まるというマルコフ連鎖の性質が表れています。
また、棄却の様子が赤い×で表現されています。新しい候補を棄却するかどうかは確率的に決まります。これはモンテカルロ法の性質です。*1
一方、ギブス・サンプラーは、
- y の値を固定した条件付き分布から x の次候補をサンプリングする
- x の値を固定した条件付き分布から y の次候補をサンプリングする
ということを交互に行うシンプルな手法です。
やはりこのアルゴリズムも、次の状態が前の状態によって決まる(マルコフ連鎖)、確率を使ったアルゴリズム(モンテカルロ法)であることが分かると思います。
ギブス・サンプラーは、メトロポリス法を一般化した「メトロポリス・ヘイスティングス法」の一種で、必ず r = 1 となるため、得られた候補を棄却しなくて済みます。
これは非常に強力な手法なのですが、アルゴリズムの性質上、条件付き分布からのサンプリングが容易にできる場合にしか適用できません。
運の良いことに、階層ベイズモデルではこれが容易にできるので、ベイズ統計ではよく使われているようです。
ギブス・サンプラーを可視化してアニメーションにすると次のようになります。
http://visualize-mcmc.appspot.com/3_gibbs.html
一方を固定してもう一方をサンプルするという動作を繰り返すので、常に直角にカクカク曲がっています。
このようなサンプリング方法で、最終的にはメトロポリス法と同じ分布が得られるというのは面白いですね。
おまけ
おまけとして、三変量正規分布に対するギブス・サンプラーも可視化しています。
結構苦労して作ったので、よければ見てみてください。
http://visualize-mcmc.appspot.com/4_gibbs3d.html
まとめ
2つの MCMC アルゴリズム、「メトロポリス法」と「ギブス・サンプラー」を可視化してみました。
アニメーションにより、それぞれのアルゴリズムの違いがうまく表現できたのではないかと思います。
マルコフ連鎖モンテカルロ法についての理解の助けになれば幸いです。
それではまた。
参考文献
データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)
- 作者: 久保拓弥
- 出版社/メーカー: 岩波書店
- 発売日: 2012/05/19
- メディア: 単行本
- 購入: 16人 クリック: 163回
- この商品を含むブログ (29件) を見る
計算統計 2 マルコフ連鎖モンテカルロ法とその周辺 (統計科学のフロンティア 12)
- 作者: 伊庭幸人,種村正美
- 出版社/メーカー: 岩波書店
- 発売日: 2005/10/27
- メディア: 単行本
- 購入: 5人 クリック: 78回
- この商品を含むブログ (34件) を見る