PyVBMC:Python 中的高效贝叶斯推断
摘要
PyVBMC 是变分贝叶斯蒙特卡洛(VBMC)算法的 Python 实现,用于黑盒计算模型的后验与模型推断(Acerbi, 2018, 2020)。VBMC 是一种近似推断方法,专为模型求值代价中等至非常高(例如一秒或更长)和/或含噪声时的高效参数估计与模型评估而设计。具体而言,VBMC 计算:- 模型参数的灵活(非高斯)近似后验分布,可从中轻松提取统计量与后验样本;- 模型证据或边际似然的近似,一种用于贝叶斯模型选择的度量。PyVBMC 可应用于任何具有至多约 10-15 个连续参数的计算或统计模型,唯一要求是用户能提供计算目标对数似然或其近似(例如通过模拟或蒙特卡洛方法获得的似然估计)的 Python 函数。当模型每次求值耗时超过约一秒时,PyVBMC 尤为有效,与传统近似推断方法相比可带来 1-2 个数量级的显著加速。在人工测试问题以及大量来自计算科学(特别是计算与认知神经科学)的真实模型上的广泛基准测试表明,VBMC 通常——且往往大幅度——优于用于样本高效贝叶斯推断的替代方法,并适用于精确与基于模拟器的模型(Acerbi, 2018, 2019, 2020)。PyVBMC 将该最先进推断算法引入 Python,并附带易于使用的 Python 风格接口以运行算法及处理与可视化其结果。
引用
@article{arxiv.2303.09519,
title = {PyVBMC: Efficient Bayesian inference in Python},
author = {Bobby Huggins and Chengkun Li and Marlon Tobaben and Mikko J. Aarnos and Luigi Acerbi},
journal= {arXiv preprint arXiv:2303.09519},
year = {2023}
}
备注
6 pages, 1 figure. Published in The Journal of Open Source Software. Documentation is available at https://acerbilab.github.io/pyvbmc and source code is available at https://github.com/acerbilab/pyvbmc