
コースに関する案内と注意点
本コースの概要と NumPyro / JAX / ArviZ の紹介
実行環境(Google Colaboratory)の確認
ここまでのまとめ
統計モデリングの基本的な流れ
技術トピック:ベイズ推定
MCMC の概要
NumPyro による統計モデリングの基本的な流れ
技術トピック: 収束チェック
Google Colaboratory での実践:ポアソン分布へのあてはめ
事後予測チェック
Google Colaboratory での実践:事後予測チェック
ここまでのまとめ
ゼロ過剰ポアソン分布の概要
Google Colaboratory での実践:分布へのあてはめ
広く使える情報量基準(WAIC)の概要
Google Colaboratory での実践:WAIC によるモデルの比較
ここまでのまとめ
線形回帰の概要
Google Colaboratory での実践:線形回帰
Google Colaboratory での実践:モデルの比較
ここまでのまとめ
ロジスティック回帰の概要
技術トピック:ロジスティック関数 / 事前予測チェック
Google Colaboratory での実践:ロジスティック回帰
ここまでのまとめ
ポアソン回帰の概要
Google Colaboratory での実践:ポアソン回帰
ここまでのまとめ
一般化線形混合モデルの概要
技術トピック:ランダム効果
Google Colaboratory での実践:一般化線形混合モデル
ここまでのまとめ
一般化線形混合モデルによる予測
Google Colaboratory での実践:一般化線形混合モデルによる予測
ベイズ決定の概要
Google Colaboratory での実践:ベイズ決定
ここまでのまとめ
メトロポリス・ヘイスティング法の概要
ハイブリッド・モンテカルロ法の概要
NUTS の概要
参考文献の紹介
Python のパッケージである NumPyro を使って統計モデリングと確率プログラミングの基礎を学びます。最初は、分布へのあてはめといった簡単な例題からスタートして、段階的に一般化線形モデル(GLM)や一般化線形混合モデル(GLMM)といったモデルの概要を理解できるようになることを目指します。
NumPyro は、JAX と呼ばれる高速なバックエンドを持っていることが特徴の確率プログラミングのパッケージであり、モデルのパラメータ推定などを高速に行えるのが、大きな特徴のひとつになっています。また、NumPyro は Python のパッケージであることから、Python の経験者にとっては、比較的少ない学習コストで統計モデリングや確率プログラミングという新しい世界を覗いてみることができることも大きなメリットのひとつとなっています。
NumPyro の最新バージョンは現在のところ 0.6.0 ですが(2021年6月現在)、動作は安定しており、普通に利用するには大きな問題はないものと考えていますが、パッケージがまだまだ発展途上であることには注意が必要です。業務等での利用の際には十分にご注意下さい。
また、NumPyro に関しては、和書などの日本語の情報が少ないため、わからないことが出てきた場合には、ある程度英語で情報を読み解く力が必要になります。その点にもご注意下さい。
なお、本講座で使用している NumPyro のバージョンは 0.6.0 です。
【注意点】
本講座ではできるだけ理論的な側面と実装的な側面の両方の説明をするようにしていますが、理論的な側面を十分に理解するには確率分布等に関する予備知識が必要となります。必要な予備知識に関しては、動画の始めの方でご紹介していますので、予めご確認下さい。また、本講座公開後のレビュー等から推察されるレベル感としては、何らかのベイズ統計モデリングに関する書籍を少し読まれたくらいの方が復習として利用されるのが最もフィットするような印象を持っています。「完全にゼロからのスタートだと少し難しいかもしれない」といった趣旨のご意見を頂いています。
また、本講座の中で紹介している例題は、既に公開済みの講座である「PyMC3 で学ぶ統計モデリングの基礎」とほぼ同じ例題ですが、利用している確率プログラミングのパッケージが異なります。なお、講座「PyMC3 で学ぶ統計モデリングの基礎」は、前半に「予測における確率分布の重要性」などの解説を含んでいます。
また、こちらで配布しているコードは Google Colaboratory 専用のコードになっているため、比較的簡単な操作でコードを動かしてみることができるようになっています。