モンテカルロサンプリングとMCMC|統計モデリング #2

#1ではGLMの話について取り扱いました。

モデル構築の大枠の話はできたと思うので、#2では計算方法についてまとめておきたいと思います。
『データ解析のための統計モデリング入門』ではGLMの発展としてGLMM(一般化線形混合モデル)を考え、解析的にテクニカルに解く方法はあるものの、汎用的でないので数値解(近似解)を求める手法であるMCMCを導入したというのが全体の論旨になっています。
一方#1で挙げた参考図書である一般化線形モデル入門[Annette J. Dobson]では4章でMCMC法と同様に近似解を求める手法であるニュートンラプソン法をGLMの解法に導入したスコア法を用いて解を求める説明を行なっています。スコア法はちょっと難解だし、MCMC法の方が統計モデリングの文脈でよく聞く印象なので#2ではMCMC法についてまとめておきます。
また、PRML下巻の11章ではモンテカルロサンプリングの文脈でMCMCが11.2で解説されています。MCMCはMarkov Chain Monte Carloの略なので、この辺のサンプリング法の文脈も掴んでおくと良いかと思います。

以下、当稿の目次になります。
どちらかというとMCMCの法に力点を置ければと思うので、2,3を中心にまとめられればと思います。

1. モンテカルロサンプリング(Monte Carlo Sampling)
2. MCMCの概要
3. メトロポリスヘイスティング法とギブスサンプラー
4. まとめ&考察

 

1. モンテカルロサンプリング(Monte Carlo Sampling)
PRMLの11章をベースにまとめられればと思います。
サンプリングの目的としては、
・E[f] = ∫f(z)p(z)dz ※離散変数の場合はΣを使います。
において関数fの期待値を求めることです。
それにあたって、確率分布p(z)から独立に抽出されたサンプルの集合L次元ベクトルzを得ることです。
これによって期待値を有限和で近似することができます。
・f_ = Σf(z)/L

なんのこっちゃなので、円周率の数値的な近似を元にこちらについて説明します。
zは2次元ベクトル(x,y)を表すものとします。
・π = E[f] = ∫f(x,y)p(x,y)dxdy
ここで(x,y)の値域はそれぞれ[0,1]、関数fをx^2+y^2 ≦ 1だと4、x^2+y^2 > 1だと0とします。
またこの時p(x,y)は定義域において一様に分布するものとします。
この時モンテカルロ法を使ってp(x,y)の一様分布に従い乱数を生成させるとサンプル数が増えるにしたがってπの近似値は3.14...に近づいていきます。この様に乱数を生成させることで近似的に問題を解くことが可能になります。

ちなみに、上記がサンプリング法(サンプルを生成し、解析的に解きづらい値を近似する)についての話なのですが、数値的なサンプリングを総称してモンテカルロ法モンテカルロサンプリングと読んでいるようです。
https://ja.wikipedia.org/wiki/モンテカルロ法
この辺の乱数生成方法についても確か色々とあったと記憶してますが、色々と諸説あるので今回は深入りしないようにします。

2. MCMCの概要とMetropolis-Hastingsアルゴリズム
MCMCは解析的に解けないまたは解きづらい数式を1節でまとめたサンプリング法を用いて数値的に解く手法です。MCMCの概要としては、適化したい数式(最大化、最小化したい関数のこと。統計モデリングの枠組みだと尤度、ニューラルネットの文脈だと損失関数や誤差関数など様々である)を改善する向きに基本的には動かしていき、収束したタイミング(値がなかなか動かなくなったタイミング)でそれより前のステップの直近の区間(例えば1万ステップ程度)でヒストグラムを生成し、値の推定に利用するアルゴリズムです。(『データ分析のための統計モデリング入門』に図を交えた直感的な解説が載っています。)

具体的なアルゴリズムでも説明した方がよいと思いますので、ベーシックで理解しやすいMetropolis-Hastingsアルゴリズムについてまとめられればと思います。メトロポリスアルゴリズムはざっくりいうと基本的には最適化したい数式(最大化、最小化したい関数のこと。統計モデリングの枠組みだと尤度、ニューラルネットの文脈だと損失関数や誤差関数など様々である)を改善する向き(最小値問題なら小さくする向き)に動くときは必ず動き、大きくする向きに動くときは一定の確率で動くというアルゴリズムです。

数式を交えた説明は後日追記します。(PRML11.2.2節にまとまっています)


3. ギブスサンプリング
後日追記します。(PRML11.3節にまとまっています)

4. まとめ&考察
後日追記します。