FC2ブログ
06«1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.»08

たまひびとらの絵本の実

読書好きな姉妹と弟と父母の読んだ本

RとStanではじめるベイズ統計モデリングによるデータ分析入門 

bayesiantoukeimodellingniyorudata.jpg
ベイズ統計モデリングによるデータ分析入門
ベイズ統計モデリングによるデータ分析入門

とにかくわかりやすい。著者はR上でMCMCを走らせることができるようにという視点から書いていて、本の作りも正にそうなっている。カラーを惜しまず、プログラムや数式も省略せず書かれている。数学やMCMC理論はコンセプトだけさっと説明して、難しいところはすっ飛ばす。実際に動かせると、理論も理解しやすい。

僕もとりあえずMCMCは動かせるようになった。Stanのコードはプログラミングというよりも、確率モデルを記述するだけ。持っているデータをdataブロックに列挙、求めたいパラメーターを parameters ブロックに列挙、そして①事前分布と②データ・パラメータ間に想定する確率モデルを model ブロックに記述。それでおしまい。そうしたらStanが勝手にMCMCをやって、結果を出してくれる。

2年前にベイズMCMCの本を初めて読んだときはチンブンカンプンだった。そのときは尤度関数がどうやって決まるのかわからなかった。今になれば、尤度関数は結局自分が想定する確率モデルの確率密度関数と実質的に同じものであり、どんな確率モデルがその事象に当てはまると思うのかを自分で考えるのだとわかる。教科書に出てくるようなケースであれば、正規分布やポアソン分布といったわかりやすいものになるけど現実の事象の分布がわかるとは限らない。

本書は Linear Model から始まり、Generalized Linear Model, Generalized Linear Mixed Model を経て、最後には係数などが時系列で動く Dynamic Linear Model, Dynamic Generalized Linear Model に至る。最後の章である時系列、状態方程式はちょっと難。時系列の本を読んでいなかったらつっかかったと思う。自分で確率モデルを記述しながら理解するという感じ。

詳細メモ
lp__: この方の説明がわかりやすい。事後確率の対数をとった値から定数項分を除いたもの。

カーネル密度推定: 本書のコンセプト説明がわかりやすい。正規分布以外のバージョンもある。

R hat: すべての乱数の分散、を、同一チェーン内の分散、で割った数値(こちらのP19-21)。分子は分母を含む数なので、1を超える数になる。分子が分母に近ければほぼ1となり収束を示す。

ハミルトニアン・モンテカルロ: ニュートン力学とは異なり、位置qと運動量pで記述するハミルトン力学。ハミルトニアン = 運動エネルギー + 位置エネルギーであり(位置qと運動量pで記述)、ハミルトニアンは一定である。ハミルトンH(q, p)が一定であるための位置qと運動量pの動きはハミルトン正準方程式で求められる。位置qをベイズにおけるパラメータの位置と考え、運動量qをパラメータ探しのための動きと考えて、MCMCにハミルトン力学を応用できる。ハミルトンが保存されれば詳細つり合い条件は満たされるので都合がよい。qとpの初期値を決め、ハミルトン正準方程式の解に従って、次のqとpを求める。これを繰り返せばハミルトンを保存する、つまり、詳細つり合い条件を満たす qとpが求められていく。pをN(0, 1)で動かしまたqとpの変化を求める。それらにより条件を満たすランダムサンプリングが可能となる、らしい。

R Stanの流れメモ
1.データをリスト形式にする。
2.持っているデータ、求めたいパラメータ、それらが従う確率モデルを含むStanファイルを作成。
3.Stanファイル、データファイルを特定してRからMCMC実行。
4.結果を表示・図示。

スポンサーサイト



category: 父の本

cm 0   tb 0   page top

コメント

page top

コメントの投稿

Secret

page top

トラックバック

トラックバックURL
→http://tamahibi.blog122.fc2.com/tb.php/3949-6cf47731
この記事にトラックバックする(FC2ブログユーザー)

page top

訪問者数

カテゴリ

最新記事

最新コメント

最新トラックバック