メトロポリス・ヘイスティングスアルゴリズム

これからサンプリングを行いたい分布(目標分布)を f(x) とする。ある x が与えられるとき、このときの条件付き確率分布(提案分布、尤度)を g(y | x) とする。このとき、メトロポリス・ヘイスティングス(HM)アルゴリズムは、次のように行われる。

  1. 初期値 x(0) を決める。
  2. t = 0, 1, 2, ... に対して次を繰り返す。
    1. y を g(y | x(t)) から発生させる。
    2. u を 0 以上 1 以下の一様分布から発生させて、 \[ \begin{eqnarray} \mathbf{x}^{t + 1} = \begin{cases} \mathbf{y} & ( u \le \alpha(\mathbf{x}^{(t)}, \mathbf{y}) ) \\ \mathbf{x}^{(t)} & ( \mathrm{otherwise} ) \end{cases} \end{eqnarray} \] ただし、α(x(t), y) は採択確率である。 \[ \alpha(\mathbf{x}^{(t)}, \mathbf{y}) ) = \min\left\{1, \frac{f(\mathbf{y})g(\mathbf{x} | \mathbf{y})}{f(\mathbf{x})g(\mathbf{y} | \mathbf{x})} \right\} \]

採択確率は、目標分布や提案分布の比のみに依存する値である。また、このアルゴリズムでは、x(t+1) = x(t) と、同じ値が連続することもある。