1 MCMCの概観

1.1 概要と目的

1.1.1 サンプリング推定

MCMC(Markov Chain Monte Carlo)は、ある「目的分布」からのサンプリング、またはその分布に関する期待値積分値の推定を行うための数値手法である。目的分布確率変数理論的なサンプル生成を直接提供しない場合でも、マルコフ連鎖を通じて生成した多数の状態を「十分に時間が経過した後のサンプル」とみなすことで、モンテカルロ推定を成立させる。

具体的には、目的分布に対する期待値 \( \mathbb{E}_{\pi}[f(X)] \) を、連鎖から得た実現値 \(X^{(1)},X^{(2)},\dots\) を使って近似する。注意点として、連鎖サンプルは独立ではないため、単純な i.i.d. 前提誤差評価は一般に成り立たない。そのため、後続章で示す診断指標や実効サンプルサイズ概念が重要になる。

1.1.2 直接計算が難しい場合の利点

目的分布 \(\pi(x)\) に対応する正規化定数が未知であったり、密度比や条件付き分布が複雑だったりする状況でも、遷移規則を適切に設計することでサンプリング可能になる点が利点である。特にメトロポリス・ヘイスティングス法では、正規化定数を必要とせず受容判定を構成できる場合が多い。

また、高次元や階層モデルのように、解析的な積分が現実的でない領域で、サンプリングを「設計可能な計算問題」に落とし込める。結果として、ベイズ推定事後分布、複雑な尤度に基づく推論周辺化を含む予測計算などに広く利用される。

1.2 基本となる確率的枠組み

1.2.1 マルコフ連鎖の性質

MCMCでは、連鎖 \(\{X^{(t)}\}_{t\ge 0}\) がマルコフ性を満たすように更新される。マルコフ性とは、「次の状態は現在の状態のみに依存し、過去の履歴には依存しない」という性質である。遷移カーネル遷移確率の仕組み)が定まると、理論的には連鎖の分布が時間とともに定常状態へ近づく可能性が議論できる。

この枠組みの実用的意味は、確率モデルの複雑さがあっても、更新ステップ(提案→受容、または条件付きサンプリング)を一貫した手順として実装できる点にある。各ステップで必要な計算は、目的分布の評価や局所的な条件付き分布の生成などに分解される。

1.2.2 定常分布と目標分布

MCMCの中心は、ある遷移規則が定常分布 \(\pi\) を不変(invariant)に持つよう構成される点にある。不変性とは、十分長く回したときの状態分布が \(\pi\) と一致することを意味する。しばしば、詳細釣り合い(reversibility)や不変性(invariance)を満たすよう設計され、これにより長期挙動の整合性が保証される。

だし実務では無限時間回すことはできないため、有限回数で得た近似の品質を評価する必要がある。そこでバーンイン、自己相関、実効サンプルサイズといった診断項目が導入される。

1.3 実装上の前提

1.3.1 目的分布の形(正規化定数の要否)

目的分布は、多くの応用で「比例関係」の形で与えられる。すなわち \(\pi(x)\propto \tilde{\pi}(x)\) のように正規化定数が明示されない形で扱うことが多い。メトロポリス・ヘイスティングス法では、受容確率の比の中でその定数が相殺される設計が可能なため、\(\tilde{\pi}(x)\) の評価だけで動作する場合がある。

一方、ギブスサンプリングでは、条件付き分布の形が陽に求められるか、もしくは効率的に生成できることが実装上の鍵になる。従って「正規化定数が不要か」という論点は、アルゴリズム選択の実務的な分岐点となる。

1.3.2 収束仮定と近似の扱い

MCMCの理論は、連鎖の収束性を支える仮定(到達可能性や混合挙動など)に依存する。典型的には、適切な正則性のもとで分布が目標分布へ収束すると考えられるが、現実のモデルでは条件が完全に検証できないことも多い。

そのため実務では、「収束したと仮定して推定する」だけでは不十分になり、診断や不確実性評価が重視される。さらに、近似(有限ステップ、有限サンプル、数値誤差、離散化など)が推定値に与える影響を考慮し、必要に応じて保守的な評価を行うことが求められる。

2 アルゴリズムの基礎

2.1 メトロポリス・ヘイスティングス(MH)

2.1.1 提案分布と受容確率

MHでは、現在の状態 \(x\) から提案分 \(y\) を提案分布 \(q(y\mid x)\) に従って生成し、その候補を受理するかどうかを受容確率で決める。受容確率は、目的分布と提案分布の比を使って構成され、受理された場合は \(y\) に移動し、拒否された場合は状態を \(x\) のまま維持する。

