Data Science by R and Python

統計学を、広く、深く、わかりやすく。

【備忘録】Markov chain Monte Carlo Method

今回は、いつもの統計の勉強がテーマではなく、僕の備忘録です。。。

Markov chain Monte Carlo(MCMC)とは

マルコフ連鎖モンテカルロ積分を用いる、パラメータ推定を行う方法の1つ。
MCMCのモチベーションは、高次元空間のパラメータなどの事後分布の「正規化定数を求めることは困難である」というところにある。正規化定数が分かれば、それを用いて期待値をとればいいし、最尤法も使えるが多くの高次元空間のパラメータ推定では正規化定数が分からないので、推定ができない。そこで、これを近似的に求める方法としてMCMCがある。

モンテカルロ積分

分布から独立に標本抽出を行った場合に、その標本平均をとれば、大数の法則によって分布の期待値が求まるという方法。しかしながら、この「独立に」というところが問題。実際、そんなことできないじゃん!なので、方法としてマルコフ連座使いましょう。

マルコフ連鎖

斉時的なマルコフ連鎖の性質をうまく使う。なんどもサンプリングを繰り返せば、定常分布からのサンプリングになることを利用する。結果的にburn-inの部分を捨てて、m回目以降のサンプルを利用すれば、おおよそ求める事後分布からサンプルになる。

Metropolis-Hastingアルゴリズム(MH)

MHアルゴリズムを用いれば、上記のような標本を生成することができる。