Chris Fonnesbeck, Vanderbilt University

Building Bayesian Models in Python with PyMC3

Computationally-intensive statistical algorithms, such as newer gradient-based MCMC methods, reveal computing tradeoffs inherent in making useful statistical software. On one hand, acceptable performance typically requires a compiled language; on the other, the flexibility to easily implement a variety of models, custom statistical distributions and algorithms are best satisfied by high-level scripting languages. We will describe how Python in general and PyMC3 in particular offer statisticians the sweet spot in this tradeoff. PyMC3 includes several newer computational methods for fitting Bayesian models, including Hamiltonian Monte Carlo (HMC) and automatic differentiation variational inference (ADVI). Python's intuitive syntax is helpful for new users, and has allowed developers to keep the PyMC3 code base simple, making it easy to extend the software to meet analytic needs. PyMC3 itself extends Python's powerful "scientific stack" of development tools, which provide automatic differentiation, fast and efficient data structures, parallel processing, and interfaces for describing statistical models.

Stay connected TwitterFacebookLinkedInYouTubeInstagram