【MCMC②】代表的な3つのアルゴリズムを理解しよう!
MCMCの代表的なアルゴリズムである、メトロポリス・ヘイスティングス法と、ギブスサンプリング、ハミルトニアン・モンテカルロの3つの手法をご紹介します!
目次
概要
マルコフ連鎖モンテカルロ法(Markov Chain Monte Carlo、MCMC)とは、目的の確率分布が複雑で、直接サンプリングすることが難しい場合に、サンプリングを可能にする方法です。
MCMCにはいくつかの代表的なアルゴリズムがあり、それぞれ適する状況が異なります。以下、3つの主要なMCMCアルゴリズムを紹介します。それぞれの特徴を理解して、目的に合ったアルゴリズムを選択しましょう。
1 メトロポリス・ヘイスティングス法 (Metropolis-Hastings Algorithm)
広く使われている基本的なMCMCアルゴリズムです。新しいサンプルを提案し、特定の受理確率に基づいて、そのサンプルを「採択」もしくは「拒否」します。なぜこのような受理確率を計算するのか、気になる方は、次の記事を読んでみてください。
https://manabitimes.jp/math/2755
- 利点:理解しやすく、多くの問題に適用可能。
- 欠点:提案分布の選択や初期値の設定が結果に影響を与えるので注意が必要。高次元の問題や、複雑な事後分布では効率的でない。
メトロポリス・ヘイスティングス法のアルゴリズムは次のとおりです。
2 ギブスサンプリング (Gibbs Sampling)
ギブスサンプリング とは、パラメータの各次元を個別にサンプリングするアルゴリズムです。各ステップで、1つのパラメータを条件付き分布に基づいてサンプリングします。
- 利点:多次元(n≧2)のサンプルを生成するのに便利。受理確率が常に1であるため、メトロポリス・ヘイスティングス法より効率的な場合がある。
- 欠点:条件付き分布を解析的に求めることが必要で、これが難しい場合は適用できない。(条件付き分布からサンプリングする方が、同時分布からサンプリングするよりも簡単である場合にギブスサンプリングは有効。)
ギブスサンプリングのアルゴリズムは以下のようになります。
3 ハミルトニアン・モンテカルロ (Hamiltonian Monte Carlo, HMC)
ハミルトニアン・モンテカルロとは、物理学の概念を取り入れたアルゴリズムです。ハミルトン力学を利用して、高次元空間を効率的に探索を行います。
- 利点:高次元の問題や複雑な事後分布に対して、効率が良い。
- 欠点:アルゴリズムが複雑で、数値積分法のステップサイズや積分時間などの、パラメータの調整が難しい。
アルゴリズムは次のようになります。
最後に
本記事では、メトロポリス・ヘイスティングス法と、ギブスサンプリング、ハミルトニアン・モンテカルロの3つの手法をご紹介しました。次の記事では、実際にサンプリングを試してみます!