ABCpy: A User-Friendly, Extensible, and Parallel Library for Approximate Bayesian Computation

ABCpy is a highly modular, scientific library for Approximate Bayesian Computation (ABC) written in Python. The main contribution of this paper is to document a software engineering effort that enables domain scientists to easily apply ABC to their research without being ABC experts; using ABCpy they can easily run large parallel simulations without much knowledge about parallelization, even without much additional effort to parallelize their code. Further, ABCpy enables ABC experts to easily develop new inference schemes and evaluate them in a standardized environment, and to extend the library with new algorithms. These benefits come mainly from the modularity of ABCpy. We give an overview of the design of ABCpy, and we provide a performance evaluation concentrating on parallelization.

[1]  Guillermo Rus-Carlborg,et al.  Approximate Bayesian Computation by Subset Simulation , 2014, SIAM J. Sci. Comput..

[2]  O. Cappé,et al.  Population Monte Carlo , 2004 .

[3]  Costas Papadimitriou,et al.  Π4U: A high performance computing framework for Bayesian uncertainty quantification of complex models , 2015, J. Comput. Phys..

[4]  Elise Jennings,et al.  astroABC : An Approximate Bayesian Computation Sequential Monte Carlo sampler for cosmological parameter estimation , 2016, Astron. Comput..

[5]  E. Lorenz Predictability of Weather and Climate: Predictability – a problem partly solved , 2006 .

[6]  C C Drovandi,et al.  Estimation of Parameters for Macroparasite Population Evolution Using Approximate Bayesian Computation , 2011, Biometrics.

[7]  Guillaume Deffuant,et al.  Adaptive approximate Bayesian computation for complex models , 2011, Computational Statistics.

[8]  Andreas Huth,et al.  Statistical inference for stochastic simulation models--theory and application. , 2011, Ecology letters.

[9]  D. Balding,et al.  Approximate Bayesian computation in population genetics. , 2002, Genetics.

[10]  T. Monz,et al.  Real-time dynamics of lattice gauge theories with a few-qubit quantum computer , 2016, Nature.

[11]  M. Beaumont Approximate Bayesian Computation in Evolution and Ecology , 2010 .

[12]  Jean-Marie Cornuet,et al.  ABC model choice via random forests , 2014, 1406.6288.

[13]  Arnaud Doucet,et al.  An adaptive sequential Monte Carlo method for approximate Bayesian computation , 2011, Statistics and Computing.

[14]  W. Ricker Stock and Recruitment , 1954 .

[15]  Christian P. Robert,et al.  Monte Carlo Statistical Methods , 2005, Springer Texts in Statistics.

[16]  S. Wood Statistical inference for noisy nonlinear ecological dynamic systems , 2010, Nature.

[17]  Thomas E. Currie,et al.  War, space, and the evolution of Old World complex societies , 2013, Proceedings of the National Academy of Sciences.

[18]  D. Wilks Effects of stochastic parametrizations in the Lorenz '96 system , 2005 .

[19]  M. Gutmann,et al.  Likelihood-free inference by penalised logistic regression , 2016 .

[20]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[21]  Erika Cule,et al.  ABC-SysBio—approximate Bayesian computation in Python with GPU support , 2010, Bioinform..

[22]  C. Andrieu,et al.  The pseudo-marginal approach for efficient Monte Carlo computations , 2009, 0903.5480.

[23]  S. White,et al.  The EAGLE project: Simulating the evolution and assembly of galaxies and their environments , 2014, 1407.7040.

[24]  M. Feldman,et al.  Population growth of human Y chromosomes: a study of Y chromosome microsatellites. , 1999, Molecular biology and evolution.

[25]  M. Gutmann,et al.  Fundamentals and Recent Developments in Approximate Bayesian Computation , 2016, Systematic biology.

[26]  Ritabrata Dutta,et al.  Likelihood-free inference via classification , 2014, Stat. Comput..

[27]  Costas Papadimitriou,et al.  Approximate Bayesian Computation for Granular and Molecular Dynamics Simulations , 2016, PASC.

[28]  P. Donnelly,et al.  Inferring coalescence times from DNA sequence data. , 1997, Genetics.

[29]  Hoon Kim,et al.  Monte Carlo Statistical Methods , 2000, Technometrics.

[30]  Christian P. Robert,et al.  Monte Carlo Statistical Methods (Springer Texts in Statistics) , 2005 .

[31]  Gary K. Chen,et al.  al3c: high-performance software for parameter inference using Approximate Bayesian Computation , 2015, Bioinform..

[32]  Hans R. Künsch,et al.  A simulated annealing approach to approximate Bayes computations , 2012, Statistics and Computing.

[33]  David Welch,et al.  Approximate Bayesian computation scheme for parameter inference and model selection in dynamical systems , 2009, Journal of The Royal Society Interface.

[34]  Jean-Michel Marin,et al.  Approximate Bayesian computational methods , 2011, Statistics and Computing.

[35]  Alexander Ilin,et al.  On closure parameter estimation in chaotic systems , 2012 .