マルコフ連鎖モンテカルロ(MCMC)法
MCMC(Markov Chain Monte Carlo)は、正規化定数が未知でも扱える確率分布から標本を生成し、推定値だけでなく不確かさまで同時に評価するための計算法である。観測ノイズや系統誤差を含むモデル化と相性が良く、逆問題を確率論として解く中核に位置づく。
参考ドキュメント
- N. Metropolis, A. W. Rosenbluth, M. N. Rosenbluth, A. H. Teller, E. Teller, "Equation of State Calculations by Fast Computing Machines" (1953)
https://bayes.wustl.edu/Manual/EquationOfState.pdf - W. K. Hastings, "Monte Carlo sampling methods using Markov chains and their applications" (1970)
https://www2.stat.duke.edu/~scs/Courses/Stat376/Papers/Basic/Hastings1970.pdf - 伊庭幸人, "MCMC チュートリアル"(統計数理研究所 講演スライド)
https://www.ism.ac.jp/~shiro/papers/2017.05.slides/Iba.pdf
1. 目的と全体像
多くの解析では、観測データ
MCMCは「確率分布としての答え」を返す。すなわち、事後分布
2. ベイズ推定としての定式化(逆問題の確率化)
2.1 観測モデルと尤度
観測方程式を
2.2 事前分布と事後分布
ベイズの定理により
事前分布
3. マルコフ連鎖の基礎:定常分布としての目標分布
3.1 マルコフ性と定常分布
状態
3.2 詳細釣り合い(微視的可逆性)
しばしば
4. 基本アルゴリズム
4.1 メトロポリス・ヘイスティングス(MH)法
提案分布
対称提案
[MH の手順(擬似コード)]
与える:初期値 θ(0)
for t = 0,1,2,...
θ' ~ q(· | θ(t))
受理確率 α = min(1, π(θ') q(θ(t)|θ') / (π(θ(t)) q(θ'|θ(t))) )
u ~ Uniform(0,1)
if u < α: θ(t+1) = θ'
else: θ(t+1) = θ(t)MHは実装が簡潔だが、高次元・強相関の問題ではランダムウォーク化しやすい。そこで以下の派生が重要になる。
4.2 ギブスサンプリング(条件付き分布の直抽出)
4.3 ハミルトニアンモンテカルロ(HMC)とNUTS
連続パラメータの高次元問題では、勾配
HMCでは刻み幅
5. 収束・混合の評価(標本列を信頼できる形にするために)
5.1 自己相関と有効標本サイズ(ESS)
連鎖標本は独立ではない。自己相関
5.2 多本鎖と (Gelman–Rubin系指標)
複数の独立初期値から
6. 測定データ解析への接続:モデル・装置応答・不確かさを同時に扱う
6.1 装置関数を含む前向きモデル
観測が装置応答
6.2 階層モデル(試料間ばらつき・繰り返し測定)
複数試料・複数温度・複数ロットのデータがあるとき、各測定を独立にフィットすると推定が不安定になることがある。そこで
6.3 複数候補モデルの比較
モデル
7. MCMC手法の選択:基本特性の比較
| 手法 | 更新の仕組み | 得意な状況 | 注意すべき点 |
|---|---|---|---|
| MH(ランダムウォーク) | 提案→受理/棄却 | 低〜中次元、実装の簡潔さ | 高次元で移動が遅くなりやすい |
| ギブス | 条件付き分布から直抽出 | 共役構造、分割がうまくできる系 | 条件付き分布が解析的に必要 |
| HMC | 勾配を使い慣性で移動 | 連続・高次元・強相関 | 勾配計算と数値積分が必要 |
| NUTS | HMCの自動化(経路長など) | 多くの連続パラメータ問題 | 離散変数との混在は工夫が要る |
| アフィン不変アンサンブル | 複数ウォーカーで更新 | スケールが歪んだ事後分布 | ウォーカー数の確保が必要 |
8. 物性研究でよく現れる構造と、MCMC設計の考え方
8.1 強相関パラメータと再パラメータ化
例えば「振幅」と「幅」が相関するようなモデルでは、
8.2 拘束条件の扱い
物理的拘束(正値、総量保存、組成の和が1など)は、次のような写像で自然に満たせる。
- 正値:
として - 組成:
として (softmax)
こうした拘束は事前分布の設計にも関わる。
8.3 多峰性と拡張手法
相が競合する、複数の局所解が同程度に良い、という状況では事後分布が多峰的になりやすい。このとき単一温度のMCMCは峰の間を行き来しにくい。並列テンパリング(温度付き複数連鎖の交換)などが有効になることがある。
9. まとめ
MCMCは、未正規化の事後分布から標本列を生成し、推定値と不確かさを同時に得るための基本手段である。MH、ギブス、HMC/NUTSなどを問題の構造(連続/離散、高次元、強相関、多峰性)に合わせて選び、ESSや改良
関連研究
- M. D. Hoffman, A. Gelman, "The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo" (2014)
https://jmlr.org/papers/volume15/hoffman14a/hoffman14a.pdf - A. Vehtari, A. Gelman, D. Simpson, B. Carpenter, P.-C. Bürkner, "Rank-normalization, folding, and localization: An improved
for assessing convergence of MCMC" (Bayesian Analysis, 2021)
https://projecteuclid.org/journals/bayesian-analysis/advance-publication/Rank-Normalization-Folding-and-Localization--An-Improved-Rˆ-for/10.1214/20-BA1221.pdf - Stan(rstan): R-hat と収束・効率診断の説明
https://mc-stan.org/rstan/reference/Rhat.html - PyMC documentation: NUTS サンプラの説明
https://www.pymc.io/projects/docs/en/v5.9.1/api/generated/pymc.NUTS.html - D. Foreman-Mackey et al., "emcee: The MCMC Hammer" (2012)
https://arxiv.org/abs/1202.3665 - 福島孝治, 「モンテカルロ法の基礎と応用」講義ノート(京都大学)
https://repository.kulib.kyoto-u.ac.jp/bitstream/2433/235551/1/bussei_el_072214.pdf