sbi-dev/sbi

sbi is a Python package for simulation-based inference, designed to meet the needs of both researchers and practitioners. Whether you need fine-grained control or an easy-to-use interface, sbi has you covered.

解決する課題

sbi はシミュレーションベース推論 (SBI) のために設計されており、観測された実データに基づいてシミュレーターのパラメータの完全な事後分布を推定することを可能にします。これは、実世界のプロセスをモデル化するシミュレーターがあるものの、尤度関数の計算が困難で従来のベイズ推論が難しい場合に特に有用です。

仕組み

このパッケージは、観測データをパラメータ分布にマッピングすることを学習する、ニューラルネットワークベースの推論アルゴリズム群を提供します。主に2つの手法をサポートしています。

  • Amortized Methods (攤提法):事後分布推定器を再学習なしで複数の観測値に対して再利用できます。
  • Sequential Methods (逐次法):単一の観測値に対して必要なシミュレーション回数を最適化することに焦点を当てています。

Neural Posterior Estimation (NPE)、Neural Likelihood Estimation (NLE)、Neural Ratio Estimation (NRE) といった最先端のアルゴリズムに加え、それらの逐次版 (SNPE, SNLE, SNRE) も実装されています。

対象ユーザー

シミュレーターを使用して実世界のプロセスをモデル化し、ベイズパラメータ推論や不確実性の定量化を行う必要のある研究者や実務者を対象としています。

主な特徴

  • 柔軟なインターフェース:迅速な実装のための高レベルインターフェースと、最大限の制御を可能にする低レベルインターフェースの両方を提供します。
  • 豊富なアルゴリズム:幅広い最先端の推論アルゴリズム (NPE, NLE, NRE, NVI, MNLE) を実装しています。
  • 統合ツール:推定された事後分布の精度を検証するための組み込み検証ツールや、分析用のプロットツールが含まれています。
  • PyTorchベース:PyTorch上に構築されており、必要に応じてGPUアクセラレーションを利用可能です。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト