PyMC

PyMC(曾叫做PyMC3

概述
PyMC曾经叫做PyMC3,不同于早先的使用Fortran扩展进行计算的PyMC2,它依靠Theano来进行自动微分、计算优化和动态C语言编译。从版本3.8开始PyMC依据来进行数据可视化和贝叶斯推断的。PyMC和是两个最流行的概率编程工具。

PyMC是开源项目,由社区开发并在财务上得到NumFocus赞助。PyMC已经在很多领域中被用于解决推断问题,包括天文学、流行病学、分子生物学、晶体学、化学、生态学和心理学。

在Theano于2017年宣布计划停止开发之后,PyMC团队曾评估采用TensorFlow Probability作为计算后端,但是在2020年接管Theano的开发。在2021年1月绝大部份的Theano代码基被重新建造,并增加了通过JAX和Numba的编译,修订后的这个计算后端以新名字Aesara发行。PyMC团队在2021年6月将PyMC3更名为PyMC。2022年11月28日,PyMC团队宣布采用从Aesara计划分叉出PyTensor。

推论引擎
PyMC实现了不基于梯度的和基于梯度的马尔可夫链蒙特卡洛(MCMC)算法用于贝叶斯推断和随机(),基于梯度的变分贝叶斯方法用于近似贝叶斯推断。

  • MCMC算法:

** No-U-Turn采样(NUTS),是的变体和PyMC3用于连续变量的缺省引擎。
** 梅特罗波利斯-黑斯廷斯算法,是PyMC3用于离散变量的缺省引擎。
** 顺序蒙特卡洛算法。

  • 变分推断算法:

** 黑箱变分推断。

参见
*是用C++编写统计推论的概率编程语言。

引用
延伸阅读

外部链接

评论 (0)

  • 还没有评论,来抢沙发吧。