Probabilistic programming in Python using PyMC3

Probabilistic programming in Python using PyMC3
复制标题

DOI:
10.7717/peerj-cs.55
复制
发表时间:
2016-04-01
影响因子:
3.8
通讯作者:
Fonnesbeck, Christopher
Fonnesbeck, Christopher
中科院分区:
计算机科学4区
文献类型:
--
作者:
Salvatier, John;Wiecki, Thomas, V;Fonnesbeck, Christopher

文献摘要

被引文献

相似文献

概率编程允许对用户定义的概率模型进行自动贝叶斯推理。马尔可夫链蒙特卡罗 (MCMC) 采样的最新进展允许对日益复杂的模型进行推断。此类 MCMC(称为哈密顿蒙特卡罗)需要通常不易获得的梯度信息。 PyMC3 是一个用 Python 编写的新开源概率编程框架,它使用 Theano 通过自动微分计算梯度,并将概率程序即时编译为 C 语言以提高速度。与其他概率编程语言相反,PyMC3 允许直接在 Python 代码中指定模型。由于缺乏特定于领域的语言,因此可以实现极大的灵活性以及与模型的直接交互。本文是对该软件包的教程式介绍。
Probabilistic programming allows for automatic Bayesian inference on user-defined probabilistic models. Recent advances in Markov chain Monte Carlo (MCMC) sampling allow inference on increasingly complex models. This class of MCMC, known as Hamiltonian Monte Carlo, requires gradient information which is often not readily available. PyMC3 is a new open source probabilistic programming framework written in Python that uses Theano to compute gradients via automatic differentiation as well as compile probabilistic programs on-the-fly to C for increased speed. Contrary to other probabilistic programming languages, PyMC3 allows model specification directly in Python code. The lack of a domain specific language allows for great flexibility and direct interaction with the model. This paper is a tutorial-style introduction to this software package.