广义SEIR流行病模型(拟合与计算)
描述
数值实现了具有七种状态的广义SEIR模型[2]。除了依赖于函数“lsqcurvfit”的拟合外,该实现是从头开始的。因此,目前的实现可能不同于参考文献[2]中使用的实现。
这个Matlab实现还包括一些与ref.[2]的主要区别。其中,死亡率和恢复率的表达是时间的分析和经验函数。这种时间依赖性背后的想法是,随着时间的增加,死亡率和恢复率应该趋近于一个常量。如果死亡率保持不变,死亡人数可能会被高估。出生和自然死亡并不是这里的模型。这意味着总人口,包括死亡病例数,保持不变。请注意,ref.[2]是未经同行评审的预印本,我没有足够的资格来判断论文的质量。
内容
本文件包括:
一个SEIQRDP函数。M,用于模拟感染、康复和死亡病例的时间历史(以及其他)
一个fit_SEIQRDP函数。m估计SEIQRDP中使用的10个参数。M在最小二乘意义上。
一个示例文件Documentation。Mlx,给出了数值实现。
一个示例文件Example_province_region。mlx使用了约翰·霍普金斯大学为中国湖北省COVID-19流行病收集的数据。
一个示例文件Example_Country。mlx,它使用了约翰·霍普金斯大学收集的一个国家COVID-19流行[3]的数据。
一个文件“ItalianRegions。作者:Matteo Secli (https://github.com/matteosecli)我对其进行了修改,以使其更加牢固。
一个示例文件chineseprovices.mlx,说明了如何在for循环中使用fit_SEIQRDP.m函数来拟合来自中国不同省份的数据[3]。
“uncertaintiesIssues一个例子。,说明了拟合有限数据集的危险。
一个示例“example_US_cities.mlx”说明了“恢复”数据不可用时的拟合。
一个例子是模拟多重波,mlx,它说明了多个流行波的拟合。
一个函数getDataCOVID,它从[3]读取由约翰霍普金斯大学收集的数据。
Matteo Secli编写的一个函数getDataCOVID_ITA(https://github.com/matteosecli),从意大利政府[4]收集意大利COVID-19大流行的最新数据
一个函数getDataCOVID_US从[3]收集美国的更新数据
一个函数checkRates.m,用于绘制拟合和计算的死亡率和恢复率(质量检查)
一个函数getMultipleWaves。m,模拟SEIRQDP模型并将其适合于检测到多个流行波的情况。
欢迎提出任何问题、意见或建议。
参考文献
[1]https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology#Bio-SIR模型的数学确定性处理
L。[2]Peng,杨,W。,,D,诸葛,C,和香港,L(2020)。基于动态模型的COVID-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模型与实际数据的拟合提供了以下结果: