Python 中的概率编程:使用 Aesara 进行贝叶斯建模和概率机器学习
项目描述
PyMC(以前称为 PyMC3)是一个用于贝叶斯统计建模的 Python 包,专注于高级马尔可夫链蒙特卡罗(MCMC)和变分推理(VI)算法。它的灵活性和可扩展性使其适用于大量问题。
查看PyMC 概述,或众多示例之一!有关 PyMC 的问题,请访问我们的PyMC Discourse论坛。
特征
直观的模型规范语法,例如,x ~ N(0,1) 转换为x = Normal('x',0,1)
强大的采样算法,例如No U-Turn Sampler,允许具有数千个参数的复杂模型,而几乎没有拟合算法的专业知识。
变分推理:用于快速近似后验估计的ADVI 以及用于大型数据集的小批量 ADVI。
- 依靠Aesara,它提供:
计算优化和动态 C 或 JAX 编译
NumPy 广播和高级索引
线性代数运算符
简单的可扩展性
对缺失值插补的透明支持
入门
如果您已经了解贝叶斯统计:
PyMC教程
与 PyMC 一起用一本书学习贝叶斯统计
Probabilistic Programming and Bayesian Methods for Hackers:一本很棒的书,里面有很多应用的代码示例。
PyMC 移植了 John Kruschke 所著的“做贝叶斯数据分析”一书以及第二版:贝叶斯数据分析的原理介绍。
Richard McElreath 的“Statistical Rethinking A Bayesian Course with Examples in R and Stan”一书的 PyMC 端口
Michael Lee 和 EJ Wagenmakers 所著的“贝叶斯认知建模”一书的 PyMC 端口:专注于在认知建模中使用贝叶斯统计。
Osvaldo Martin用 Python 进行贝叶斯分析(第二版):很棒的入门书。(代码和勘误表)。
音频视频
这是一个YouTube 播放列表,收集了有关 PyMC 的几个讨论。
您还可以在此处找到PyMCon 2020 上的所有演讲。
“学习贝叶斯统计”播客可帮助您发现庞大的贝叶斯社区并与时俱进。奖励:它由 PyMC 核心开发人员之一 Alex Andorra 主持!
安装
要在您的系统上安装 PyMC,请按照安装指南中的说明进行操作。
引用 PyMC
请从以下选项中选择:
使用 PyMC3 在 Python 中进行概率编程,Salvatier J.,Wiecki TV,Fonnesbeck C. (2016)
特定版本的 DOI 显示在 Zenodo 和Releases下
接触
我们使用discourse.pymc.io作为我们的主要沟通渠道。您还可以在Twitter @pymc_devs上关注我们以获取更新和其他公告。
要询问有关 PyMC 建模或使用的问题,我们鼓励在“问题”类别下的 Discourse 论坛上发帖。您还可以在“开发”类别中建议功能。
要报告 PyMC 的问题,请使用问题跟踪器。
最后,如果您需要联系以获取有关该项目的非技术信息,请给我们发送电子邮件。
执照
使用 PyMC 的软件
一般用途
Bambi : Python 中的 BAyesian 模型构建接口 (BAMBI)。
SunODE:快速 ODE 求解器,比 PyMC 附带的求解器快得多。
pymc-learn:基于 pymc3_models/scikit-learn API 构建的自定义 PyMC 模型
fenics-pymc3:FEniCS 的可微分接口,一个用于求解偏微分方程的库。
特定领域
Exoplanet:用于对系外行星和其他天文时间序列的过境和/或径向速度观测进行建模的工具包。
NiPyMC:Python 中 fMRI 数据的贝叶斯混合效应建模。
beat:贝叶斯地震分析工具。
cell2location:通过集成的单细胞和空间转录组学全面绘制组织细胞结构图。
如果您的软件未在此处列出,请与我们联系。
引用 PyMC 的论文
有关不断更新的列表,请参阅Google Scholar。
贡献者
请参阅GitHub 贡献者页面。另请阅读我们的行为准则指南,以获得更好的贡献体验。
支持
PyMC 是 NumFOCUS 旗下的一个非盈利项目。如果你想在经济上支持 PyMC,你可以在这里捐款。
专业咨询支持
您可以从PyMC Labs获得专业的咨询支持。
赞助商
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。