
本コースの概要と NumPyro / JAX / ArviZ の紹介
コースに関する案内と注意点
確率プログラミングの基礎(線形回帰)
Google Colaboratory での実践:線形回帰
ロバスト線形回帰の概要
スチューデント t-分布、ガンマ分布の解説
Google Colaboratory での実践:ロバスト線形回帰
このセクションのまとめ
クラスタリングと混合ガウスモデルの概要
Google Colaboratory での実践:クラスタリング
混合線形回帰モデルの概要
Google Colaboratory での実践:混合線形回帰モデル
このセクションのまとめ
変化点検出(炭鉱災害のデータ)
Google Colaboratory での実践:変化点検出
このセクションのまとめ
レイティング(スポーツの勝敗のデータ)
Google Colaboratory での実践:レイティング
このセクションのまとめ
微分方程式のパラメータ推定(鉛直投げ上げ運動)
Google Colaboratory での実践:微分方程式のパラメータ推定
微分方程式のパラメータ推定(ロトカ・ボルテラ モデル)
乗法的誤差と対数正規分布の解説
Google Colaboratory での実践:微分方程式のパラメータ推定
このセクションのまとめ
トレンドモデルの概要
Google Colaboratory での実践:トレンドモデル
非ガウス型トレンドモデルによる変化点検出
Google Colaboratory での実践
確率的ボラティリティモデルの一例
Google Colaboratory での実践
このセクションのまとめ
jax.lax.scan 関数の解説
トレンドモデルによる未来予測
Google Colaboratory での実践
構造時系列モデルによる未来予測
季節変動成分(周波数領域)の解説
Google Colaboratory での実践
このセクションのまとめ
補足説明:時系列モデルにおけるメカニズムとランダム性
参考文献の紹介
本コースは、主にベイズ統計の基本的な考え方を理解している皆様に向けて、ベイズ統計モデリングのさまざまな応用例を紹介するコースとなっています。最初は、線形回帰やロバスト線形回帰などの基本的な例題からスタートして、徐々に変化点検出やレイティング、微分方程式のパラメータ推定などのさまざまな応用例を見ていきます。本コースでは、こうしたさまざまな応用例を Google Colaboratory 上で動かしてゆき、たくさんのスライドとサンプルコードの両方で、統計モデリングの知識を深めてゆきます。
また、こうした例題には NumPyro と呼ばれる確率プログラミングのパッケージを利用します。NumPyro は、JAX と呼ばれる高速なバックエンドを持っていることが特徴の確率プログラミングのパッケージであり、モデルのパラメータ推定などを高速に行えるのが、大きな特徴のひとつになっています。また、NumPyro は Python のパッケージであることから、Python の経験者にとっては、比較的少ない学習コストで統計モデリングや確率プログラミングという新しい世界を覗いてみることができることも大きなメリットのひとつとなっています。
NumPyro の最新バージョンは現在のところ 0.7.2 ですが(2021年9月現在)、動作は安定しており、普通に利用するには大きな問題はないものと考えています。ただ、パッケージがまだまだ発展途上であることには注意が必要です。業務等での利用の際には十分にご注意下さい。また、NumPyro に関しては、和書などの日本語の情報が少ないため、わからないことが出てきた場合には、ある程度英語で情報を読み解く力が必要になります。その点にもご注意下さい。
なお、本コースで使用している NumPyro のバージョンは 0.7.2 です。
【注意点】
本コースは、基本的には既に公開されている「NumPyro で学ぶベイズ統計モデリング【基礎編】」の続編にあたる講座となりますが、基礎編の全ての内容を前提としている訳ではありません。「MCMC 」や「事前分布・事後分布」といったベイズ統計の基本的な用語に関する知識があれば、概ねコースの内容を理解できるものと想定しています。
また、コースの前半では、線形回帰の例題を使った NumPyro の入門的な内容も紹介していますので、Stan や PyMC3 等に少しでも触れたことのある方であれば、あまり苦労せずに中身を理解して頂くことができるのではないかと考えています。
なお、本コースでは一部においてパッケージの実験的な機能を使っている部分がありますので、インターフェース等には将来的に変更がある可能性のある部分があります。予めご了承下さい。また、確率プログラミングの技術を広く拡散させるため、本コースで紹介しているコードをブログ等の記事で紹介する可能性が御座います。その点につきましても予めご了承頂けますと幸いです。