【PythonとStanで学ぶ】仕組みが分かるベイズ統計学入門
確率の基礎から出発し、ベイズ統計学の基礎およびMCMCの原理を学びます。概念の理解とPythonでのプログラミングへの実装を合わせる事で、動かしながら原理を理解できます
Description
『ベイズ統計学、最近よく聞くけど、何だか難しそう。。』と思っていませんか?
実際、ベイズ統計学は真面目にやろうとするとそんなに簡単ではありません。
例えば、独学しようとベイズ統計学の教科書を紐解くと、統計学の知識を始めとして、高度な数学、MCMC、実際のコーディングなど幅広い知識を要求され、挫折する人も多いと思います。
しかし、本コースはそのような様々な壁を乗り越えて、しっかりとしたベイズ統計学の基礎を身に付けたいという方を対象に確率の基礎から出発し、ベイズ統計学の基礎、MCMCの基礎、そしてPyStanの使い方など実用的なレベルまで段階的にレベルアップできる体系的また本格的なベイズ統計学の入門コースです。
【まず始めに】
本コースは原理からきっちりと理解する事を目指しているので、少なからず数式が出てきます。(あまり式変形も省略しておりません)
ベイズ統計学は一貫性と柔軟性、また解釈が容易という様々なメリットを備えた統計学ですが、逆にしっかりとした数学の土台と幅広い知識(確率・統計学、モンテカルロ法、高度な数学)が必要である事がデメリットです。
もちろん、数式を使わなくてもフワッとした説明で概念は理解できますが、それでは実際のシーンでまず使えるようにはなりません。
この為、数式が多いと嫌という方は受講が難しいかもしれません*。(これは学問の性質上そうなので避けられません)
*もちろん、私も受ける側の立場に立つと数式ばかり出るコースは嫌になるので、数式と合わせてグラフィカルなイメージを使って、数式の意味を解説します。
本コースの活用の仕方にあるように、数式の難しそうな理論は置いておいて、"取り合えず、Pythonの実装の部分だけ"を受講するという受講の仕方もあると思います。
またこのコースでは実装にPythonというプログラミング言語を用いますが、Pythonの文法自体の解説はほぼなく、受講者はこの部分は予め習熟しておく必要があります。
今まで、Pythonをやったことないがベイズ統計学を学びたい方ももちろんいらっしゃると思いますので、そういった方向けにPythonの文法については補講を設けております。ただ、Pythonを使った事のある方と比べれば自助努力が必要になることはご理解ください。
また前提が多くて申し訳ありませんが、一般的な統計学の知識(平均値、標準偏差、期待値・分散や一部で最尤推定、共分散、相関係数など)についても基本は身に付いている前提で話が進みます。(これらの意味から話を始めると講義のボリュームが大変な量になり、受講生が肝心のベイズ統計を学ぶころには疲れてしまう可能性が高いからです。ただ、一応、確率の基礎1,2という講義で簡単に復習を行います)
【コースの概要】
本コースは確率の基礎から出発し、ベイズ統計学の基礎を学びます。またベイズ統計学で必要になってくるモンテカルロ法やMCMCなどのアルゴリズムについても解説を行います。これらベイズ統計学の基礎や各アルゴリズムは概念の理解の後にPython上でアイデアを具現化する実装のパートが付いているのが、本コース最大の特徴といえます。そして、原理を理解した上で、MCMCの高速なライブラリであるStanをPythonから使用するPyStanというライブラリを用います。PyStanのパートでは環境構築から始まって、単回帰、重回帰などの基本的な統計モデル、階層ベイズや状態空間モデルといった発展的な内容を含みます。本コースは比較的網羅的・本格的な内容になっており、理論部分や補講の物理のパートなどを修了するとベイズ統計の専門書を1冊読んだレベルに相当します。従って、その後の書籍(ボーナスレクチャーで紹介する書籍など)への理解がかなりスムーズに進むと思います。
【コースの活用の仕方】
このコースはいくつかの使い方ができると思います
1. ベイズ統計学の基礎的な流れを身に付ける(難しい数式はどんどん飛ばし、流れの理解に徹する)
2. 数式の難しい理論は置いておいて、Pythonのコードで実装するところだけつまむ
3. PyStanの使い方をメインにHow toを学ぶ
4. 付録も含め全ての講義を視聴し、理論までしっかりベイズ統計学を学ぶ*
(*大学レベルの数学が必要です)
【大まかな流れ】*詳しくは本コースの概要をご覧ください。
Ⅰ.確率
1. 確率とは/確率の基礎
2. 平均値・分散の性質・計算
Ⅱ.ベイズ統計学
1. ベイズの定理、ベイズの考え方
2. ベイズ更新
3. 様々な確率分布
4. 自然共役事前分布
5. MAP推定
Ⅲ.モンテカルロ法/MCMC
1.モンテカルロ法とは
2.棄却法
3.次元の呪い
4.MCMCとは
5.詳細つり合い
6.各MCMCのアルゴリズム(M-H法, Gibbsサンプラー,ハミルトニアンモンテカルロ法)
Ⅳ.PyStan
1.環境構築の構築
2.PyStanでのコードの書き方・ハローワールド
3.基本的な統計モデル(単回帰、重回帰、ロジスティック回帰)
4.発展的な統計モデル(階層ベイズ、状態空間モデル)
What You Will Learn!
- 統計学や確率の基礎的な知識の獲得から出発して、ベイズ統計が従来の統計学に比べて、どういう風に枠組みが異なるのかが理解できる
- ベイズ統計の基礎⇒モンテカルロ法の基礎⇒PyStanでの実際の問題への適用という一連の流れを体系的かつシームレスに理解できる
- ”概念を理解する”⇒”理解したことをPythonで実装する”という流れを何度も行う事で、実践的なプログラミング能力と”アイデアをコードに具現化するにはどうする?”の発想が身に付く
- PyStanの為の環境の構築ができる。またPyStanを用いた基礎的なベイズ統計モデリングの流れを理解できる
Who Should Attend!
- ベイズ統計学を体系的に学習されたい方
- ベイズ統計に興味があるが、専門書を読んでも数式の意味がよく分からず挫折した方
- ベイズ統計の仕組み・原理を理解した上で、ベイズ統計を使いたい方
- 入門書を読んで、イメージや概念は理解しているが、そこから先(どうやって具体的に計算するのか)が分からない方
- Pythonで実際にどのようにベイズ統計が実装できるのかを知りたい方
- ベイズ統計を学んでいると突然、MCMCという言葉が出てきて困惑している方