マルコフ連鎖モンテカルロ法 (MCMC)
マルコフ連鎖モンテカルロ法 (Markov chain Monte Carlo methods、通称MCMC) は、
統計学や計算科学の分野で用いられる、複雑な
確率分布から効率的にサンプル(標本)を生成するための一連の
アルゴリズムを指します。
基本的な考え方
MCMCの中核となるのは、
マルコフ連鎖という確率モデルです。これは、次の状態が現在の状態のみに依存するという性質を持ちます。MCMCでは、目的とする
確率分布が、その
マルコフ連鎖が時間とともに到達する
定常分布となるように連鎖を設計します。
構築した
マルコフ連鎖を初期状態から多数回シミュレーション(遷移)させることで、その状態は次第に目標とする分布に従うようになります。十分に長い「burn-in」期間の後、連鎖の状態を記録することで、目的の分布からのサンプルが得られます。シミュレーション回数を増やすほど、得られるサンプルの精度は向上します。
MCMCの実践的な課題の一つは、計算をどれだけ繰り返せばサンプルが目標分布に十分収束したと見なせるか(収束判定)を判断することです。設計された連鎖が初期状態によらず速やかに定常分布に近づく性質は
高速混合と呼ばれ、効率的なMCMCにとって重要です。
多くのMCMC手法は、初期値の影響が完全に排除されず、目標分布を完全に再現するのではなく、近似的なサンプルを生成する傾向があります。しかし、
CFTP法(coupling from the past)のようなより洗練された
アルゴリズムは、理論上は目標分布から正確なサンプルを得ることが可能ですが、その計算コストは高くなる場合があります。
応用分野
MCMCの最も代表的な応用は、解析的に解くのが困難な
多次元の積分を数値的に評価することです。これは、確率的に状態を遷移させながら関数の値を評価し、その平均などから積分値を推定する手法と見なせます。
この性質から、MCMCは
ベイズ統計学における複雑な事後分布からのサンプリング、
計算物理学や
計算生物学におけるモデルの推定など、様々な分野で不可欠なツールとなっています。
従来の単純なモンテカルロ法が、サンプリング点を互いに独立に生成するのに対し、MCMCで得られるサンプルは
マルコフ連鎖の性質により
相関を持つ点が異なります。
MCMCには、様々な戦略に基づく
アルゴリズムが存在します。
多くは、現在の状態の近くを少しずつ確率的に探索する
ランダムウォーク型の動きに基づいています。これらは直感的で実装しやすい反面、分布空間全体を効率的に探索するのが苦手な場合があります(散漫な動き)。
メトロポリス・ヘイスティングス法: 新しい候補状態を提案し、特定の受容確率でそれを受け入れるか否かを決定します。最も基本的なMCMCの一つです。
ギブスサンプリング: 各変数を他の変数で条件付けた分布から順番にサンプリングすることで状態を更新します。調整すべきパラメータが少ないことが多い利点があります。
スライスサンプリング: 確率密度関数 dướiの領域をサンプリングするという原理に基づき、垂直・水平方向の探索を交互に行います。
ランダムウォークの非効率性を克服し、より迅速な収束を目指す
アルゴリズムも開発されています。
ハイブリッドモンテカルロ法 (HMC法): 補助的な
運動量変数を導入し、物理的な系のアナロジーを用いることで、状態空間をより効率的に移動します。高性能なサンプラーとして知られる
NUTS法はこの一種です。
さらに、
リバーシブルジャンプ法のように、次元が異なる空間間を移動しながらサンプリングできる発展的な手法も存在し、
統計力学など特定の分野で応用されています。
結果の評価
MCMCによって得られたサンプルの系列は、
トレースプロットなどで可視化することで、収束状況やサンプルの振る舞いを視覚的に確認することができます。