NumPyro で学ぶ ベイズ統計モデリング 【応用編】
Google Colaboratory で実践する統計モデリング
Description
本コースは、主にベイズ統計の基本的な考え方を理解している皆様に向けて、ベイズ統計モデリングのさまざまな応用例を紹介するコースとなっています。最初は、線形回帰やロバスト線形回帰などの基本的な例題からスタートして、徐々に変化点検出やレイティング、微分方程式のパラメータ推定などのさまざまな応用例を見ていきます。本コースでは、こうしたさまざまな応用例を Google Colaboratory 上で動かしてゆき、たくさんのスライドとサンプルコードの両方で、統計モデリングの知識を深めてゆきます。
また、こうした例題には NumPyro と呼ばれる確率プログラミングのパッケージを利用します。NumPyro は、JAX と呼ばれる高速なバックエンドを持っていることが特徴の確率プログラミングのパッケージであり、モデルのパラメータ推定などを高速に行えるのが、大きな特徴のひとつになっています。また、NumPyro は Python のパッケージであることから、Python の経験者にとっては、比較的少ない学習コストで統計モデリングや確率プログラミングという新しい世界を覗いてみることができることも大きなメリットのひとつとなっています。
NumPyro の最新バージョンは現在のところ 0.7.2 ですが(2021年9月現在)、動作は安定しており、普通に利用するには大きな問題はないものと考えています。ただ、パッケージがまだまだ発展途上であることには注意が必要です。業務等での利用の際には十分にご注意下さい。また、NumPyro に関しては、和書などの日本語の情報が少ないため、わからないことが出てきた場合には、ある程度英語で情報を読み解く力が必要になります。その点にもご注意下さい。
なお、本コースで使用している NumPyro のバージョンは 0.7.2 です。
【注意点】
本コースは、基本的には既に公開されている「NumPyro で学ぶベイズ統計モデリング【基礎編】」の続編にあたる講座となりますが、基礎編の全ての内容を前提としている訳ではありません。「MCMC 」や「事前分布・事後分布」といったベイズ統計の基本的な用語に関する知識があれば、概ねコースの内容を理解できるものと想定しています。
また、コースの前半では、線形回帰の例題を使った NumPyro の入門的な内容も紹介していますので、Stan や PyMC3 等に少しでも触れたことのある方であれば、あまり苦労せずに中身を理解して頂くことができるのではないかと考えています。
なお、本コースでは一部においてパッケージの実験的な機能を使っている部分がありますので、インターフェース等には将来的に変更がある可能性のある部分があります。予めご了承下さい。また、確率プログラミングの技術を広く拡散させるため、本コースで紹介しているコードをブログ等の記事で紹介する可能性が御座います。その点につきましても予めご了承頂けますと幸いです。
What You Will Learn!
- 確率プログラミング(NumPyro)
- ベイズ統計モデリングのさまざまな応用例
- ロバスト線形回帰・クラスタリング・変化点検出・レイティング
- 微分方程式のパラメータ推定・構造時系列モデルの基礎
Who Should Attend!
- ベイズ統計モデリング・確率プログラミングに興味がある人
- ベイズ統計モデリングのさまざまな応用例に興味がある人