广义SEIR流行病模型(拟合与计算)
描述
数值实现了具有七种状态的广义SEIR模型[2]。除了依赖于函数“lsqcurvfit”的拟合外,该实现是从头开始的。因此,目前的实现可能不同于参考文献[2]中使用的实现。
该Matlab实现还包括与参考文献[2]的一些主要差异其中包括死亡率和恢复率的表达式,它们是时间的分析和经验函数。这种时间依赖性背后的思想是,随着时间的增加,死亡率和恢复率应该收敛到一个恒定值。如果死亡率保持不变,死亡人数可能会被高估。出生率d此处未对自然死亡进行建模。这意味着总人口(包括死亡病例数量)保持不变。请注意,参考文献[2]是未经同行审查的预印本,我没有资格判断论文的质量。
内容
本文件包括:
用于模拟感染性、恢复性和死亡病例(以及其他病例)的时间历程的函数SEIQRDP.m
一个函数fit_SEIQRDP.m,它以最小二乘法估计SEIQRDP.m中使用的十个参数。
一个示例文件Documentation.mlx,介绍了数值实现。
一个示例文件example_province_region.mlx,它使用约翰·霍普金斯大学收集的湖北省(中国)新冠病毒-19流行的数据[3]。
一个示例文件example_Country.mlx,它使用约翰·霍普金斯大学收集的新冠病毒-19流行的数据[3]作为证据。
Matteo Secli编写的一个文件“ItalianaRegions.mlx”(https://github.com/matteosecli)我对其进行了修改,以使其更加牢固。
一个示例文件chineseprovices.mlx,说明了如何在for循环中使用fit_SEIQRDP.m函数来拟合来自中国不同省份的数据[3]。
其中一个例子是“uncertiesIssues.mlx”,它说明了拟合有限数据集的危险。
一个示例“example_US_cities.mlx”说明了“恢复”数据不可用时的拟合。
一个例子是模拟多重波,mlx,它说明了多个流行波的拟合。
一个函数是getDataCOVID,它从[3]约翰·霍普金斯大学收集的数据中读取数据。
Matteo Secli编写的一个函数getDataCOVID_ITA(https://github.com/matteosecli),从意大利政府收集意大利新冠病毒-19大流行的最新数据[4]
一个函数getDataCOVID_US从[3]收集美国的更新数据
一个函数checkRates.m,用于绘制拟合和计算的死亡率和恢复率(质量检查)
一个函数getMultipleWaves。m,模拟SEIRQDP模型并将其适合于检测到多个流行波的情况。
欢迎提出任何问题、意见或建议。
参考文献
[1]https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology#Bio-SIR模型的数学确定性处理
[2] 彭磊,杨伟伟,张德德,诸葛,C.,洪磊(2020)。中国新冠病毒-19的动态模型流行分析。arXiv预印本arXiv:2002.06563。
[3]https://github.com/CSSEGISandData/COVID-19
[4]https://github.com/pcm-dpc/COVID-19
例1(意大利的新冠病毒-19病例)
扩展SEIR模型与实际数据的拟合提供了以下结果:
例2(湖北的新冠病毒-19病例)
扩展SEIR模型与实际数据的拟合提供了以下结果:
示例3(多个波的情况)
扩展SEIR模型与实际数据的拟合提供了以下结果: