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) 设计,允许用户根据观测到的真实世界数据,估计模拟器参数的完整后验分布。当您拥有一个模拟真实过程但难以计算似然函数的模拟器时,这特别有用,因为这会使传统的贝叶斯推论变得困难。

运作方式

该软件包提供了一系列基于神经网络的推论算法,学习将观测数据映射到参数分布。它支持两大类方法:

  • 摊提方法 (Amortized Methods):允许后验估计器在多个观测值之间重复使用,无需重新训练。
  • 序列方法 (Sequential Methods):专注于优化单一观测值所需的模拟次数。

它实现了多种最先进的算法,包括神经后验估计 (NPE)、神经似然估计 (NLE) 和神经比率估计 (NRE),以及它们的序列版本 (SNPE, SNLE, SNRE)。

适用对象

它旨在为使用模拟器来建模真实过程,并需要执行贝叶斯参数推论与量化不确定性的研究人员和从业者提供服务。

特色亮点

  • 灵活的接口:提供用于快速实现的高级接口,以及用于最大化控制的低级接口。
  • 算法集合:实现了广泛的最先进推论算法 (NPE, NLE, NRE, NVI, MNLE)。
  • 集成工具:包含内置的验证工具以验证推论后验的准确性,以及用于分析的绘图工具。
  • 基于 PyTorch:建立在 PyTorch 之上,允许在适用的情况下进行 GPU 加速。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目