outlier

建築士、プログラミング、ライフハック、etc.

マルコフ連鎖モンテカルロ法を勉強できるサイト・テキスト

こんばんは。

 

諸事情により、今さらながらマルコフ連鎖モンテカルロ法を勉強することになりました。学生時代にベイズ統計とかもっとちゃんと勉強しておけばよかったなと思う反面、最近の機械学習ブームもあって、わかりやすい教材がたくさん出てきており、勉強しやすい環境になっているとも感じます。

そんなわけで、マルコフ連鎖モンテカルロ法の勉強に役立つサイト・テキストを整理します。

マルコフ連鎖モンテカルロ法とは

マルコフ連鎖モンテカルロ法(Markov Chain Monte Carlo、通称MCMC)とは、求めたいある確率分布を均衡分布と持つようなマルコフ連鎖を作成してそこからサンプリングすることにより、任意の確率分布に従った乱数を生成するアルゴリズムのこと。これにより、一様分布や正規分布ではない確率分布でも乱数を生成することができます。また、応用としては、MCMCによる乱数を用いて関数の多重積分をおこなうというものです。

 

ネットで情報が充実している

このMCMCですが、最近の機械学習ブームなどの影響か、ネットで勉強できるコンテンツが多く出てきています。

わかりやすいものとしては、まずはこちら。

マルコフ連鎖モンテカルロ法入門-1

マルコフ連鎖モンテカルロ法入門-2

天気予報を例題に、MCMCの基本アルゴリズムであるメトロポリス法について解説されています。

そのほか、このようなスライド資料をまとめたものが以下のサイトで紹介されています。

hikaru1122.hatenadiary.jp

教科書ならばこれがおすすめ

もう少しかっちりした教科書的なものですと、以下のようなものがあります。

まずは無料のものから。

http://www.omori.e.u-tokyo.ac.jp/MCMC/mcmc.pdf

MCMCの歴史的背景から、主要なアルゴリズムの解説や実際に使うときの注意点など、網羅的に解説されています。理論的な背景を学ぶには良いですが、数式も多く出てくるので、上のスライドを一通り見て概要を把握してから読んだほうがよさそうです。

 

そのほか、無料のテキスト類としては以下などがあります。

http://ebsa.ism.ac.jp/ebooks/sites/default/files/ebook/1881/pdf/vol3_ch10.pdf

http://tombo.sub.jp/doc/esj55/MCMC.pdf

 

また、1冊くらいはちゃんとした教科書を読んだほうが良いだろうということで、以下のテキストなどがよさそうです。

 

マルコフ連鎖モンテカルロ法 (統計ライブラリー)

マルコフ連鎖モンテカルロ法 (統計ライブラリー)

 
計算統計 II?マルコフ連鎖モンテカルロ法とその周辺 (統計科学のフロンティア)

計算統計 II?マルコフ連鎖モンテカルロ法とその周辺 (統計科学のフロンティア)

 

 

RかPythonを使うことが多いらしい

さて、実際にMCMCを計算しようとする場合、RかPythonのライブラリを使うことが多いようです。このあたりは、現在使っている環境に合わせて好きなほうをえらぶということでしょう。

Rを使いたい人は、こちらの書籍がおすすめ。

 

やさしいMCMC入門: 有限マルコフ連鎖とアルゴリズム

やさしいMCMC入門: 有限マルコフ連鎖とアルゴリズム

 

 一方、最近はやりのPythonを使う場合、こちらが有名なようです。

 

Pythonで体験するベイズ推論 PyMCによるMCMC入門

Pythonで体験するベイズ推論 PyMCによるMCMC入門

 

 

ということで、マルコフ連鎖モンテカルロ法の教材の紹介でした。