統計初心者が統計モデリング力を鍛えるための勉強法

以前、[『結局、統計モデリングとは何なのか』](https://qiita.com/ueniki/items/6338f8de53ee65637b32)という記事を書きました。

この記事は、その名の通り、「そもそも」何が統計モデリングで、何が統計モデリングではないのかということを扱った記事です。

今回は、「統計モデリングとは何か」を理解した方に向けて、実際に「統計モデリング力」を鍛えるためにはどうするかを書いていきたいと思います。


# この記事の目的と対象者
上記でも述べたようにこの記事の目的は、どのように「統計モデリング力」を鍛えるかを書くことです。
統計学に入門するところから、高度な統計モデルを扱えるようになるまでの勉強法について書いています。
したがって、統計初心者からそれなりに理解している人までの幅広い層が想定読者となります。
ところどころで、プログラム言語で実際に手を動かしながら学ぶタイプの本を紹介することもありますので、そういった本を読むためにはPythonまたはRの知識が必要になります。


# 統計モデリング力とはなにか
ここでいう「統計モデリング力」とは、
**観測したデータをどのような統計モデルで扱うのが適切かを考えられる能力**
のことです。
この世には、正規分布でモデリングするのがいいデータもあれば、二項分布で扱うのがいいデータもあります。

ある変数（目的変数）をなにか別の変数（説明変数）で説明したいのであれば、
ただの線形モデルで太刀打ちできる場合もあれば、一般化線形モデルで分析する必要のある複雑なデータかもしれません。
もっと複雑になれば、一般化混合線形モデルを使う必要もあるかもしれません。

時系列データを現代風に分析したければ、状態空間モデルを使いたくなるでしょう。

このように統計モデルは、場面場面で使い分けなければなりません。
適切なモデルを当てはめることができてはじめて、我々は現象をよりよく理解することができるからです。


これは、機械学習モデルでも同じです。
どんな場面でも通用する機械学習モデルなんてものはあり得ません。
今や有名になったDeep Lerningでさえ、その得意分野は非常に限られています。
この広大なデータの世界では、Deep Lerningで扱うのが適切なのは、ほんの一握りのデータに過ぎません。

様々な分析手法を自分の引き出しから出し、適材適所で使い分けることのできる人が優れたデータ分析者ということになるでしょう。

# 入門編〜知っている統計モデルの種類を増やそう〜
まずは、統計モデルの引き出しを増やしましょう。
知らなければ、使うことはできません。

## 統計学に入門しよう
### 古典的（頻度主義的）統計学
まずは、頻度主義統計学に入門しましょう。
頻度主義的な統計学とは、大学などで（おそらく）一番最初に習う、みんなが思い浮かべる（？）統計学です。
私も大学一年生の必修で習ったような記憶があるような気がします（笑）

後に紹介するベイズ統計学とは、立場・思想が大きく異なります。
同じキリスト教にも、カトリックとプロテスタントがあるようなものです。


ですが、ベイズ統計学のほうが歴史的には新しい統計学であり、勉強するのであれば、頻度主義統計学の方を先に勉強する方がいいでしょう。
（新しいからといって、必ずしもベイズ統計学の方が優れていることにはなりません。宗教的思想の違いです。）


頻度主義統計学の基礎としては、
[『心理統計学の基礎―統合的理解のために』](https://www.amazon.co.jp/dp/4641121605/ref=cm_sw_em_r_mt_dp_U_bQbhFb7QDN505)
![download.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/115709/d255ef92-a854-06c5-a69d-a594ed4f8d2b.jpeg)
を全力で推します。

基礎はこの本で十分です。
『心理』統計学と書かれてはいますが、すべての分野に通用する統計学の基礎が非常にわかりやす、かつ、秩序立てて書かれています。
著者の南風原先生の圧倒的な智を感じます。

この本では、1変数の単純な統計モデリングから、重回帰や分散分析といった説明変数で目的変数を説明しようとする統計モデリングまでの橋渡しが行われています。
ある意味では次節で述べている「説明・回帰型の統計モデリング」にも一部踏み込んでいると言えるでしょう。

### 説明・回帰型の統計モデリング
古典的な頻度主義統計学を学んだ後は、より発展的な回帰型の統計モデリングを勉強しましょう。
身長で体重を回帰するように（おそらくある程度の相関はあるでしょう）、説明変数で目的変数を説明・回帰しようとする統計モデリングです。
もちろん、説明変数が複数あっても問題ありません。


まずは、
言わずとしれた名著、通称・緑本[『データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC』](https://www.amazon.co.jp/dp/400006973X/ref=cm_sw_em_r_mt_dp_U_yhdhFb2BQ880C)
![51eyDJSmLvL._SX356_BO1,204,203,200_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/115709/c0859047-3a4c-3506-83ac-b0bec019987a.jpeg)

で、一般化線形モデルとその発展型の一般化混合線形モデルという考え方を学ぶのがよいでしょう。

この本が統計学における最大の名著の1つである（私の意見です 笑）理由は、
一般化線形モデルを通して、適切な統計モデリングとは何かという哲学的な問題に真っ向から立ち向かっている点です。
さらに素晴らしいのは、説明・回帰型の統計モデリングという題材を使いながら、なめらかに（ここがスゴい！！）ベイズ統計学にも入門させてくれる点です。


### ベイズ統計学
緑本を読んだ後は、ベイズ統計学の世界に本格的に入門しましょう。
ベイズ統計学はたくさんの入門書があります。
正直に言えば、評価の高いものを読めばそんなにハズレはないのですが、個人的には、
[『基礎からのベイズ統計学』](https://www.amazon.co.jp/dp/4254122128/ref=cm_sw_em_r_mt_dp_9kJYFbMMAE2W7)
![51AThmXRaHL._SX351_BO1,204,203,200_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/115709/d2aa1e30-dc83-a6e5-229f-c9401cf72e76.jpeg)

を推します。
一冊でベイズ統計学の基礎から応用例までを理解することができます。



### 時系列分析
時系列分析については、私が書いた別の記事[『統計初心者が時系列分析を学ぶための勉強法・オススメ本』](https://qiita.com/ueniki/items/6231cc51e8c0f9d29624)も参考にしてください。

時系列でモデリングといえば、近年流行りの状態空間モデルでしょう。
状態空間モデルでは、定番の入門書となった通称・隼本[『時系列分析と状態空間モデルの基礎: RとStanで学ぶ理論と実装』](https://www.amazon.co.jp/dp/4903814874/ref=cm_sw_em_r_mt_dp_-DJYFb2PSD090)をご一読ください。
![516f3jVjO2L._SX353_BO1,204,203,200_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/115709/1322d63a-81f3-bde6-84de-0162ddbf7481.jpeg)

難しいと言われる時系列分析ですが、隼本は非常に平易にかつイメージしやすいように書かれています。
時系列分析で挫折したことがある方も、一度騙されたと思って読んでいただけると、いつの間にか時系列分析の門をくぐっていることに気がつくでしょう。


少し数学多めで難しいですが、
[『基礎からわかる時系列分析 ―Rで実践するカルマンフィルタ・MCMC・粒子フィルタ』](https://www.amazon.co.jp/dp/4774196460/ref=cm_sw_em_r_mt_dp_HHJYFbGN69MMY)
![517UNNmUFtL._SX396_BO1,204,203,200_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/115709/f9b01fe4-c84f-22d4-1acc-cee20fe6e24e.jpeg)



### 階層ベイズ
緑本でもある程度扱われている階層ベイズですが、より詳細に理解するためには、
[『ベイズモデリングの世界』](https://www.amazon.co.jp/dp/4000247980/ref=cm_sw_em_r_mt_dp_0AFYFbMREFVY8)
![5138k6dArWL._SX347_BO1,204,203,200_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/115709/4c4513c5-4f57-2059-c48a-2ae44fbf2e55.jpeg)
を読むといいでしょう。

いわゆるオムニバス形式で、（お世辞ではなく）当代一流の先生方が、様々な場面でのベイズモデリングの適用について語ってくれます。
日本語で読める階層ベイズの本は多くない、かつ、実際の研究現場での実用例を我々一般人は垣間見る機会がないので、世界の碩学たる先生方の智に触れることのできる貴重な文献でしょう。


# 実践編〜実際に統計モデリングしてみよう〜
ある程度理論を理解した後は、実践的な内容の本を読んで、より深く理解していきましょう！

統計的学習と呼ばれる、統計学の考え方に立って、機械学習的モデリングを扱う理論を題材にした本もオススメです。


ある程度ベイズ統計学を理解した後は、現実の場面にどう適用するのかを学ぶために、実践的問題を取り扱う本を読んでいきましょう。

入門編でも紹介した本を実践編で再度紹介するという革命的なスタイルでお送りしますが（笑）、
まずは、[『基礎からのベイズ統計学』]
(https://www.amazon.co.jp/dp/4254122128/ref=cm_sw_em_r_mt_dp_9kJYFbMMAE2W7)
![51AThmXRaHL._SX351_BO1,204,203,200_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/115709/d2aa1e30-dc83-a6e5-229f-c9401cf72e76.jpeg)

の後半を読んで、どのように実践的な問題にベイズモデリングを当てはめていくのかを学びましょう。


また、実践的な頭の使い方ができるようになっても、実装できなければ意味がないので、
通称アヒル本[『StanとRでベイズ統計モデリング』](https://www.amazon.co.jp/dp/B07M8LWLS1/ref=cm_sw_em_r_mt_dp_WBGYFbPN8BM08)で、StanでMCMCする方法を学びましょう。
![41FEo7m7c7L.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/115709/bc2b18ee-6e60-49da-1d4f-404d16fb7782.jpeg)

日本語でベイズ統計学の実装についてこれ以上詳しく、実践的に書かれた内容の本はありません。
また、実にキレイに整理されて書かれているので、非常に読みやすい本になっています。


# 番外編〜統計モデリング以外のデータ分析手法を知ろう〜
統計以外では、近年流行りの機械学習について学んでみるといいでしょう。
ここでは詳しくは述べないので、
[『機械学習・ディープラーニング初心者のためのおすすめ勉強順序』](https://qiita.com/ueniki/items/25b08c9fc505c5876e73)
も是非合わせて読んでみてください。

統計学的アプローチと機械学習的アプローチの違いについて学ぶことで、データを分析するということがどういうことなのかをより深く理解することができるでしょう。

# まとめ
本記事では、「統計モデリング力」を鍛えるための勉強法について書いてきました。
ここまで来て言うのもなんですが、勉強するだけでは、真の「統計モデリング力」は身につきません。（突然の悲しいお知らせ）
実際のデータを使って、何度も試行錯誤するプロセスは絶対に必要です。
その試行錯誤の苦しみの中でしか、本当に実践的な能力など身につかないのです。

モデリングとは、データを人間にわかりやすいような型（それをモデルという）に当てはめる作業です。
複雑な現象を情報整理するための手法です。
ある意味では、データの複雑性を**あえて**捨てることで、人間の理解可能な形に落とし込む作業とも言えます。
適切なモデリングができなければ、重要な情報も捨ててしまうことにもなりかねませんし、誤った（歪んだ）見方をしてしまうかもしれません。

適切に現象を理解するためには、過不足ない型にデータを当てはめる必要があります。
そしてそれを**適切な**「統計モデリング」といい、適切な統計モデリングができる力を「統計モデリング力」と呼ぶのです。


本記事で紹介した本を読み、実践していく中で統計モデリング力を鍛え、現象をよりよく、そして、より深く理解できるようになりましょう！