pymc-devs/pymc

Bayesian Modeling and Probabilistic Programming in Python

解决的问题

PyMC 提供了一个贝叶斯统计建模的框架,允许用户定义概率模型并估计其参数。它解决了在无需用户具备复杂拟合算法的深入专业知识的情况下,执行复杂后验估计和缺失值插补的挑战。

工作原理

PyMC 使用直观的语法来指定模型(例如 x ~ N(0,1))。它利用 PyTensor 进行计算优化和动态编译为 C 或 JAX。为了估计参数,它采用先进的采样算法,如用于马尔可夫链蒙特卡洛(MCMC)的无U形采样器(NUTS)以及用于快速近似估计的自动微分变分推断(ADVI),包括对大规模数据集的迷你批次支持。

适用人群

专为需要构建灵活贝叶斯模型的研究人员、数据科学家和统计学家设计,适用于从简单线性回归到复杂科学建模等各种问题。

主要亮点

  • 强大的采样能力:包含无U形采样器(NUTS),可处理具有数千个参数的模型。
  • 变分推断:提供 ADVI 以实现快速近似后验估计。
  • 优化的后端:基于 PyTensor,支持 NumPy 广播、线性代数运算符和 JAX 编译。
  • 灵活的语法:具备直观的模型定义语言。
  • 缺失数据支持:提供对缺失值插补的透明支持。

相关

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