マルコフ連鎖モンテカルロ(MCMC)法#

マルコフ連鎖#

  • ある状態から、別の状態に推移する確率だけが決まっている

  • 1期前だけで決まる

  • 連鎖はずっと続く(0%/100%がない)

\(t\)期の確率変数を\(y_t\)とし、確率過程を\(\{y_t\}^\infty_{t=0}\)と表すことにする。

マルコフ過程では、確率変数\(y_t\)の確率密度関数が一期前にのみ依存するため

\[ f(y_t|y_{t-1}) \]

となる

定常分布#

各状態にたどり着く確率が変化しなくなってくる。これを定常分布という

任意の状態A,Bについて、Aが生じる確率\(S(A)\)とAからBに遷移する確率\(T(B|A)\)が一致すること

\[ T(B|A)S(A) = T(A|B)S(B) \]

を**詳細つり合い条件(detailed balance condition)**という。

詳細釣り合い条件はマルコフ連鎖が定常分布に収束するための十分条件とされる。

MCMCを使う場合は,この条件を満たすように 推移確率\(T(𝜃'|𝜃)\)を作りたい

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

  • 最も単純な方法

  • だいたいうまくいかない

アルゴリズムの概要:

  1. 推移確率行列にまず適当な確率分布を置く

    • 正規分布がよく使われる

    • \(T(\theta'|\theta)=N(\theta, \sigma)\)

  2. その提案分布を補正する処置を施す

    • \(r N(\theta, \sigma)\)

    • 提案分布からの採用率を、尤度と事前分布から計算する

\[ r=\frac{ N\left(\theta^{\prime} \mid \theta, \sigma\right) P(\theta \mid y) }{ N\left(\theta \mid \theta^{\prime}, \sigma\right) P\left(\theta^{\prime} \mid y\right) } \]

正規分布は左右対称→\(N\left(\theta^{\prime} \mid \theta, \sigma\right)\)\(N\left(\theta \mid \theta^{\prime}, \sigma\right)\)は一致するので約分できる

ハミルトニアン・モンテカルロ(HMC)法#

ハミルトニアン方程式を使って推移確率行列を構成 • 勾配情報をつかい、運動エネルギーと位置を更新していく

NUTS#

  • not u-turn

  • HMCの改良版

    • 更新頻度とハイパーパラメータを自動調整

    • Stanに実装されている