Skip to main content

Python 中的概率编程:使用 Theano 进行贝叶斯建模和概率机器学习

项目描述

PyMC3 徽标

构建状态 覆盖范围 NumFOCUS_badge 粘合剂 Dockerhub

PyMC3 是一个用于贝叶斯统计建模和概率机器学习的 Python 包,专注于高级马尔可夫链蒙特卡罗 (MCMC) 和变分推理 (VI) 算法。它的灵活性和可扩展性使其适用于大量问题。

查看入门指南,或 使用 Binder与实时示例进行交互!有关 PyMC3 的问题,请访问我们的PyMC Discourse论坛。

PyMC3 和 Theano 的未来

自从 Theano 停止由原作者开发以来,围绕 PyMC3 的未来存在许多问题和不确定性,我们开始使用基于张量流概率的 PyMC 版本进行实验。

从那时起,许多事情发生了变化,我们很高兴地宣布 PyMC3 将继续依赖 Theano,或者更确切地说,它的继任者 Theano-PyMC ( pymc3 <4)和 Aesara ( pymc3 >=4 )。查看< https://github.com/aesara-devs/aesara >`__),特别是PyMC3`主分支的最新进展< https://github.com/pymc-devs/pymc3/ >`。

特征

  • 直观的模型规范语法,例如,x ~ N(0,1) 转换为x = Normal('x',0,1)

  • 强大的采样算法,例如No U-Turn Sampler,允许具有数千个参数的复杂模型,而几乎没有拟合算法的专业知识。

  • 变分推理:用于快速近似后验估计的ADVI 以及用于大型数据集的小批量 ADVI。

  • 依赖Theano-PyMC,它提供:
    • 计算优化和动态 C 或 JAX 编译

    • Numpy 广播和高级索引

    • 线性代数运算符

    • 简单的可扩展性

  • 对缺失值插补的透明支持

入门

如果您已经了解贝叶斯统计:

与 PyMC3 一起用一本书学习贝叶斯统计:

PyMC3 会谈

还有一些关于 PyMC3 的谈话,这些谈话收集在这个YouTube 播放列表 中,并且作为PyMCon 2020的一部分

安装

要在您的系统上安装 PyMC3,请按照相应安装指南中的说明进行操作:

引用 PyMC3

Salvatier J.、Wiecki TV、Fonnesbeck C. (2016) 使用 PyMC3 在 Python 中进行概率编程。PeerJ 计算机科学 2:e55 DOI:10.7717/peerj-cs.55

接触

我们使用discourse.pymc.io作为我们的主要沟通渠道。您还可以在Twitter @pymc_devs上关注我们以获取更新和其他公告。

要询问有关 PyMC3 建模或使用的问题,我们鼓励在“问题”类别下的 Discourse 论坛上发帖。您还可以在“开发”类别中建议功能。

要报告 PyMC3 的问题,请使用问题跟踪器

最后,如果您需要联系以获取有关该项目的非技术信息,请给我们发送电子邮件

执照

Apache 许可证,版本 2.0

使用 PyMC3 的软件

  • Exoplanet:用于对系外行星和其他天文时间序列的过境和/或径向速度观测进行建模的工具包。

  • Bambi : Python 中的 BAyesian 模型构建接口 (BAMBI)。

  • pymc3_models:基于 scikit-learn API 构建的自定义 PyMC3 模型。

  • PMProphet:Facebook Prophet 模型的 PyMC3 端口,用于时间序列建模

  • webmc3:用于探索 PyMC3 跟踪的 Web 界面

  • sampled:PyMC3 模型的装饰器。

  • NiPyMC:Python 中 fMRI 数据的贝叶斯混合效应建模。

  • beat:贝叶斯地震分析工具。

  • pymc-learn:基于 pymc3_models/scikit-learn API 构建的自定义 PyMC 模型

  • fenics-pymc3:FEniCS 的可微分接口,一个用于求解偏微分方程的库。

  • cell2location:通过集成的单细胞和空间转录组学全面绘制组织细胞结构图。

如果您的软件未在此处列出,请与我们联系。

引用 PyMC3 的论文

有关不断更新的列表,请参阅Google Scholar

贡献者

请参阅GitHub 贡献者页面。另请阅读我们的行为准则指南,以获得更好的贡献体验。

支持

PyMC3 是 NumFOCUS 旗下的一个非盈利项目。如果你想在经济上支持 PyMC3,你可以在这里捐款。

面向企业的 PyMC

PyMC 现在作为 Tidelift 订阅的一部分提供!

Tidelift 正在与 PyMC 和其他数千个开源项目的维护者合作,为您用于构建应用程序的开源依赖项提供商业支持和维护。节省时间、降低风险并改善代码健康,同时为 PyMC 做出财务贡献——让它更加健壮、可靠,让我们面对现实吧,令人惊叹!

潮汐提升学习 潮汐提升演示

赞助商

数字焦点

宽托邦

ODSC