メトロポリス法とMetropolis–Hastings法の完全ガイド:歴史・原理・実装・収束診断・応用まで

イントロダクション — メトロポリス法とは何か

メトロポリス法(Metropolis法)は、確率分布からのサンプリングを行うためのマルコフ連鎖モンテカルロ(MCMC: Markov Chain Monte Carlo)手法の原点の一つです。1953年のMetropolisらによる論文で提案され、その後Hastings(1970)が一般化して「Metropolis–Hastings法」として広く知られるようになりました。物理学の統計力学に端を発する手法ですが、現在ではベイズ推論、計算化学、機械学習、画像処理など幅広い分野で不可欠な技法となっています。

歴史的背景

オリジナルのMetropolisらの研究(1953)は、気体や液体の状態方程式の数値計算を目的として、高速計算機を用いた確率的サンプリング法を導入したものです。これが元になり、確率分布π(x)(正規化定数を計算できない場合も含む)から状態を生成するためのアルゴリズム群が発展しました。Hastings(1970)は、提案分布が左右対称であるという元の仮定を外して一般化した受容確率を提示し、今日のMetropolis–Hastings法の理論的基盤を確立しました。

アルゴリズムの基本原理

基本的な考え方はシンプルです。現在の状態 x_t から次の候補 x' を提案分布 q(x'|x_t) に従って生成し、その候補を受容するか否かを確率的に判断します。受容確率 α は次のように定義されます。

α = min(1, [π(x') q(x_t | x')] / [π(x_t) q(x' | x_t)])

ここで提案分布 q が対称(例:正規分布を用いるランダムウォーク提案)であれば、比率中の q は消えて、元のMetropolis法の形になります。受容・棄却の手順により得られる遷移確率はターゲット分布πを不変分布として持ち、詳細釣り合い(detailed balance)条件によりその定常性が保証されます。ただし、実用上は遷移確率が既約性(irreducibility)・非周期性(aperiodicity)を満たすことが重要です。

数学的性質:詳細釣り合いと収束

  • 詳細釣り合い(Detailed balance): π(x) P(x→x') = π(x') P(x'→x) が成り立つことで、πは連鎖の不変分布となります。
  • 既約性と非周期性:状態空間上でどの状態からでも十分な確率で他の状態へ到達できること(既約性)、および周期性を持たないことが長期的な収束に必要です。
  • エルゴード性:時間平均がπに一致するためにはエルゴード性が要求されます。実装上は初期値に依存する「バーンイン期間(burn-in)」を捨てることが一般的です。

実装上の注意点とチューニング

Metropolis(およびMetropolis–Hastings)を実用する際に重要となる点をまとめます。

  • 提案分布の選択:ランダムウォーク提案(x' = x + ε、εは対称分布)や独立提案(independence sampler)などがあり、ターゲットの形状に応じて選択します。提案分布がターゲットに近いほど受容率は高くなりますが、局所にとどまりやすくなるリスクもあります。
  • 受容率の目安:ランダムウォークMetropolisの場合、高次元では受容率約0.234が理想的という理論結果(Roberts et al., 1997)があります。ただし問題依存なので厳密なルールではありません。
  • バーンイン:初期探索のためのシリーズを破棄する習慣がありますが、どの程度捨てるかはトレースプロットや収束診断で判断します。
  • サンプル間の自己相関:連鎖の自己相関が高いと有効サンプルサイズ(ESS: Effective Sample Size)が小さくなります。自己相関を下げるために提案分布のスケールを調整するか、より効率的なサンプリング手法に切り替えることを検討します。
  • 数値的安定性:確率比は対数空間で計算する(logπを用いる)ことでオーバーフローやアンダーフローを避けます。また密度は正規化定数が未知でも比率で消える点がMCMCの強みです。

収束診断と評価指標

MCMCの良否を評価するための手法は複数あります。

  • トレースプロット:サンプル列を可視化して混合の様子や移動範囲を確認します。
  • 自己相関関数(ACF):ラグごとの自己相関を調べ、ミキシングの良し悪しを判断します。
  • 有効サンプルサイズ(ESS):実効的に独立サンプルがいくつあるかを評価する尺度です。ESSが小さいと推定の分散が大きくなります。
  • Gelman–Rubin(R-hat):複数連鎖を並列で走らせ、連鎖間のばらつきと連鎖内のばらつきを比較して収束を判断します(R-hatが1に近いほど良好)。

代表的な変種・高度な手法

メトロポリス系の欠点(高次元での混合の悪さ、多峰性分布の移動困難など)を補うために多くの改良手法が提案されています。

  • Metropolis–Hastings:提案分布が非対称でも正しいターゲット分布を保持する一般化。
  • ギブスサンプリング:各変数(またはブロック)について条件付き分布から直接サンプリングする方式で、条件付きが扱いやすい場合に効率的です。ギブスはMHの特別ケースと見なせます。
  • アダプティブMCMC(Adaptive Metropolisなど):サンプリングの途中で提案分布の共分散を学習して調整する手法。Haarioら(2001)など。
  • ハミルトニアン(Hamiltonian)モンテカルロ(HMC):勾配情報を用いて大きく効率的に状態空間を移動する手法で、多次元連続空間で非常に高い効率を示します(Nealら)。
  • スライスサンプリング:ターゲット分布の高さに基づく水平切片を用いることで、提案分布の調整を不用にする場合があります。
  • 並列温度法(レプリカ交換/Parallel Tempering):多峰性対処のため、温度付き連鎖を複数走らせて異なる連鎖間で状態を交換します。
  • 確率的勾配MCMC:ビッグデータ対応としてミニバッチ勾配を取り入れた方法(SGLDなど)も研究されています。

応用例

メトロポリス系の手法は、理論と実装の両面で広範に応用されています。

  • ベイズ統計における事後分布の推定(パラメータ推定、モデル選択)
  • 計算化学・統計力学における平衡状態のサンプリング
  • 画像復元やコンピュータビジョンにおけるマルコフ確率モデルの推論
  • 確率的最適化(例:シミュレーテッドアニーリングは温度を下げるMCMCに相当)
  • 機械学習モデルの不確実性評価やハイパーパラメータ推定

実務上のチェックリスト(導入前・実装時)

  • ターゲット分布の形状(多峰性、重い裾など)を把握する
  • 提案分布の種別とスケールを問題に合わせて選ぶ
  • 複数初期値で並列に連鎖を走らせ、収束診断を行う
  • 対数確率で計算し、数値安定性に留意する
  • 自己相関・ESSを計算して実効サンプル数を確認する
  • 必要ならばHMCやアダプティブMCMCなど効率的な手法に切り替える

よくある誤解と注意点

いくつかの誤解や落とし穴に注意してください。

  • 「受容率が高ければ良い」は必ずしも真ではありません。受容率が高くても小さな一歩しか進まないと効率は悪化します。
  • バーンイン直後のサンプルを無条件に大量捨てするのは非効率。診断に基づいて判断すること。
  • サンプリングが収束したかどうかは単一の指標だけで判断せず、複数の診断(トレース、R-hat、ESS等)を組み合わせることが重要です。

まとめ

メトロポリス法はMCMCの基礎であり、理論的な美しさと実用性を兼ね備えた手法です。一方で、問題に応じた提案分布の選択やチューニング、収束診断など実務的な配慮が不可欠です。近年はHMCやアダプティブ法、並列化手法などが発展しており、高次元・大規模データ下でも実用的なMCMCが可能になっています。用途や計算リソースに応じて、Metropolis系の基本を理解したうえで適切な派生手法を選ぶことが重要です。

参考文献