オーストラリアで勉強してきたMLデザイナーの口語自由詩

主に、データ分析・機械学習・ベイズ・統計について自由に書く。

Chapter 2 ベイズ推定の復習 2.4〜2.7 - pythonで『StanとRでベイズ統計モデリング』

f:id:yukinagae:20181031083449p:plain

2.4 ベイズ推定とMCMC

伝統的な統計学の手法や最尤推定の問題を解決する一つの手法がベイズ推定(Bayesian inference)とマルコフ連鎖モンテカルロ法(MCMC).

ベイズ統計

  • パラメータを確率変数とみなして確率分布を推定する(伝統的な統計学の点推定と異なる)

 p(θ|Y) = \dfrac{p(Y|θ)p(θ)}{p(Y)}

  • p(θ|Y): 事後分布(posterior distribution)
  • p(θ): 事前分布(prior distribution)

分母の p(Y) は観測データに依存する定数のため, と比例の式に書き換えることができる. (そもそも p(Y) の計算は現実的に難しいらしい)

 p(θ|Y) \propto p(Y|θ)p(θ)

分母の p(Y) 抜きだと正規化されておらずトータルが1にならないため, 実際には確率とみなすことはできないが, p(Y|θ)p(θ) から乱数サンプルを生成して事後分布の代わりにできる, というのがMCMCの考え方らしい(なぜそれが問題ないかは別途資料を読む必要がありそう)

MCMC周りの理論的な説明は別途参考資料を読んだが方が良さそう.

MCMCアルゴリズム

  • メトロポリス・ヘイスティング法
  • ギブスサンプリング

  • 初期値を適当に決める

  • 現在のサンプルから次のMCMCサンプルを乱数生成し更新する(生成したサンプル列は chain と呼ぶ)
  • 最初の方のサンプルは初期値への依存が高いため除外する(除外する期間を warm upburn in と呼ぶ)
  • ある程度のサンプルを生成すると事後分布の形状が変わらなくなり収束する(確か定常分布に収束すると表現するはず)
  • (おまけ)収束しない場合には, まびく( thinning )と改善する場合がある

2.5 ベイズ信頼区間ベイズ予測区間

ベイズ信頼区間

  • 確率分布の幅を計算することで「事後分布を考慮して, 95%の確率でパラメータの値がa〜bの範囲に入る」という言い方が可能になり, これを ベイズ信頼区間 と呼ぶ( 信用区間確信区間 と呼ぶ場合もある)

このベイズ信頼区間は伝統的な統計学の信頼区間と本質的に異なるので注意!

ベイズ予測区間

別途記事にする予定.

2.6 最尤推定ベイズ推定の関係

別途記事にする予定.

2.7 事前分布の選び方

  • 選択肢1: 無情報事前分布(non-informative prior)を使う
    • 何も情報がない場合
  • 選択肢2: 弱情報事前分布(weakly informative prior)を使う
    • パラメータの値についてある程度の知識や経験がある場合(例: 人間の身長は0m〜3mの間 etc)
  • 選択肢3: 共役事前分布(conjugate prior)を使う
    • 過去, コンピュータの計算速度が遅い時に使われていた(計算が速い)

TODO

  • [ ] 予測区間について
  • [ ] MAP(事後確率最大推定値)について

参考資料

MCMC関連