ベイズ統計学を勉強する参考書のフロー

慶應義塾大学・株式会社Nospareの菅澤です．
今回はベイズ統計学を勉強するための参考書の順番 (私見) について紹介していきます．

3年ほど前に[『日本語で学べるベイズ統計学の教科書10冊』](https://qiita.com/ssugasawa/items/81424628c5eb63b22a9e)を紹介しましたが，今回は「どのような順番でどの参考書を読んでいくと比較的スムーズに勉強が進められるのか」に焦点を当て，比較的最近の書籍や英語の書籍まで含めて紹介していきます．


まずは全体的なフローのイメージを提示しておきます．

![スクリーンショット 2024-04-18 12.17.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1023926/f679b80a-5912-c26b-9908-c0a54f6a73e6.png)



今回の記事では，「ベイズ統計学を勉強すること」のスタートとゴールを以下のように定めます．

- **(スタート)** 統計学の基礎的な内容 (統計検定2級程度の内容) は身についている
- **(ゴール)** ベイズモデリングに関する最新の論文がある程度理解して読め，自力でモデルを組んだり実装することができる

また，このゴールへの道のりとして，大きく2通りのルートを想定します．

- **(ルートA: フルスクラッチで実装するコース)**  MCMCの中身まで全てフルスクラッチで実装することを目指す (大学院生・研究者を想定)
- **(ルートB: Stan等で実装するコース)** 実装自体はStan等の汎用ツールを使って実装することを目指す (民間企業のデータサイエンティストを想定)


以下では，登場する書籍や各ルートの詳細について説明していきます．



# ルートA: フルスクラッチで実装するコース

### ステップ1: まず取り組むべきこと
MCMCを自力で実装するためには，モデルと事前分布から事後分布の形を具体的に導出する必要があり，確率統計的な素養 (特に確率分布周りの代数計算) が必要不可欠です．そのため，ある程度の数理統計学の教科書を嗜んでおくと後々の勉強がスムーズになると思っています．

今回は例として [久保川達也『現代数理統計学の基礎』](https://www.kyoritsu-pub.co.jp/book/b10003681.html)を例として挙げています．この段階での目標は **「確率分布周りの計算をスムーズにできるようにすること」** です．この本は演習問題が豊富に用意されているので，問題を解きながらそのような力を養っていくと良いと思います．

また，目標が目標なだけに，1章から4章までをしっかり学習できれば次のステップに進んでしまっても良いのかなと考えています．(もちろん残りの章も勉強するに越したことはないです．)


### ステップ1.5: 簡単な入門書の経由 (オプション)
いきなりベイズ統計学の本格的な教科書を読んでも良いのですが，まずは入門的な内容から勉強を始めても良いかもしれません．具体的な書籍として以下の2冊を挙げておきます．

- [各務和彦『ベイズ分析の理論と応用』](https://www.saiensu.co.jp/search/?isbn=978-4-88384-350-3&y=2022)
- [中妻照雄『Pythonによるベイズ統計学入門』](https://www.asakura.co.jp/detail.php?book_code=12898)

また，ルートBの方で触れますが，Stan等の入門書を使ってベイズ統計学のイメージを作っておくのもアリかなと思います．


### ステップ2: 体系的な教科書
数学的な準備およびベイズ統計学のなんとなくのイメージができたら，[入江・菅澤・橋本『標準ベイズ統計学』](https://www.asakura.co.jp/detail.php?book_code=12267) を読むことをオススメします．

具体的には

- モデルと事前分布から自力で完全条件付き分布を導出してみる
- 自力で実装してみる (本文中のRコードは公開されているので答え合わせできます)
- 豊富にある演習問題を解いてみる

ことを通して勉強していくとかなり実力が身につくと思います．

1つ注意点としては，この本の冒頭には抽象的な概念がいろいろと登場するので，**「ベイズ統計学がどういうものか"全く"知らない人」にとっては少々読みづらい** 内容になっていると思います．そのため，少しでも良いので「ベイズ統計学はこんな感じ」というイメージを持ってから (例えばステップ1.5を経由してから) の方がスムーズに読み始められるのではないかと考えています．


### ステップ3: 知識の深化
ステップ2以降は各自の興味に応じた参考書を勉強してより専門的な知識を身に付けていくのが良いかなと思います．例として

- MCMCの理論をもっと深く知り合い場合: [鎌谷研吾『モンテカルロ統計計算』](https://www.kspub.co.jp/book/detail/5191835.html)
- ベイズ統計学の学習理論について知りたい場合: [渡辺澄夫『ベイズ統計の理論と方法』](https://www.coronasha.co.jp/np/isbn/9784339024623/)

を挙げておきます．

また，ベイズ統計学一般に関して知識やスキルをより身に付けたいという場合は

- [Gelman et al. 『Bayesian Data Analysis』(通称BDA3) ](https://www.amazon.co.jp/Bayesian-Analysis-Chapman-Statistical-Science/dp/1439840954)
- [Chan et al. 『Bayesian Econometric Methods』](https://www.amazon.co.jp/-/en/Joshua-Chan/dp/1108423388)

がオススメです．

BDA3はかなり分厚い本で，ベイズモデリングの辞書的な本です．(おそらく年内に翻訳版が出ます．)　本の内容全てに目を通すのは大変ですが，標準ベイズと被る内容がそれなりにあるのと，各セクションがかなり独立した内容になっているので，興味のあるトピックをいくつか選んで読むのでも十分良いかなと思います．

『Bayesian Econometric Methods』は計量経済系のモデルが中心ですが，混合モデルや潜在変数モデルなどの具体的な実装を演習形式で紹介している書籍なので，最終的にフルスクラッチでの実装を目指す場合はとても良い練習本だと思います．この本を使った勉強方法については[過去の記事](https://qiita.com/ssugasawa/items/dffd68a7bb744a96a8d6)で紹介しておりますので，詳細はそちらをご参照ください．

上記の2冊の本は，どちらかを読めば十分かなと思います．


### ステップ4: トピック特化型知識の深化 (オプション)
ステップ3までが終われば，基本的には冒頭で定義したゴールに到達できていると思いますし，ベイズ統計学に関係した専門的なトピックを自力で勉強する力も十分に身に付けられていると考えています．

専門的なトピックに関する書籍はいくつかありますが，一部を例として挙げておきます．

- ノンパラベイズ: [佐藤一誠『ノンパラメトリックベイズ』](https://www.kspub.co.jp/book/detail/1529151.html)
- ガウス過程: [持橋・大羽『ガウス過程と機械学習』](https://www.kspub.co.jp/book/detail/1529267.html)
- 変分ベイズ: [中島伸一『変分ベイズ学習』](https://www.kspub.co.jp/book/detail/1529144.html)
- 時系列分析・状態空間モデル: [Prado et al『Time Series: Modeling, Computation, and Inference』](https://www.amazon.com/Time-Modeling-Computation-Inference-Statistical/dp/1498747027)
- 空間データ分析: [Banerjee et al. 『Hierarchical Modeling and Analysis for Spatial Data 』](https://www.amazon.co.jp/-/en/Sudipto-Banerjee/dp/1439819173)



# ルートB: Stan等で実装するコース

### ステップ1: Stanの入門

まずはベイズ統計学のイメージ作りとStanの入門をします．例として [松浦健太郎『StanとRでベイズ統計モデリング』](https://www.kyoritsu-pub.co.jp/book/b10003786.html)を挙げておきます．

最近では，Stanに関する多くの書籍が出版されておりますし，Stan以外の汎用ツール (PyMCやNumPyro) の入門書でも良いと思います．


### ステップ2: 体系的な教科書

体系的に学ぶということで『標準ベイズ』読むのはルートAと同様ですが，本の読み方が変わってきます．MCMC自体はStan等を使うことを想定しているため，概念的な内容（事後分布からどのように情報を要約するか，階層モデルで何ができるのか等）を理解することに注力し，細かい数式を追うことは不要だと考えています．

また，本文中で解説されている例などをStanで実装してみると良い練習になると思います．


### ステップ3: 発展的なモデル

概念的な内容やStanの実装に慣れてきたら，より複雑なモデルを扱っている本を読みながら実装の練習をすると良いと思います．例として[馬場真哉『時系列分析と状態空間モデルの基礎』](http://www.pleiades-publishing.co.jp/pdf/pdf08.html)を挙げておきます．


### ステップ4: 知識の深化

ルートAと同様に，より専門的かつ包括的な知識を得るための本として，BDA3を読んでみると良いと思います．Stanの裏側で走っているハミルトニアンモンテカルロの解説なども書かれていますので，Stanに対する理解もより深まるのではないかと思います．BDA3で登場するモデルや手法をStanで実装できるようになれば，初見のモデルも容易に実装できるレベルのスキルが身についていると思います．





# おわりに


株式会社Nospareでは統計学の様々な分野を専門とする研究者が所属しております．統計アドバイザリーやビジネスデータの分析につきましては[株式会社Nospare](https://bit.ly/38WtGZH)までお問い合わせください．
<a href="https://bit.ly/38WtGZH">
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1023506/d5c625c0-d6f4-680b-d702-3c40f11d6c39.jpeg" alt="株式会社Nospare" width=400>
</a>