[论文解读] Inference, prediction and optimization of non-pharmaceutical interventions using compartment models: the PyRoss library
PyRoss 是一个开源的 Python 库,整合了非药物干预(NPIs)在年龄和接触结构化的分 compartment 模型中的贝叶斯推断、预测和优化。它支持随机和确定性模拟,允许在运行过程中在不同模型间切换,并通过数据驱动的参数估计和模型证据比较,实现对 NPI 的完整贝叶斯预测与优化。
PyRoss is an open-source Python library that offers an integrated platform for inference, prediction and optimisation of NPIs in age- and contact-structured epidemiological compartment models. This report outlines the rationale and functionality of the PyRoss library, with various illustrations and examples focusing on well-mixed, age-structured populations. The PyRoss library supports arbitrary structured models formulated stochastically (as master equations) or deterministically (as ODEs) and allows mid-run transitioning from one to the other. By supporting additional compartmental subdivision ad libitum, PyRoss can emulate time-since-infection models and allows medical stages such as hospitalization or quarantine to be modelled and forecast. The PyRoss library enables fitting to epidemiological data, as available, using Bayesian parameter inference, so that competing models can be weighed by their evidence. PyRoss allows fully Bayesian forecasts of the impact of idealized NPIs by convolving uncertainties arising from epidemiological data, model choice, parameters, and intrinsic stochasticity. Algorithms to optimize time-dependent NPI scenarios against user-defined cost functions are included. PyRoss's current age-structured compartment framework for well-mixed populations will in future reports be extended to include compartments structured by location, occupation, use of travel networks and other attributes relevant to assessing disease spread and the impact of NPIs. We argue that such compartment models, by allowing social data of arbitrary granularity to be combined with Bayesian parameter estimation for poorly-known disease variables, could enable more powerful and robust prediction than other approaches to detailed epidemic modelling. We invite others to use the PyRoss library for research to address today's COVID-19 crisis, and to plan for future pandemics.
研究动机与目标
- 开发一个统一的开源平台,用于流行病分 compartment 模型中非药物干预(NPIs)的推断、预测与优化。
- 同时支持按年龄结构和接触结构划分的模型的随机(主方程)和确定性(微分方程)表述。
- 实现在运行过程中在随机与确定性模型表示之间切换,以提高计算效率和准确性。
- 提供工具用于贝叶斯参数推断、通过证据进行模型比较,以及对数据、参数和模型结构的不确定性量化。
- 通过完全贝叶斯预测,利用用户定义的成本函数对 NPI 场景(如封锁时间与持续时间)进行优化。
提出的方法
- 使用具有年龄和接触结构的马尔可夫分 compartment 模型,其中个体被划分为疾病状态(如 S、E、I、R),并按年龄和医疗状态进一步细分。
- 采用阶段法,通过引入额外的 compartment 来近似感染后时间的动态,从而实现更真实的疾病进展建模。
- 应用 $Ω$-展开和扩散极限近似,在大种群极限下连接随机与确定性动力学。
- 利用非平稳高斯-马尔可夫过程和嵌套抽样进行贝叶斯参数推断和模型证据计算。
- 实现后验预测分布以预测 NPI 的影响,同时考虑数据、参数、模型和内在随机性带来的不确定性。
- 通过成本函数最小化实现对时变 NPI 的优化,并在整个预测流程中集成不确定性传播。
实验结果
研究问题
- RQ1如何在保持计算可处理性的前提下,将分 compartment 模型扩展以包含年龄结构、接触矩阵和医疗分阶段(如住院)?
- RQ2在数据有限的流行病建模中,贝叶斯推断和模型证据在指导模型选择和防止过拟合方面能发挥多大作用?
- RQ3如何系统地将来自数据、参数、模型结构和随机性的不确定性传播到 NPI 结果的预测中?
- RQ4是否可以使用平衡公共卫生与社会经济影响的成本函数,系统性地优化 NPI(如封锁持续时间和时机)?
- RQ5如何利用已实施 NPI 的实时数据来更新先验信念,并为未来干预措施的预测提供依据?
主要发现
- PyRoss 允许在模拟过程中无缝切换分 compartment 模型的随机与确定性表述,提升了灵活性和准确性。
- 该库支持按年龄、接触结构和医疗状态(如 ICU、隔离)对 compartment 进行任意细分,从而实现对疾病进展和干预影响的详细建模。
- 结合模型证据计算的贝叶斯参数推断可实现有原则的模型比较,并在数据贫乏的情况下防止过拟合。
- 对 NPI 结果的完整贝叶斯预测综合考虑了数据、参数、模型选择和内在随机性带来的不确定性,支持稳健的情景分析。
- 使用用户定义成本函数对 NPI 进行优化,可系统性地对干预策略进行排序和选择,例如最小化感染负担或经济成本。
- 该框架支持时变接触矩阵,可实现对封锁和分阶段重启等 NPI 的建模,并结合数据驱动的参数更新。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。