この設計により、目標分布が不変になるよう遷移が調整される。受容確率は \(\min\{1,\dots\}\) 形式になることが多く、計算には \(\tilde{\pi}\) の比と \(q\) の評価が関わる。提案が目的分布に比べて不整合だと受容率が下がり、逆に整合的だと連鎖の移動が増える。

2.1.1.1 非対称提案への対応

提案分布が対称でない場合(つまり \(q(y\mid x)\neq q(x\mid y)\))でも、受容確率の定義に提案分の比が明示的に含まれることで補正できる。これにより、提案が偏っていたとしても目標分布への整合性を損ねにくい。

非対称提案は、例えば勾配情報を利用した提案や、状態に応じて探索幅を変える設計などで現れる。補正項を正しく実装しないと定常分布が崩れるため、受容判定の式の実装は特に慎重さが必要になる。

2.1.2 レイジーウォーク的挙動とチューニング

MHでは、拒否が起きると状態がそのまま残る。そのため連鎖は「その場に留まる」確率を持ち、移動が緩やかになることがある。この停留は、連鎖の自己相関を高め、混合を遅らせる方向に働く場合がある。

チューニングとは、提案分布のスケールや形を調整して受容率と探索の広がりを両立させる作業である。探索幅が小さ過ぎると局所的な動きが中心になり、幅が大き過ぎると提案が不自然になって拒否が増える。両者のバランスが、実効性能を左右する。

2.1.3 実用上の注意点(低受容率など)

低受容率は、効率低下の典型的サインである。拒否が多いと実効サンプルが減り、推定の分散が大きくなる。さらに、受容率だけで良否を判断すると誤り得るため、自己相関やトレンドの有無、実効サンプルサイズといった指標と併せて評価する。

また、数値計算では対数密度(対数尤度や対数未正規化密度)を扱い、アンダーフローやオーバーフローを避ける工夫が必要になる。受容確率の計算誤差が遷移の性質を歪めると、目標分布への整合性が崩れる恐れがある。

2.2 ギブスサンプリング

2.2.1 条件付き分布の逐次更新

ギブスサンプリングは、各ステップで変数の一部(しばしば単一成分)を、残りを条件にした条件付き分布からサンプリングする手法である。例えばベクトル \(x=(x_1,\dots,x_d)\) のとき、現在の値を固定して \(x_1\) を \(p(x_1\mid x_2,\dots,x_d)\) から引き、次に \(x_2\) を同様に更新する。

この逐次更新により、連鎖が目標分布を不変に保つことが示されることがある。MHに比べて受容判定が不要なケースも多く、設計上の単純さが利点となる。ただし、条件付き分布が解析的に得られない、あるいはサンプリングが重い場合には別の工夫が必要になる。

2.2.2 合流・混合への影響

ギブスサンプリングは、成分間の依存が強い場合に混合が遅くなることがある。特定の方向では状態がなかなか動かず、相関構造が残りやすいと自己相関が増える。これに対して、複数成分を同時に更新するブロック更新や、条件付き分布の近似を導入する手法などが検討される。

理想的には、更新順序やブロック設計が依存の強さと整合しているほど、連鎖はより速く多様な領域を探索する。実務ではモデルの相関構造を確認し、更新単位を調整することが有効になる。

2.3 他の代表的MCMC

2.3.1 近縁アルゴリズム(差分・更新方式の違い)

MHとギブスサンプリング以外にも、さまざまな派生・近縁手法がある。代表的には、提案生成と受容判定を組み替えた手法、複数点を使う更新、尤度比や事前構造を活用する提案、あるいは行列計算や勾配情報を含む提案などが挙げられる。

差分的な違いは、主に「提案の作り方」「更新の単位(成分・ブロック)」「受容判定の有無」「探索の幾何学的性質への対応」に現れる。これらは性能や計算コストに影響し、モデルの形に合わせて選択が行われる。

2.3.2 連続変数向け手法の考え方

連続変数の領域では、単純なランダムウォーク型提案は高次元で非効率になることがある。そのため、局所形状を反映する提案や、移動を抑えつつも連鎖の進行方向を工夫する設計が検討される。

一般に、連続空間での良い提案は「目標分布の尾の振る舞い」や「相関の向き」を踏まえている。結果として、低拒否率だけでなく、状態がより多様な領域をカバーすることが重視され、診断指標で検証しながら調整する流れが一般的になる。

3 収束と診断

3.1 収束性の考え方

3.1.1 バーンイン(初期値の影響)

バーンインは、連鎖が初期状態から定常状態に近づくまでの期間として捉えられる。理論上は十分長く回すことで初期値の影響は消える方向に進むが、有限回では残留する可能性がある。

実務では、初期区間を除外することで推定の偏りを抑える。ただし除外し過ぎると有効サンプルが減るため、適切な長さの判断が必要になる。可視化や複数鎖の比較を通じて、初期値の影響が緩和した時点を探るのが一般的である。

3.1.2 混合の速さと自己相関

混合の速さは、状態が目標分布の中でどれだけ急速に多様化するかを反映する。連鎖が少ないラグでは似た値を取りやすいほど自己相関が高くなり、情報が重複して見かけ上のサンプル数が減る。

自己相関は推定の分散に影響し、同じ総反復回数でも実際の不確実性は大きくなることがある。したがって収束確認は、トレースの安定性だけでなく自己相関構造の観点からも行うのが望ましい。

3.2 収束診断の手法

3.2.1 トレースプロットと視覚的検査

トレースプロットは、反復回数に対する各パラメータ(または統計量)の推移を折れ線で示したものである。振る舞いが定常に近づくと、中心位置が大きく揺れなくなり、時系列としての構造が落ち着くことが期待される。

ただし視覚診断には主観性が含まれるため、複数の量で確認し、パターンが疑わしい場合には追加の反復やモデル変更を検討する。局所的なドリフト、周期的な揺れ、特定領域への張り付きなどは注意を促す兆候となる。

3.2.2 複数鎖による評価

複数鎖(異なる初期値から同時に走らせる)を用いることで、初期条件への依存が弱まっているかを評価しやすくなる。異なる鎖が同様の分布領域に収まっていれば、定常状態への近さが示唆される。

評価指標は、鎖間のばらつきと鎖内のばらつきの関係を用いて整理されることが多い。一般に、鎖間差が小さくなるほど定常に整合していると解釈できるが、同時に自己相関が強い場合は十分に混合していない可能性が残るため、他の指標と併用するのが合理的である。

3.2.2.1 一般的な指標の読み取り方

収束診断の指標は「高いほど良い」や「小さいほど良い」など、尺度ごとに解釈が異なる。したがって、指標の定義と期待される挙動を前提に読み取る必要がある。

一般的には、基準からの乖離が大きい場合は反復不足が疑われ、追加の計算が必要になることが多い。一方で、指標が改善してもトレースの見かけが不安定だったり、自己相関が強くて実効サンプルが少なかったりする場合は、推定の不確実性が十分に減っていない可能性がある。そのため、数値指標と視覚診断を組み合わせて判断するのが実務上の基本となる。

3.3 実効サンプルサイズと不確実性

3.3.1 自己相関に基づく誤差評価

実効サンプルサイズ(ESS)は、相関のあるサンプルを独立サンプルに換算したときの「情報量」を表す概念である。ESSが小さいほど、同じ反復回数でも独立性の欠如により推定誤差が大きくなる。

自己相関に基づいて ESS を算出する考え方では、特定のラグまでの相関の寄与が主に効く。したがって、短期では似た値が続きやすい連鎖ほど ESS が目減りする。推定の精度を上げるには、連鎖の混合を改善する(提案の調整、更新方式の見直し、ブロック設計など)ことが必要になる。

3.3.2 推定量の分散と信頼区間

MCMC出力から得る推定量(たとえば期待値の近似)は、有限サンプルのばらつきとして不確実性を持つ。独立サンプルのときの標準誤差推定をそのまま適用すると過小評価になることがあるため、ESSや自己相関に基づく補正を行う。

信頼区間の作り方としては、分散推定と正規近似に基づく方法、自己相関を踏まえた分散推定、さらに再標本化(リサンプリング)を利用した手法などが用いられる。重要なのは、診断の結果と整合する形で誤差評価を行い、推定の頑健性を確認することである。

4 応用と実務設計

4.1 モデル化と計算手順

4.1.1 事前・尤度・事後の構成

ベイズ推定では、事前分布と尤度を組み合わせて事後分布を得る。MCMCはこの事後分布からのサンプリング(またはその期待値計算)を目的として動作することが多い。多くのモデルで事後は正規化されていない形で与えられるため、未正規化密度(対数尤度と対数事前)を計算できればアルゴリズムを組み立てられる場合がある。

