「StanとRでベイズ統計モデリング」のメモ
StanとRでベイズ統計モデリング (Wonderful R)
- 作者: 松浦健太郎,石田基広
- 出版社/メーカー: 共立出版
- 発売日: 2016/10/25
- メディア: 単行本
- この商品を含むブログ (10件) を見る
確率的プログラミングとは
随所で「確率的プログラミング」という言葉を見かけ、気になっていたので本書を読んだ。そのときのメモ。 最初、この単語は確率論を考慮したプログラミングを指すのか?と思っていたがそうではなく、ベイズ統計モデリングをするための言語とのことだった。
数理最適化計算のためのモデリング言語でAMPLというのがあるが、それの確率モデリング版と考えるのがしっくりきた。「確率的プログラミング」でなく「ベイズ統計モデリング言語」と呼んだ方が誤解がない気もする。その意味で、本書のタイトルは的を射ている。
既存の確率的プログラミング言語の例は以下の通り。
何がうれしい?
確率的プログラミング言語の良いところは、使用者がモデリングに集中できるところ。従来だと式の導出などが手間だったらしいが、それをうまく隠蔽できている。
深層学習用のライブラリが、誤差逆伝播時の自動微分を隠蔽しているようなものと理解した。
本書の主張
本書で一番主張したいことは、「ベイズ統計モデリングは以下の手順で実施すると大抵うまくいく。」ということだと理解した(もちろんRやStanといったツールは何でもよいが)。
- 解析目的の定義
- データの分布の確認
- データ生成原理の想像
- モデル式の記述
- Rでのモデル式のシミュレーション
- Stanでモデルを実装
- 推定結果の解釈
- 図によるモデルの妥当性確認
この手順に沿ったベイズ統計モデリングの例が、本書には数多く掲載されている。 理論というよりも実践寄り。 ベイズ統計の理論面は、以下のウェブサイトで紹介されている本を読めば理解できそう(須山ベイズ:ベイズ推論による機械学習入門 、渡辺ベイズ:ベイズ統計の理論と方法)。
階層モデル
グループ差や個人差(グループ、個人に由来する差異)をうまく扱うための手法の一つ。 「グループ差を表すパラメータはグループ内で類似しており、特定の分布(正規分布)などから生成される」という仮定を置いてモデリングする。 これにより、たとえ特定グループのデータが少なかったとしても精度の高いモデリングが可能となる。 グラフィカルモデルで見ると、説明変数/決定変数間の関係が階層化されているため、階層モデルと呼ばれる。
伝統的な統計論とベイズ統計との違い
思想
伝統的な統計論(頻度論)と、ベイズ統計との思想の違いは以下のページが詳しい。 前者は真のパラメータはひとつだけ存在するという思想であり、後者は、確率的にパラメータが決まるというものである。したがって、前者ではというような表記はしない(これをやった場合、パラメータを確率変数としてみなすことになるため)。
ベイズ推定、最尤法、最小二乗法の違いは、以下のページがよくまとまっている。 一般性が高い順に並べると以下の通り。
ベイズ推定>最尤法>最小二乗法
つまり、最尤法はベイズ推定で、ある仮定を置いた特別な場合に相当する。 以下引用。
最尤推定 = 事前分布が一様であるBayes推定
信頼区間
本書でも言及があるが、信頼区間の意味は直観的でない。 「サンプルをとる→パラメータの推定区間作成」というのを繰り返したとき、真のパラメータが推定区間内に含まれる確率が95%という意味。 以下のサイトの図を見ると理解が進む。
19-3. 95%信頼区間のもつ意味 | 統計学の時間 | 統計WEB
事後分布の両端からα/2%の面積を切り取って、残った中央部の(1-α)%に対応する区間を(1-α)%ベイズ信頼区間と呼ぶ。
その他メモ
尤度と事後分布
事後分布と尤度がごっちゃになったのでメモ。
文字の定義
- :パラメータ
- :得られたデータ
尤度と事後分布
- ):尤度。パラメータの候補に対し、それがデータにどれだけフィットするかを表す。最尤推定で使う指標。和が1でないので確率ではない。
- :事後分布。データが与えられたもとで、パラメータはどういう分布を取るかの確率密度を表す。
ベイズの定理より なので、事後確率最大推定値(MAP推定値)は、パラメータに関しての情報がないとき、最尤推定の結果と一致する。