Probabilistic programming in Python']Python using PyMC3

被引:1833
作者
Salvatier, John [1 ]
Wiecki, Thomas, V [2 ]
Fonnesbeck, Christopher [3 ]
机构
[1] AI Impacts, Berkeley, CA USA
[2] Quantopian Inc, Boston, MA 02110 USA
[3] Vanderbilt Univ, Dept Biostat, 221 Kirkland Hall, Nashville, TN 37235 USA
关键词
Bayesian statistic; Probabilistic Programming; !text type='Python']Python[!/text; Markov chain Monte Carlo; Statistical modeling;
D O I
10.7717/peerj-cs.55
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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.
引用
收藏
页数:24
相关论文
共 19 条
[1]  
[Anonymous], 2015, STAN C LIB PROB SAMP
[2]  
Bastien F., 2012, ARXIV12115590
[3]  
Bergstra J., 2010, P PYTH SCI COMP C SC, V4
[4]   HYBRID MONTE-CARLO [J].
DUANE, S ;
KENNEDY, AD ;
PENDLETON, BJ ;
ROWETH, D .
PHYSICS LETTERS B, 1987, 195 (02) :216-222
[5]  
Goodman N., 2012, ARXIV12063255
[6]  
Goodman ND, 2014, DESIGN IMPLEMENTATIO
[7]  
Hoffman MD, 2014, J MACH LEARN RES, V15, P1593
[8]   INTERVALS BETWEEN COAL-MINING DISASTERS [J].
JARRETT, RG .
BIOMETRIKA, 1979, 66 (01) :191-193
[9]  
Kucukelbir A, 2015, ADV NEUR IN, V28
[10]  
Kulkarni T, 2015, PICTURE IMPERATIVE P