Remove ads
求める確率分布を均衡分布として持つマルコフ連鎖を作成して確率分布のサンプリングを行うアルゴリズムの総称 ウィキペディアから
マルコフ連鎖モンテカルロ法(マルコフれんさモンテカルロほう、英: Markov chain Monte Carlo methods、通称MCMC)とは、求める確率分布を均衡分布として持つマルコフ連鎖を作成することによって確率分布のサンプリングを行う種々のアルゴリズムの総称である。具体的には、同時事後分布に従う乱数を継時的に生成する。代表的なMCMCとしてメトロポリス・ヘイスティングス法やギブスサンプリングがある。
MCMCで充分に多くの回数の試行を行った後のマルコフ連鎖の状態は求める目標分布の標本として用いられる。試行の回数を増やすとともにサンプルの品質も向上する。
求められる特性を持つマルコフ連鎖を作成することは通常難しくない。問題は許容できる誤差内で定常分布に収束する試行の回数を決めることである。適切な連鎖なら任意の位置から始めても定常分布に速く達し、これを高速混合(rapid mixing)とよぶ。
典型的なMCMCは常にある程度の初期値の影響が残るため目標分布しか近似することができない。CFTP法(coupling from the past)などの、より洗練されたMCMCベースのアルゴリズムは完全標本を作成することができるが、より多くの計算と(期待値では有限だが)限界のない実行時間を要する[1][2][3]。
このアルゴリズムの最も一般的な応用は多重積分を数値的に計算することである。ランダムに歩き回る粒子の集団を想定し、粒子が点を通過するたびに、その点の被積分関数の値を積分に加算する。粒子は次に積分への貢献が高い所を探して複数の仮の動作をする。このような方法はランダムウォーク法とよばれ、これは乱数的なシミュレーションつまりモンテカルロ法の一種である。従来のモンテカルロ法で用いられる被積分関数のランダムな標本が独立であるのに対して、MCMCで用いられる標本は相関がある。被積分関数を均衡分布に持つようなマルコフ連鎖を作成する必要があるが、多くの場合において容易に行うことができる。
多重積分はベイズ統計学、計算物理学、計算生物学などにしばしば現れるため、そのような分野でMCMCが広く使われている。例としては Gill 2008 や Robert & Casella 2004 を参照。
生成された乱数列はトレースプロット(英: trace plots)の形で可視化できる。
マルコフ連鎖モンテカルロ法 (MCMC) では、均衡分布の近辺を小さなステップで無作為に動き回る粒子を想定したアルゴリズムが多い。これをランダムウォーク(酔歩)という。この方法は実装や解析が容易だが、粒子はしばしば折り返して既に調べた空間を調べ始めてしまうため、粒子が全空間を調べるのに長い時間がかかってしまう。以下にランダムウォークを用いたMCMCのいくつかを並べる:
マルコフ連鎖モンテカルロ法の効率を下げる要因の一つは、マルコフ連鎖が近い状態を行きつ戻りつする散漫 (diffusive) な動きである。散漫な動きを防ぐ工夫を持つアルゴリズムが様々提案されている。これらのアルゴリズムは実装が難しくなるが、より高速な収束を得られる可能性がある。つまり、少ない試行から正確な結果を得られるということである。
リバーシブルジャンプ法はメトロポリス・ヘイスティングス法の拡張で、次元の異なる空間からの候補を許容する。この手法は1995年にブリストル大学のピーター・グリーン(Peter Green)によって考案された[6]。次元の変化する MCMC は分布が大正準集団である問題(箱の中の分子の数が変動する場合など)を解くのに統計力学の分野で長い間使われている。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.