广义SEIR流行病模型(拟合与计算)
描述
数值实现了一个具有七状态[2]的广义SEIR模型。除了依赖于函数“lsqcurve”的拟合之外,这个实现是从头开始的。因此,目前的实现可能不同于参考[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),我已修改为一个稍微更健壮的拟合。
一个例子文件ChineseProvinces。mlx,它说明了fit_SEIQRDP函数。在for循环中使用m来拟合中国不同省份的数据[3]。
“uncertaintiesIssues一个例子。,说明了拟合有限数据集的危险。
“Example_US_cities一个例子。当“恢复的”数据不可用时,说明是否合适。
一个例子模拟multimultiwaves,mlx,说明了对多个流行波的拟合。
一个函数getDataCOVID,它从[3]读取由约翰霍普金斯大学收集的数据。
一个函数getDataCOVID_ITA由Matteo Secli编写(https://github.com/matteosecli),从意大利政府[4]收集意大利COVID-19大流行的最新数据
getDataCOVID_US函数从[3]收集美国的更新数据
一个函数checkRates。M绘制拟合和计算的死亡率和回收率(质量检查)
一个函数getMultipleWaves。m,模拟SEIRQDP模型并将其适合于检测到多个流行波的情况。
欢迎提出任何问题、意见或建议。
参考文献
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(意大利COVID-19病例)
将扩展的SEIR模型与实际数据进行拟合,得到如下结果:
例2(湖北省新冠肺炎病例)
将扩展的SEIR模型与实际数据进行拟合,得到如下结果:
例3(多波情况)
将扩展的SEIR模型与实际数据进行拟合,得到如下结果: