未定の部屋

主にデータサイエンス関係の記事を書きます

ベイズモデリング学習記録

※2021年11月に書いた記事を再投稿したものになります

こんにちは。夏ごろからふわっとベイズモデリング関連の勉強をしてきたので、個人的な感想を交えつつ軽く振り返りたいと思います。
ベイズ統計の基礎は知っていたものの、ベイズモデリングについてはなんとなく名前を聞いたことがある程度で詳しいことは知らない状態から勉強を始めました。ベイズ統計の書籍はRのものが多く、自分はあまりRを書かないのでどことなく勉強を後回しにしていたのですが、応用の幅が広そうなのと結果の解釈がしやすい、また実務向きでもあるという話を聞いてついに手を伸ばしました。



学習記録

主に下記2冊の書籍で学びました。また、いくつか外部のセミナーにも参加しました。
書籍は『RとStanではじめる ベイズ統計モデリングによるデータ分析入門(実践Data Scienceシリーズ)』(馬場真哉)と『StanとRでベイズ統計モデリング』(松浦健太郎)で学びました。

最初は『RとStanではじめる ベイズ統計モデリングによるデータ分析入門』から読みました。この本は理論編・基礎編・実践編・応用編からなり、ベイズモデリングの基礎から実践的な分析手順、階層ベイズや状態空間モデルといった応用トピックまでバランスよく載っていました。いずれも説明が丁寧なのとRによる実践例が豊富で、個人的には大満足な1冊でした。実践部分だけでなく理論的な話も最低限を丁寧に記述している感じがあり、自分のような数式を見て納得したいタイプの人でも心地よく読み進められました。Rをあまり書いていなくても、サポートページとサンプルコードの説明が丁寧だったので苦痛なく理解できました。この本を読めばRによるベイズモデリングのやっていることを一通りは理解できると思ったので、これからベイズモデリングを学ぶ人にはぜひとも最初の1冊におすすめしたいです。

次に、『StanとRでベイズ統計モデリング』を読みました。こちらは通称アヒル本と呼ばれていて、界隈では有名な本ですね。1冊目の本に比べると、内容としてかぶっている部分もあるのですがより踏み込んだ部分もあり、こちらの本の方が読むのに時間がかかりました。内容として、ベイズモデリングの基礎的な手順、階層ベイズ、状態空間モデルといった部分はどちらの本でも記述があります。実践Data Scienceシリーズの方は、これらの手法の紹介に加え、Rでの可視化や処理の方法、rstan以外のベイズモデリング関係のパッケージについても記述があります。一方でアヒル本はR関連の記述は最小限で、その分Stanの踏み込んだ文法やベイズモデリングがうまくいかない場合の対処法といった入門書+αのような内容の記載がありました。また、多くの章に練習問題がついており、これを解くことでかなり力が付くような気がしました(時間と気力の都合ですべては解いていませんが...)。

ヒル本はベイズモデリングの入門書ではあると思いますが、Rや統計や数学の基礎についてはある程度知っている前提で書かれていると感じたので、この辺りは別の書籍などである程度学んでおかないと読むハードルが高いなと感じました。自分の場合、Rのコーディングで分からず調べることが多く、かなり時間を使いました。逆に言うと、この本を隅々まで理解できると基礎的なベイズモデリングを理解できるだけでなく、それを自分で設計して実行する力がしっかり身につくと言えそうです。


所感

セミナーや社内勉強会でも聞いたのですが、ベイズモデリングは精度と解釈性を両立できるという利点があるのが非常に魅力的だと思いました。ただ、これを両立させるにはベイズモデリング・実行する言語(R・Stanなど)への理解が高いだけでなく、分析対象への深いドメイン知識も必要だと感じています。また、実務でベイズモデリングを行う場合、プロジェクトにかかわる他部署の人や顧客のリテラシーも立ちはだかります。分析でお金を得る場合、たとえメリットがあっても分析結果を求める相手に価値があると思わせないとそもそも使えません。また、単純な回帰分析や集計に比べると工数が多く必要だったり分析環境をある程度整える必要があったりすることも障壁になると思います。

こういった課題はありますが、実際勉強をしてみるとそのポテンシャルの高さはかなりあるような気がしました。そしてそのポテンシャルを十分にかつ正確に引き出すにはかなりの専門性を必要とする印象があるので、もう少し掘り下げて理解を深めていきたいなと思いました。

以上です。ではでは~