SI,SIS,SIR,SEIRD模型

因为个人工作需要系统地整理SI,SIR以及SEIR模型,故对三个模型进行原理介绍以及对比。文中关于SI,SIS,SIR的所有的截图都来自西工大肖华勇老师在慕课上的分享,原视频戳 这里。SEIRD模型则来自发表在SCI上的paper,想看原文戳这里。

SI model

作为比较古早的传染病模型(不对指数模型进行介绍),SI model在假设人口总数不变(不发生迁移,出生及死亡)的情况下,将人群分为易感人群S(suspectible)和病人I(Infective),在时刻python计算沙氏指数 沙氏指数si_机器学习下,这两类人群的占比分别为python计算沙氏指数 沙氏指数si_算法_02python计算沙氏指数 沙氏指数si_机器学习_03,并假设病人每天有效接触的平均人数为python计算沙氏指数 沙氏指数si_初始化_04。当I类人群与S类人群进行接触,S被感染,转为I类人群。

So,每个病人每天可以感染的人数为python计算沙氏指数 沙氏指数si_python计算沙氏指数_05,共有python计算沙氏指数 沙氏指数si_初始化_06个病人,故每天总感染人数为python计算沙氏指数 沙氏指数si_python计算沙氏指数_07

python计算沙氏指数 沙氏指数si_人工智能_08


python计算沙氏指数 沙氏指数si_python计算沙氏指数_09


由图3可得,SI模型中新增病人数量在python计算沙氏指数 沙氏指数si_算法_10时增速最大,带入公式(6)可得python计算沙氏指数 沙氏指数si_人工智能_11

python计算沙氏指数 沙氏指数si_算法_12

该模型适用于不可治愈传染病。

SIS model

和SI模型不同,SIS模型假设病人治好后变成健康者,健康者可以再次被感染成为病人。相比与SI模型, SIS模型增加条件为:每天被治愈的病人数占病人总数的比例为一个常数python计算沙氏指数 沙氏指数si_算法_13,称python计算沙氏指数 沙氏指数si_算法_13日治愈率,病人治愈后仍可被感染。python计算沙氏指数 沙氏指数si_python计算沙氏指数_15为平均感染期。如python计算沙氏指数 沙氏指数si_机器学习_16时,该疾病的日治愈率为python计算沙氏指数 沙氏指数si_python计算沙氏指数_17,平均感染期为5天。

python计算沙氏指数 沙氏指数si_初始化_18


得其增速曲线和函数曲线分别为

python计算沙氏指数 沙氏指数si_python计算沙氏指数_19


python计算沙氏指数 沙氏指数si_初始化_20

python计算沙氏指数 沙氏指数si_算法_21代表每天传染的人数大于治愈的人数,python计算沙氏指数 沙氏指数si_人工智能_22则相反。SIS的模型曲线表明,当每天传染的人数大于治愈人数时(python计算沙氏指数 沙氏指数si_算法_21),不论初始状态下病人的人数是否大于python计算沙氏指数 沙氏指数si_算法_24,最终感染的人数都趋于定值;当python计算沙氏指数 沙氏指数si_人工智能_22时,所有人都会被治愈。显而易见,python计算沙氏指数 沙氏指数si_初始化_26在其中起关键作用。

SIR model

SIR考虑三种人群状态:S 类人群,易感人群;I 类人群,感染者;R 类人群,康复者,指的是感染者成功治愈,有免疫力的健康者。

python计算沙氏指数 沙氏指数si_人工智能_27


python计算沙氏指数 沙氏指数si_算法_28


由该图可得,SIR模型中病人最终全被治愈/移除,健康的易感者保持大于python计算沙氏指数 沙氏指数si_初始化_29的比例。该图由matlab绘制,具体参数如下:

python计算沙氏指数 沙氏指数si_初始化_30


其中病人初始占比为0.1,易感者为0.9。

在这里要说明的是,大部分论文在使用SIR模型时,传染率和治愈率是呈1.5倍的关系,即传染率比治愈率等于1.5,而治愈率由图中的拓扑结构决定,与肖老师在PPT中所展示的图有所不同。所以大部分论文在使用SIR模型时,得出的结论是图中感染者的数量最终会达到一个稳定状态(如下图所示),即趋于定值。

python计算沙氏指数 沙氏指数si_算法_31

SEIRD model

受新冠疫情的启发,相对于SIR模型,该模型多了潜伏期(E),死亡(D)。

python计算沙氏指数 沙氏指数si_机器学习_32


参数python计算沙氏指数 沙氏指数si_算法_33反映了估计的病程时间,python计算沙氏指数 沙氏指数si_python计算沙氏指数_34

参数python计算沙氏指数 沙氏指数si_初始化_26反映了该疾病的估计潜伏期, python计算沙氏指数 沙氏指数si_python计算沙氏指数_36.

参数python计算沙氏指数 沙氏指数si_机器学习_37反映了感染者与他人互动的速率。它通常被写成python计算沙氏指数 沙氏指数si_算法_38,其中python计算沙氏指数 沙氏指数si_初始化_39称为基本复制数,表示疾病的传染速度。Liu等人(2020)回顾了关于covid-19r0估计的文献,得出结论,文献中的平均和中位数估计约为3,但 在最新的文献中,有人认为5.7更合理。

参数python计算沙氏指数 沙氏指数si_算法_40为infection fatality rate(IFR)死亡率,一般情况下python计算沙氏指数 沙氏指数si_算法_40是变化的,在本文中作者认为python计算沙氏指数 沙氏指数si_算法_40为定值。

参数python计算沙氏指数 沙氏指数si_初始化_04为真实报道中感染新冠病毒的人数占比,为定值。

模型初始化阶段为python计算沙氏指数 沙氏指数si_人工智能_44