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

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

APT-MCMC,马尔可夫链蒙特卡罗的 C /Python 实现,用于参数识别。

DOI:
10.1016/j.compchemeng.2017.11.011
复制
发表时间:
2018
影响因子:
4.3
通讯作者:
Parker,RobertS
Parker,RobertS
中科院分区:
工程技术2区
文献类型:
--
作者:
Zhang,LiAng;Urbano,Alisa;Clermont,Gilles;Swigon,David;Banerjee,Ipsita;Parker,RobertS

文献摘要

相似文献

常微分方程(ODE)系统的参数拟合反问题是一个非线性、多峰的问题,这对基于梯度的优化算法是一个巨大的挑战。马尔可夫链蒙特卡罗(MCMC)技术提供了一种替代方法来解决这些问题,并可以通过设计逃避局部极小值。创建APT-MCMC是为了允许用户在Python中设置ODE模拟,并作为编译的C++代码运行。它结合了仿射不变采样器集成和并行回火MCMC技术,以提高模拟效率。模拟使用贝叶斯推理来提供参数的概率分布,这使得能够分析多个最小值和参数相关性。基准测试的结果是20×-60×的加速比,但比Python中类似MCMC包的内存使用量增加了14%。分析了几个MCMC超参数:温度数,系综大小,步长和交换尝试频率。启发式调优指南提供设置这些超参数。
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 againstemcee, 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.