【講座紹介】【PythonとStanで学ぶ】仕組みが分かるベイズ統計学入門

Udemy関連記事

2018/08/24

Udemy関連記事

講師紹介

Tetsuya T

企業の研究/開発者。実験と数値シミュレーションの両方を行っており、実験家と理論家の橋渡しを行う。業務では主にデバイス開発を行っている。数値シミュレーションでは量子化学計算、有限要素法(CFD,電磁場解析)、モンテカルロ法の他、画像処理など分野を超えた様々な領域に従事。大阪大学大学院理学研究科修了。

学生時代はForntran95をメインに使用しており、OpenMPとMPIの並列化を併用したスパコンでの大規模数値計算を行っていた。

使用するプログラミング言語(頻度順):Python(メイン)、Fortran、Perl、Swift、Octave、C++、 C言語、Java

講座内容

『ベイズ統計学、最近よく聞くけど、何だか難しそう。。』と思っていませんか?実際、ベイズ統計学は真面目にやろうとするとそんなに簡単ではありません。

例えば、独学しようとベイズ統計学の教科書を紐解くと、統計学の知識を始めとして、高度な数学、MCMC、実際のコーディングなど幅広い知識を要求され、挫折する人も多いと思います。しかし、本コースはそのような様々な壁を乗り越えて、しっかりとしたベイズ統計学の基礎を身に付けたいという方を対象に確率の基礎から出発し、ベイズ統計学の基礎、MCMCの基礎、そしてPyStanの使い方など実用的なレベルまで段階的にレベルアップできる体系的また本格的なベイズ統計学の入門コースです。

【まず始めに】
本コースは原理からきっちりと理解する事を目指しているので、少なからず数式が出てきます。</strong(あまり式変形も省略しておりません)ベイズ統計学は一貫性と柔軟性、また解釈が容易という様々なメリットを備えた統計学ですが、逆にしっかりとした数学の土台と幅広い知識(確率・統計学、モンテカルロ法、高度な数学)が必要である事がデメリットです。

もちろん、数式を使わなくてもフワッとした説明で概念は理解できますが、それでは実際のシーンでまず使えるようにはなりません。この為、数式が多いと嫌という方は受講が難しいかもしれません*。(これは学問の性質上そうなので避けられません)*もちろん、私も受ける側の立場に立つと数式ばかり出るコースは嫌になるので、数式と合わせてグラフィカルなイメージを使って、数式の意味を解説します。

本コースの活用の仕方にあるように、数式の難しそうな理論は置いておいて、”取り合えず、Pythonの実装の部分だけ”を受講するという受講の仕方もあると思います。またこのコースでは実装にPythonというプログラミング言語を用いますが、Pythonの文法自体の解説はほぼなく、受講者はこの部分は予め習熟しておく必要があります。

今まで、Pythonをやったことないがベイズ統計学を学びたい方ももちろんいらっしゃると思いますので、そういった方向けにPythonの文法については補講を設けております。ただ、Pythonを使った事のある方と比べれば自助努力が必要になることはご理解ください。

また前提が多くて申し訳ありませんが、一般的な統計学の知識(平均値、標準偏差、期待値・分散や一部で最尤推定、共分散、相関係数など)についても基本は身に付いている前提で話が進みます。(これらの意味から話を始めると講義のボリュームが大変な量になり、受講生が肝心のベイズ統計を学ぶころには疲れてしまう可能性が高いからです。ただ、一応、確率の基礎1,2という講義で簡単に復習を行います)

【コースの概要】
本コースは確率の基礎から出発し、ベイズ統計学の基礎を学びます。またベイズ統計学で必要になってくるモンテカルロ法やMCMCなどのアルゴリズムについても解説を行います。これらベイズ統計学の基礎や各アルゴリズムは概念の理解の後にPython上でアイデアを具現化する実装のパートが付いているのが、本コース最大の特徴といえます。

そして、原理を理解した上で、MCMCの高速なライブラリであるStanをPythonから使用するPyStanというライブラリを用います。PyStanのパートでは環境構築から始まって、単回帰、重回帰などの基本的な統計モデル、階層ベイズや状態空間モデルといった発展的な内容を含みます。本コースは比較的網羅的・本格的な内容になっており、理論部分や補講の物理のパートなどを修了するとベイズ統計の専門書を1冊読んだレベルに相当します。従って、その後の書籍(ボーナスレクチャーで紹介する書籍など)への理解がかなりスムーズに進むと思います。

【コースの活用の仕方】
このコースはいくつかの使い方ができると思います
1. ベイズ統計学の基礎的な流れを身に付ける(難しい数式はどんどん飛ばし、流れの理解に徹する)
2. 数式の難しい理論は置いておいて、Pythonのコードで実装するところだけつまむ
3. PyStanの使い方をメインにHow toを学ぶ
4. 付録も含め全ての講義を視聴し、理論までしっかりベイズ統計学を学ぶ*(*大学レベルの数学が必要です)

【大まかな流れ】*詳しくは本コースの概要をご覧ください。
Ⅰ.確率. 確率とは/確率の基礎
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.発展的な統計モデル(階層ベイズ、状態空間モデル)

  • シェア
  • ツイート
  • Poket
  • はてなブックマーク
  • フォロー
  • シェア
  • ツイート
  • Poket
  • はてなブックマーク
  • フォロー

関連記事