🦎PyroはPythonで書かれ、バックエンドでPyTorchによってサポートされるユニバーサルな確率プログラミング言語(PPL)です。
確率的プログラミング言語(PPL:Probabilistic Programming Languages)は、確率モデルを構築し、それらのモデルの推論を行うために使用されます。多くのPPLはベイズ統計に基づいているので、ベイズ推論を採用していることが一般的です。しかし、すべてのPPLがベイズ統計に限定されているわけではありません。
ベイズ統計学は、事前知識や観測データを組み合わせて、未知のパラメーターの確率的な推定を行う方法論です。このアプローチは、不確実性を扱う強力なフレームワークを提供しますが、PPLは他の統計的手法やアルゴリズムをサポートすることもできます。たとえば、非ベイズ的な頻度主義的アプローチや、機械学習のアルゴリズムを利用するPPLも存在します。
非ベイズ的な頻度主義的アプローチは、統計学の一分野であり、特にデータからの推定や検定に関して異なる視点を提供します。ベイズ統計と対比されることが多く、以下にその特徴や一般的な方法論をいくつか示します。
最尤推定(Maximum Likelihood Estimation, MLE): 最尤推定は、観測されたデータが得られる確率(尤度)を最大化するパラメータを見つける方法です。これは、特定の確率モデルの下でのパラメータの点推定を行う際に広く用いられます。
信頼区間(Confidence Intervals): 信頼区間は、パラメータが含まれると考えられる区間を提供します。これは、パラメータの不確実性の範囲を示すために使用され、指定された信頼水準(通常95%など)で計算されます。
仮説検定(Hypothesis Testing): 仮説検定は、統計的な仮説(例えば、平均値の差、比率の差など)を検証するプロセスです。これには、帰無仮説(何も変化がない、または差がないという仮説)と対立仮説(帰無仮説に対する仮説)の設定が含まれます。
t検定、ANOVA(分散分析): これらは特定の種類の仮説検定であり、例えばt検定は2つのグループ間の平均値の差を検証し、ANOVAは3つ以上のグループ間での平均値の差異を検討します。
回帰分析: 回帰分析では、一つまたは複数の予測変数と応答変数との関係をモデル化します。線形回帰やロジスティック回帰などがあります。
これらの方法は、パラメータやモデルに対する確率的な解釈を提供するのではなく、長期的な頻度に基づいた解釈を行います。すなわち、同じ実験を多数回繰り返した場合に観測されるパターンや性質に焦点を当てます。ベイズ統計とは異なり、これらのアプローチは事前分布の使用を必要とせず、データ自体からの推論に重点を置きます。
SVI
エルボ
重要性
再重み付けウェイク-スリープ
逐次モンテカルロ法
スタイン法
尤度フリー法
離散推論
予測ユーティリティ
MCMC
自動ガイド生成
リパラメータライザ
推論ユーティリティ
はじめに
概要
セットアップ
背景:確率的機械学習
背景:確率モデル
背景:推論、学習、評価
例 地理と国民所得
Pyroのモデル
モデルの例 最尤線形回帰
背景: pyro.sampleプリミティブ
背景: pyro.paramプリミティブ
背景: pyro.plateプリミティブ
例: 最尤回帰からベイズ回帰へ
Pyroでの推論
背景: 変分推論
背景 柔軟な近似後置としての "ガイド "プログラム
例: Pyroでのベイズ線形回帰の平均場変分近似
背景 証拠下界(ELBO)の推定と最適化
例 確率的変分推論(SVI)によるベイズ回帰
Pyroでのモデル評価
背景 事後予測チェックによるベイズモデル評価
例: Pyroにおける事後予測の不確実性
例: フルランクガイドによるベイズ回帰の再検討