APT-MCMC, a C++/Python implementation of Markov Chain Monte Carlo for parameter identification.

Saved in:
Bibliographic Details
Title: APT-MCMC, a C++/Python implementation of Markov Chain Monte Carlo for parameter identification.
Authors: Zhang, Li Ang1, Urbano, Alisa2, Clermont, Gilles1,3,4, Swigon, David5, Banerjee, Ipsita1,4,6, Parker, Robert S.1,3,4,6 rparker@pitt.edu
Source: Computers & Chemical Engineering. Feb2018, Vol. 110, p1-12. 12p.
Subjects: Ordinary differential equations, Markov chain Monte Carlo, Computer simulation, C++, Python programming language, Parameter identification
Abstract: The inverse problem associated with fitting parameters of an ordinary differential equation (ODE) system to data is nonlinear and multimodal, which is of great challenge to gradient-based optimizers. Markov Chain Monte Carlo (MCMC) techniques provide an alternative approach to solving these problems and can escape local minima by design. APT-MCMC was created to allow users to setup ODE simulations in Python and run as compiled C++ code. It combines affine-invariant ensemble of samplers and parallel tempering MCMC techniques to improve the simulation efficiency. Simulations use Bayesian inference to provide probability distributions of parameters, which enable analysis of multiple minima and parameter correlation. Benchmark tests result in a 20×–60× speedup but 14% increase in memory usage against emcee , a similar MCMC package in Python. Several MCMC hyperparameters were analyzed: number of temperatures, ensemble size, step size, and swap attempt frequency. Heuristic tuning guidelines are provided for setting these hyperparameters. [ABSTRACT FROM AUTHOR]
Copyright of Computers & Chemical Engineering is the property of Pergamon Press - An Imprint of Elsevier Science and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
Description
Abstract:The inverse problem associated with fitting parameters of an ordinary differential equation (ODE) system to data is nonlinear and multimodal, which is of great challenge to gradient-based optimizers. Markov Chain Monte Carlo (MCMC) techniques provide an alternative approach to solving these problems and can escape local minima by design. APT-MCMC was created to allow users to setup ODE simulations in Python and run as compiled C++ code. It combines affine-invariant ensemble of samplers and parallel tempering MCMC techniques to improve the simulation efficiency. Simulations use Bayesian inference to provide probability distributions of parameters, which enable analysis of multiple minima and parameter correlation. Benchmark tests result in a 20×–60× speedup but 14% increase in memory usage against emcee , a similar MCMC package in Python. Several MCMC hyperparameters were analyzed: number of temperatures, ensemble size, step size, and swap attempt frequency. Heuristic tuning guidelines are provided for setting these hyperparameters. [ABSTRACT FROM AUTHOR]
ISSN:00981354
DOI:10.1016/j.compchemeng.2017.11.011