What you'll learn
- ベイズ統計や統計モデリングの基礎
- 確率プログラミングの基礎
- 統計モデルの構築方法や評価方法
- 事後予測チェック / 情報量基準
- 一般化線形モデル / 一般化線形混合モデル
- マルコフ連鎖モンテカルロ法の概要
Requirements
- Python を使ったデータ解析の基礎知識(グラフが書ける程度)
- 確率・統計の基礎知識
- 期待値・事前分布・事後分布・尤度などの用語が理解できること
Description
Python のパッケージである NumPyro を使って統計モデリングと確率プログラミングの基礎を学びます。最初は、分布へのあてはめといった簡単な例題からスタートして、段階的に一般化線形モデル(GLM)や一般化線形混合モデル(GLMM)といったモデルの概要を理解できるようになることを目指します。
NumPyro は、JAX と呼ばれる高速なバックエンドを持っていることが特徴の確率プログラミングのパッケージであり、モデルのパラメータ推定などを高速に行えるのが、大きな特徴のひとつになっています。また、NumPyro は Python のパッケージであることから、Python の経験者にとっては、比較的少ない学習コストで統計モデリングや確率プログラミングという新しい世界を覗いてみることができることも大きなメリットのひとつとなっています。
NumPyro の最新バージョンは現在のところ 0.6.0 ですが(2021年6月現在)、動作は安定しており、普通に利用するには大きな問題はないものと考えていますが、パッケージがまだまだ発展途上であることには注意が必要です。業務等での利用の際には十分にご注意下さい。
また、NumPyro に関しては、和書などの日本語の情報が少ないため、わからないことが出てきた場合には、ある程度英語で情報を読み解く力が必要になります。その点にもご注意下さい。
なお、本講座で使用している NumPyro のバージョンは 0.6.0 です。
【注意点】
本講座ではできるだけ理論的な側面と実装的な側面の両方の説明をするようにしていますが、理論的な側面を十分に理解するには確率分布等に関する予備知識が必要となります。必要な予備知識に関しては、動画の始めの方でご紹介していますので、予めご確認下さい。また、本講座公開後のレビュー等から推察されるレベル感としては、何らかのベイズ統計モデリングに関する書籍を少し読まれたくらいの方が復習として利用されるのが最もフィットするような印象を持っています。「完全にゼロからのスタートだと少し難しいかもしれない」といった趣旨のご意見を頂いています。
また、本講座の中で紹介している例題は、既に公開済みの講座である「PyMC3 で学ぶ統計モデリングの基礎」とほぼ同じ例題ですが、利用している確率プログラミングのパッケージが異なります。なお、講座「PyMC3 で学ぶ統計モデリングの基礎」は、前半に「予測における確率分布の重要性」などの解説を含んでいます。
また、こちらで配布しているコードは Google Colaboratory 専用のコードになっているため、比較的簡単な操作でコードを動かしてみることができるようになっています。
Who this course is for:
- 統計モデリング・確率プログラミングに興味がある人
- GLM や GLMM について知りたい人
- ベイズ統計に興味がある人
Instructor
フリーランスのデータサイエンティスト・アルゴリズム開発者
東京工業大学 修士課程(数学科)修了。大学では位相幾何学・微分幾何学を専攻し、ゲージ理論を位相幾何学に応用したドナルドソン理論を学ぶ。
シンクタンクおよびベンチャー企業にて、無線通信分野の研究支援業務に従事し、企業の研究者と共同で第4世代携帯のためのアルゴリズムを研究・開発。通信分野における複数の特許の共同発明者。
2011年より、MathWorks にて統計解析・機械学習を中心に、プリセールスおよびコンサルンティング業務に従事。多数のイベント・講習会等において技術解説を行う。
2019年より、フリーランスのデータサイエンティスト・アルゴリズム開発者として活動中。