構成の設計では、どの変数を更新し、どの式を計算するかが性能に直結する。特に高次元の潜在変数が存在する場合、更新戦略(成分更新か、ブロックか)と、計算負荷の分解が重要になる。

4.1.2 実装における設計判断

実装では、数値安定性と計算効率の両立が課題になる。対数形での計算、不要な再計算の削減、キャッシュや逐次更新の利用などが、反復回数が多いMCMCでは効果を持つ。

また、パラメータの再パラメータ化(スケーリングや中心化など)によって、連鎖の混合が改善することがある。分布の形が偏っていると提案が不利になりやすいため、変数の表現を変えることが実務上の最初の改善手段になることも多い。

4.2 パラメータチューニング

4.2.1 提案分布のスケール調整

MH系では提案分布のスケールが性能を左右する。小さなスケールは局所探索に偏り、自己相関の上昇や混合遅延を招くことがある。大きなスケールは受容率の低下を通じて同様の非効率を招きうる。

スケール調整は、試行的に短い実験を行い、受容率や ESS、トレースの滑らかさなどを手掛かりに行う。単一指標で決めるのではなく、探索範囲と情報量の両面を反映させる姿勢が望ましい。

4.2.2 受容率と探索性能のトレードオフ

受容率が高いだけでは、探索が十分に広がっていない可能性がある。逆に受容率が低くても、移動が大きくて混合が良い場合には許容されることがある。従って、受容率はあくまで設計の一側面であり、最終的には ESS や推定誤差の大きさで評価するのが整合的である。

トレードオフはモデルの形にも依存する。尾が重い分布では提案の成分ごとの調整が必要になることがあり、相関が強い場合には単純な一様スケールよりも共分散を反映した提案の方が有利になる場合がある。

4.3 典型的な用途

4.3.1 ベイズ推定における事後推定

事後分布からのサンプリングにより、未知パラメータの推定や予測分布の計算が可能になる。事後平均や中央値、分位点、信頼区間(信用区間)などの形で解釈を与えられるため、実務の意思決定に利用しやすい。

また、階層ベイズモデルでは、複数レベルの潜在変数が同時に推定対象となることが多く、MCMCが自然な実装手段となる。ここでは更新ブロックや条件付き分布の選び方が特に重要になる。

4.3.2 予測・推論のための周辺化

周辺化は、観測されない変数を積分消去して予測や推論を行う操作である。解析的な周辺化が難しいとき、MCMCによって得たサンプルを通じて近似できる。

典型的には、事後サンプル \( \{ \theta^{(t)}\} \) を用いて、予測分布 \(p(\tilde{y}\mid \text{data})\) をサンプル平均として近似する。これにより、不確実性を含む予測が可能になり、点推定とは異なる情報が得られる。

4.3.3 高次元での工夫(計算負荷の低減)

高次元では、1ステップあたりの計算だけでなく、必要反復回数そのものが増えることがある。そこで、局所更新、ブロック更新、十分統計量の利用、計算を再利用する設計などが用いられる。

また、状態空間での幾何に配慮した提案や、勾配情報の活用による探索効率の改善が検討される。目的は「計算を増やす」よりも「必要な反復を減らし、同等の精度をより少ない計算で達成する」点にある。

4.4 速度と再現性

4.4.1 乱数と再現性

MCMCは乱数に基づくため、乱数シードの管理が再現性に直結する。プログラム実行環境が変わると乱数の列や計算順序が変わり、結果がわずかに変動する場合がある。

研究や業務では、同一データ・同一設定で比較可能であることが求められるため、乱数生成器の種類、シード、実装ライブラリ、数値計算の丸め誤差の影響なども含めて記録することが望ましい。特に調整や診断でパラメータを変更する場合、どの段階で何をしたかを追跡可能にする必要がある。

4.4.2 計算コスト見積もりの考え方

計算コストは、1反復あたりの時間に加えて、必要な反復数(バーンイン含む)と、鎖数(複数鎖診断の有無)で決まる。したがって事前に、目的とする精度から逆算する形で反復数を見積もる姿勢が重要である。

見積もりでは、ESSを指標として「所望の精度に必要な実効情報量」を評価し、それを達成するのに必要な反復回数を計画する。さらに、チューニングによって1反復あたりの計算が増えることもあるため、単純な速度比較ではなく総コスト(目標精度までの合計)で判断するのが実務的である。