Probabilistic programming in Python using PyMC3

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 whic...

Full description

Saved in:
Bibliographic Details
Published inPeerJ. Computer science Vol. 2; p. e55
Main Authors Salvatier, John, Wiecki, Thomas V., Fonnesbeck, Christopher
Format Journal Article
LanguageEnglish
Published San Diego PeerJ, Inc 06.04.2016
PeerJ Inc
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary: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.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:2376-5992
2376-5992
DOI:10.7717/peerj-cs.55