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

マルコフ連鎖モンテカルロ法 (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によって得られたサンプルの系列は、トレースプロットなどで可視化することで、収束状況やサンプルの振る舞いを視覚的に確認することができます。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。