われがわログ

最適化アルゴリズムとかプログラミングについて書きたい

「StanとRでベイズ統計モデリング」のメモ

確率的プログラミングとは

随所で「確率的プログラミング」という言葉を見かけ、気になっていたので本書を読んだ。そのときのメモ。 最初、この単語は確率論を考慮したプログラミングを指すのか?と思っていたがそうではなく、ベイズ統計モデリングをするための言語とのことだった。

数理最適化計算のためのモデリング言語でAMPLというのがあるが、それの確率モデリング版と考えるのがしっくりきた。「確率的プログラミング」でなく「ベイズ統計モデリング言語」と呼んだ方が誤解がない気もする。その意味で、本書のタイトルは的を射ている。

既存の確率的プログラミング言語の例は以下の通り。

何がうれしい?

確率的プログラミング言語の良いところは、使用者がモデリングに集中できるところ。従来だと式の導出などが手間だったらしいが、それをうまく隠蔽できている。

深層学習用のライブラリが、誤差逆伝播時の自動微分を隠蔽しているようなものと理解した。

本書の主張

本書で一番主張したいことは、「ベイズ統計モデリングは以下の手順で実施すると大抵うまくいく。」ということだと理解した(もちろんRやStanといったツールは何でもよいが)。

  1. 解析目的の定義
  2. データの分布の確認
  3. データ生成原理の想像
  4. モデル式の記述
  5. Rでのモデル式のシミュレーション
  6. Stanでモデルを実装
  7. 推定結果の解釈
  8. 図によるモデルの妥当性確認

この手順に沿ったベイズ統計モデリングの例が、本書には数多く掲載されている。 理論というよりも実践寄り。 ベイズ統計の理論面は、以下のウェブサイトで紹介されている本を読めば理解できそう(須山ベイズベイズ推論による機械学習入門 、渡辺ベイズベイズ統計の理論と方法)。

www.hellocybernetics.tech

階層モデル

グループ差や個人差(グループ、個人に由来する差異)をうまく扱うための手法の一つ。 「グループ差を表すパラメータはグループ内で類似しており、特定の分布(正規分布)などから生成される」という仮定を置いてモデリングする。 これにより、たとえ特定グループのデータが少なかったとしても精度の高いモデリングが可能となる。 グラフィカルモデルで見ると、説明変数/決定変数間の関係が階層化されているため、階層モデルと呼ばれる。

伝統的な統計論とベイズ統計との違い

思想

伝統的な統計論(頻度論)と、ベイズ統計との思想の違いは以下のページが詳しい。 前者は真のパラメータはひとつだけ存在するという思想であり、後者は、確率的にパラメータが決まるというものである。したがって、前者ではp(\theta | Y)というような表記はしない(これをやった場合、パラメータを確率変数としてみなすことになるため)。

www.hellocybernetics.tech

to-kei.net

ベイズ推定、最尤法、最小二乗法の違いは、以下のページがよくまとまっている。 一般性が高い順に並べると以下の通り。

ベイズ推定>最尤法>最小二乗法

つまり、最尤法はベイズ推定で、ある仮定を置いた特別な場合に相当する。 以下引用。

最尤推定 = 事前分布が一様であるBayes推定

最小二乗法 = 誤差に平均0の正規分布を仮定した場合の最尤推定

funatsu-lab.github.io

信頼区間

本書でも言及があるが、信頼区間の意味は直観的でない。 「サンプルをとる→パラメータの推定区間作成」というのを繰り返したとき、真のパラメータが推定区間内に含まれる確率が95%という意味。 以下のサイトの図を見ると理解が進む。

19-3. 95%信頼区間のもつ意味 | 統計学の時間 | 統計WEB

対して、ベイズ信頼区間は以下のように定義される。

事後分布の両端からα/2%の面積を切り取って、残った中央部の(1-α)%に対応する区間を(1-α)%ベイズ信頼区間と呼ぶ。

その他メモ

尤度と事後分布

事後分布と尤度がごっちゃになったのでメモ。

文字の定義

  • \theta:パラメータ
  • Y:得られたデータ

尤度と事後分布

  • p(Y | \theta):尤度。パラメータの候補に対し、それがデータにどれだけフィットするかを表す。最尤推定で使う指標。和が1でないので確率ではない。
  • p(\theta | Y):事後分布。データが与えられたもとで、パラメータはどういう分布を取るかの確率密度を表す。

ベイズの定理よりp(\theta | Y) \propto (Y | \theta) p(\theta) なので、事後確率最大推定値(MAP推定値)は、パラメータに関しての情報がないとき、最尤推定の結果と一致する。