传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI、SIR、SIRS、SEIR 模型。
SEIR 模型考虑存在易感者、暴露者、患病者和康复者四类人群,适用于具有潜伏期、治愈后获得终身免疫的传染病。
本文详细给出了几种改进 SEIR 模型微分方程的思路、建模、例程和结果,让小白学会模型分析与改进。
『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛达人。
Python小白的数学建模课-B2. 新冠疫情 SI模型
Python小白的数学建模课-B3. 新冠疫情 SIS模型
Python小白的数学建模课-B4. 新冠疫情 SIR模型
Python小白的数学建模课-B5. 新冠疫情 SEIR模型
Python小白的数学建模课-B6. 新冠疫情 SEIR改进模型
1. SEIR 基本模型
1.1 SEIR 模型的结构
SEIR 模型考虑存在易感者(Susceptible)、暴露者(Exposed)、患病者(Infectious)和康复者(Recovered)四类人群,适用于具有潜伏期、治愈后获得终身免疫的传染病。易感者(S 类)被感染后成为潜伏者(E类),随后发病成为患病者(I 类),治愈后成为康复者(R类)。这种情况更为复杂,也更为接近实际情况。
SEIR 模型的仓室结构示意图如下:
1.2 SEIR 模型的假设
-
考察地区的总人数 N 不变,即不考虑生死或迁移;
-
人群分为易感者(S 类)、暴露者(E 类)、患病者(I 类)和康复者(R 类)四类;
-
易感者(S 类)与患病者(I 类)有效接触即变为暴露者(E 类),暴露者(E 类)经过平均潜伏期后成为患病者(I 类);患病者(I 类)可被治愈,治愈后变为康复者(R 类);康复者(R类)获得终身免疫不再易感;
-
将第 t 天时 S 类、E 类、I 类、R 类人群的占比记为 s ( t ) s(t) s(t)、 e ( t ) e(t) e(t)、 i ( t ) i(t) i(t)、 r ( t ) r(t) r(t),数量分别为 S ( t ) S(t) S(t)、 E ( t ) E(t) E(t)、 I ( t ) I(t) I(t)、 R ( t ) R(t) R(t);初始日期 t = 0 t=0 t=0 时,各类人群占比的初值为 s 0 s_0 s0、 e 0 e_0 e0、 i 0 i_0 i0、 r 0 r_0 r0;
-
日接触数 λ \lambda λ,每个患病者每天有效接触的易感者的平均人数;
-
日发病率 δ \delta δ,每天发病成为患病者的暴露者占暴露者总数的比例;
-
日治愈率 μ \mu μ,每天被治愈的患病者人数占患病者总数的比例,即平均治愈天数为 1 / μ 1/\mu 1/μ;
-
传染期接触数 σ = λ / μ \sigma = \lambda / \mu σ=λ/μ,即每个患病者在整个传染期内有效接触的易感者人数。
1.3 SEIR 模型的微分方程
{ d s d t = − λ s i , s ( 0 ) = s 0 d e d t = λ s i − δ e , e ( 0 ) = e 0 d i d t = δ e − μ i , i ( 0 ) = i 0 \begin{cases} & \frac{ds}{dt} = -\lambda s i, &s(0)=s_0\\ & \frac{de}{dt} = \lambda s i - \delta e, &e(0)=e_0\\ & \frac{di}{dt} = \delta e - \mu i, &i(0)=i_0 \end{cases} ⎩⎪⎨⎪⎧dtds=−λsi,dtde=λsi−δe,dtdi=δe−μi,s(0)=s0e(0)=e0i(0)=i0
2. 基于 SEIR 模型研究新冠疫情
2.1 基于 SEIR 模型的新冠疫情研究论文
2019年12月,武汉市出现新冠疫情(COVID-19)病例;2020年初,新冠疫情(COVID-19)在中国迅速蔓延。随着严格的防疫措施,新冠疫情在中国总体被基本抑制;之后虽然在国内部分地区有零星散发,但均较快得到控制,这都得益于疫情早期的防控。
因此,在疫情暴发早期迅速采取有效的防控措施,对于新冠疫情的防控具有重要作用。对疫情暴发与衰退进行精准预测,对防控措施的效果进行定量分析,为研判疫情传播发展态势、科学实施疫情防控,积极稳妥恢复日常工作和生活,具有重要的理论意义和现实意义 。
国内外学者开展了大量的疫情传播和疫情防控的研究,这些研究主要是基于 SEIR 模型,并根据新冠疫情的病理特征及传播特点,对模型进行各种改进,使模型与实际情况更加吻合,以便更准确地预测疫情发展趋势 。
2020年1月,英国 Jonathan 等估计武汉市 2月4日感染病例将达到 19万例,高估了疫情发展态势。2020年1月,西安交通大学 Shen 等估计新冠疫情的基本再生数,预测最终感染人数在 2万人以内,明显低于公布的疫情数据。2020年1月31日,香港学者 Wu 等推测 1月25日感染人数超过6000,高于25日公布的确诊人数 1985例。
2020年 3月,钟南山院士团队在《Journal of thoracic disease》发表论文 “Modified SEIR and AI prediction of the epidemics trend of COVID-19 in China under public health interventions( 基于改进 SEIR 和 AI 模型对公共卫生干预下的 COVID-19 暴发趋势预测)“,采用改进的 SEIR 模型来预测新冠疫情的发展。
![](https://i-blog.csdnimg.cn/blog_migrate/3256f714c4f85cd5c661611998c5d549.png)
该文结合 2020年 1月23日前后的人口迁移数据及最新的 COVID-19 流行病学数据,对 SEIR 模型参数进行估计和校正,由此预测疫情发展的走势,与实际报告数据的吻合度较高。
基于该模型的研究认为,按照目前的干预措施疫情将在 2月28日达到峰值,4月底逐渐平缓,最终感染人数将达到 122,122 (89741~156794)人;如果干预措施能提早 5天,感染人数将减少 2/3 ,估计仅 40,991人;但如果干预措施推迟 5天,预计疫情规模将增加 3倍,感染人数会达到 351,874人。
该文指出,如果继续严格的管控政策,提高诊断水平,推出使用药物,疫情规模将得到极大控制;如果立即在湖北省解除隔离,将在 3月中旬出现第二次疫情高峰,并使疫情延至 4月底,因此建议继续采取有力措施进行防控。
该文是 2月27日投稿,文中数据基于2月9日(当时国内确诊35,982例)。4月30日国内公布累计确诊 84,385例,疫情得到有效控制,都在本文的预测范围之内。
2020年 2月,中山大学胡延庆团队在《科学通报》发表论文 “新型冠状病毒传播的数学模型与预测”,采用分阶段滚动 SEIR 模型对防控措施的效果进行分析,通过新冠疫情数据估算自然基本再生数为 2.57,对疫情发展趋势进行了预测,预计最终全国除湖北省以外的累计感染人数近 14000(到2020年底实际为 18922),除武汉市以外的累计感染人数近 32000(到2020年底实际为 36717)。
2020年 2月,西安交通大学吕军团队论文 “基于 SEIR模型分析相关干预措施在新型冠状病毒肺炎疫情中的作用”,对 SEIR模型加入潜伏期传染率、感染人群变化率等参数,通过新冠疫情数据估算基本再生数为 2.4~2.7。基于模型分析防控手段的有效性,模型显示基于严格限制出行的隔离措施能够减缓疫情发展的趋势,使潜伏和感染人群的峰值分别降低 45. 7%、29. 9%。因此,疫情一旦暴发应及时采取相应等级的应急响应措施,及时出台强力的管控举措,及早限制出行、居家隔离、提示及强制出行戴口罩等防护措施切断病毒传染途径,大幅度减少潜伏和感染人群与易感人群的接触人数,以减缓疫情发展及减少疫情峰值发病人数。
此外,深圳大学林俊锋的论文 “基于引入隐形传播者的 SEIR 模型的 COVID-19 疫情分析和预测”,考虑未监测、未隔离的病毒携带者,在 SEIR 模型中引入隐形传播者(Undiscovered),提高了 SEIR 模型的精度。
中南大学李东杰团队的论文“基于改进传染病动力学易感-暴露-感染-恢复模型 (SEIR) 预测新型冠状病毒肺炎疫情”,基于 SEIR 模型并通过易感人群减少率来反映政府管控措施的效果。
长安大学董是等的论文“基于系统动力学模型的 2019冠状病毒病早期防控机制研究”,以广义 SEIR 模型为基础,引入易感人群、不易感人群、暴露人群(已感染但尚不具有传染性,处于潜伏状态)、感染人群(具有传染性,尚未隔离)、隔离人群(已感染和确诊)、恢复人群和死亡人群 7个不同状态,以中国、美国、英国、澳大利亚、塞尔维亚和意大利的疫情暴发早期数据对模型参数进行拟合。在此基础上对严格集中管控模式和有限防控模式进行对比分析,认为在疫情暴发的早期,提高保护率、降低感染率,缩短检疫时间,采取严格的隔离政策可以有效抑制疫情的传播与扩散。
本文附录参考文献中给出了一些使用 SEIR 及其改进模型进行新冠疫情研究的论文。
2.2 针对新冠疫情的 SEIR 模型改进
分析和总结这些基于 SEIR 模型研究新冠疫情的论文,主要有三个方面的内容:一是对 SEIR 模型的改进,二是对模型参数的估计,三是对疫情传播和防控措施的预测。这也是传染病动力学模型进行疫情传播研究的基本路径。本节主要讨论 SEIR 模型d 改进。
SEIR 模型的假设比 SI、SIS、SIR 模型更加复杂,也更符合实际情况,因而模型结果往往也与实际数据更为接近。但即便如此,相对于特定传染病、实际疫情的具体情况,SEIR 模型的基本假设仍然存在问题与不足。
发现特定传染病和实际疫情的具体情况,在 SEIR 模型的基础上,考虑新的因素,就可以对 SEIR 模型进行改进。大体来说,对于 SEIR 模型的改进主要有以下几个方面:
一是对于模型结构的改进,主要是对人群类型的细分。
SIR 模型较 SI 模型增加了康复者(R类),SEIR 模型较 SIR模型增加了潜伏者(E类)。类似地,结合新冠疫情传播和防控的特征,可以而且需要对人群进行进一步的细分。
“早发现、早诊断、早隔离、早治疗”是新冠疫情防控的关键措施。尽早发现患病者和尚未发病的潜伏者,对其进行隔离,可以大幅降低日接触数、传染期接触数。因此,潜伏者处于检出后的隔离状态还是未检出的正常活动状态,对于疫情传播的影响是具有本质差异的,由此可以在 SEIR模型中引入“隐形传播者(Undiscovered)”。
进一步地,可以考虑增加隔离易感者、隔离接触者、住院患者,并考察不同人群之间的动力学关系。
新冠疫情患病者有一定的病死率,可以考虑增加病死者人群(Death),根据病死率数据建立患病者与病死者的动力学关系。
又如,考虑不同人群对病毒的抵抗力不同,因而被感染的概率不同,可以细分婴儿、老人人群,对其设定较高的接触感染率;考虑不同人群病死率的不同,可以对具有基础病的患者设置较高的病死率。
由此可见,只要认真分析新冠疫情发病机制的特征,分析所考察区域和阶段的特点,就可以发现区别于 SEIR 的特征人群,进而提出新的细分人群,从而对 SEIR 模型进行改进。当然,有些细分人群对于结果影响并不大,或者很难找到该细分人群与其它人群的动力学关系,所以并不是说人群分的越多越好。
二是对疫情传播特征的改进,就是给微分方程表达式增加修正项。
SEIR 模型是单向模型,是对实际问题的简化,便于分析和求解。考虑新冠疫情发病机制和传播特点,可以对各类人群之间的传播特性进行更科学、更细致的研究。
例如,新冠疫情的重要病理特征是在潜伏期具有传染性,发病后 5天内传染性较强。实际上,随着疫情发展,患病者基本被收治隔离,日接触数极低,这时疫情主要是通过潜伏者与易感者的接触传播的。针对这一特征,SEIR 模型中仅考虑易感者与患病者接触后感染显然是重大的缺陷,需要考虑易感者与潜伏者接触后感染的影响。
又如,新冠疫情中发现患病治愈者具有免疫期,不是终身免疫,因此可以增加康复者向易感者转变的连接路径;疫情中发现一些潜伏者(暴露者)不一定都转变为患病者,而是也可能回到易感者,因此可以增加潜伏者人群返回易感者人群的连接路径。钟南山团队论文,就是在 SEIR 模型基础上,基于进行隔离与解除隔离的数据而增加了易感者与潜伏者的双向转换路径。
微分方程的表达式是各类人群之间动力学关系的反映,是对仓室模型中各类人群相互联系和转换特征的数学描述。基于改进模型提出各类人群之间新的转换关系,就是在微分方程表达式中增加一个修正项,来描述两个仓室之间的动力学关系。后文将对此案例进行具体分析。
三是对基本假设的完善,就是补充或修正原有的假设。
模型的基本假设都是对实际问题的抽象和简化。至于简化是否合理,就是仁者见仁智者见智的事情了。一般来说,经典模型、基本模型都是对普遍问题的抽象,结合具体实际问题的特点来考虑就显得不尽合理、完善,因此可以进行补充或修正。
例如,基本假设考察地区的总人数 N 不变,即不考虑生死或人口流动 。对于严重的、长期的疫情,也可以生死的影响。而疫情发生后人口流动几乎是必然的,也是疫情传播的主要途径,疫情防控的主要措施。因此,结合交通流大数据,考虑人流迁移的影响,是研究疫情传播重要内容。
又如,SEIR 模型中对日接触数、日发病率、日治愈率设定为常数,考虑新冠疫情的具体情况,这些参数可以是分段的(不同人群、不同阶段),可以是时变的,也可以是某种函数。
最后,需要指出的是,针对新冠疫情而对 SEIR 模型的改进,有的是非常重要并对结果产生重大影响的,例如潜伏期的传染性、对密切接触者的隔离、人员流动的影响;有的则不会有多大影响,反而使模型更为复杂,只能说也是一种探索和尝试吧。
但是,从数学建模和数模竞赛的角度来看,我们是一个练习而不是研究,只要仔细观察、认真思考,就能对人群更加细分,对某种传播特性给出数学描述,从而提出自己的“改进的 SEIR模型“。再与现有 SEIR 模型做一些比较,与实际数据做一些比对,就很容易写出一篇“高水平”的数模论文。
说白了,这就是为了改进而改进。但对于小白来说,还是很有价值的训练。
3. 考虑潜伏期传染性的 SEIR 改进模型
3.1 改进模型的假设和微分方程
考虑新冠疫情在潜伏期具有传染性,易感者(S 类)除了与患病者(I 类)有效接触而被感染,与潜伏者(E类)有效接触也有可能被感染而转变为潜伏者(E类)。
对 SEIR 模型增加假设:
- 潜伏者日接触数 λ 2 \lambda_2 λ2,每个潜伏者每天有效接触的易感者的平均人数。
可以建立如下微分方程:
{
N
d
s
d
t
=
−
N
λ
s
i
−
N
λ
2
s
e
N
d
e
d
t
=
N
λ
s
i
+
N
λ
2
s
e
−
N
δ
e
N
d
i
d
t
=
N
δ
e
−
N
μ
i
N
d
r
d
t
=
N
μ
i
\begin{cases} N \frac{ds}{dt} = - N \lambda s i - N \lambda_2 s e\\ N \frac{de}{dt} = N \lambda s i + N \lambda_2 s e - N \delta e\\ N \frac{di}{dt} = N \delta e - N \mu i\\ N \frac{dr}{dt} = N \mu i \end{cases}
⎩⎪⎪⎪⎨⎪⎪⎪⎧Ndtds=−Nλsi−Nλ2seNdtde=Nλsi+Nλ2se−NδeNdtdi=Nδe−NμiNdtdr=Nμi
得:
{ d s d t = − λ s i − λ 2 s e , s ( 0 ) = s 0 d e d t = λ s i + λ 2 s e − δ e , e ( 0 ) = e 0 d i d t = δ e − μ i , i ( 0 ) = i 0 \begin{cases} & \frac{ds}{dt} = -\lambda s i - \lambda_2 s e, &s(0)=s_0\\ & \frac{de}{dt} = \lambda s i + \lambda_2 s e - \delta e, &e(0)=e_0\\ & \frac{di}{dt} = \delta e - \mu i, &i(0)=i_0 \end{cases} ⎩⎪⎨⎪⎧dtds=−λsi−λ2se,dtde=λsi+λ2se−δe,dtdi=δe−μi,s(0)=s0e(0)=e0i(0)=i0
3.2 odeint() 求解 SEIR 模型的编程步骤
- 导入 scipy、numpy、matplotlib 包。
- 定义导数函数 f ( y , t ) f(y,t) f(y,t)。改进模型只是在 SEIR 模型微分方程中增加了一个修正项,具体编程并没有很大区别,以下给出例程以供对比。
SEIR 模型的微分方程导数函数
def dySEIR(y, t, lamda, delta, mu): # SEIR 模型,导数函数
s, e, i = y
ds_dt = - lamda*s*i # ds/dt = -lamda*s*i
de_dt = lamda*s*i - delta*e # de/dt = lamda*s*i - delta*e
di_dt = delta*e - mu*i # di/dt = delta*e - mu*i
return np.array([ds_dt,de_dt,di_dt])
SEIR 改进模型的微分方程导数函数
def dySEIR2(y, t, lamda, lam2, delta, mu): # SEIR2 模型,导数函数
s, e, i = y
ds_dt = - lamda*s*i - lam2*s*e # ds/dt = -lamda*s*i - lam2*s*e
de_dt = lamda*s*i + lam2*s*e - delta*e # de/dt = lamda*s*i - delta*e
di_dt = delta*e - mu*i # di/dt = delta*e - mu*i
return np.array([ds_dt,de_dt,di_dt])
Python 可以直接对向量、向量函数进行定义和赋值,使程序更为简洁。但考虑读者主要是 Python 小白,又涉及到看着就心烦的微分方程组,所以我们宁愿把程序写得累赘一些,便于读者将程序与前面的微分方程组逐项对应。
- 定义初值 y 0 y_0 y0 和 y y y 的定义区间 [ t 0 , t ] [t_0,\ t] [t0, t],注意初值为数组向量 y 0 = [ s 0 , e 0 , i 0 ] y_0=[s_0,e_0,i_0] y0=[s0,e0,i0]。
- 调用 odeint() 求 y y y 在定义区间 [ t 0 , t ] [t_0,\ t] [t0, t] 的数值解。
3.3 Python 例程:考虑潜伏期传染性的 SEIR 改进模型
# modelCovid5_v1.py
# Demo01 of mathematical modeling for Covid2019
# Improved SEIR model for epidemic diseases (改进的 SEIR 模型)
# Copyright 2021 Youcans, XUPT
# Crated:2021-06-16
# Python小白的数学建模课 @ Youcans
# 1. SEIR2 模型,考虑潜伏期具有传染性
from scipy.integrate import odeint # 导入 scipy.integrate 模块
import numpy as np # 导入 numpy包
import matplotlib.pyplot as plt # 导入 matplotlib包
def dySEIR(y, t, lamda, delta, mu): # SEIR 模型,导数函数
s, e, i = y
ds_dt = - lamda*s*i # ds/dt = -lamda*s*i
de_dt = lamda*s*i - delta*e # de/dt = lamda*s*i - delta*e
di_dt = delta*e - mu*i # di/dt = delta*e - mu*i
return np.array([ds_dt,de_dt,di_dt])
def dySEIR2(y, t, lamda, lam2, delta, mu): # SEIR2 模型,导数函数
s, e, i = y
ds_dt = - lamda*s*i - lam2*s*e # ds/dt = -lamda*s*i - lam2*s*e
de_dt = lamda*s*i + lam2*s*e - delta*e # de/dt = lamda*s*i - delta*e
di_dt = delta*e - mu*i # di/dt = delta*e - mu*i
return np.array([ds_dt,de_dt,di_dt])
# 设置模型参数
number = 1e5 # 总人数
lamda = 1.0 # 日接触率, 患病者每天有效接触的易感者的平均人数
lam2 = 0.25 # 日接触率2, 潜伏者每天有效接触的易感者的平均人数
delta = 0.05 # 日发病率,每天发病成为患病者的潜伏者占潜伏者总数的比例
mu = 0.05 # 日治愈率, 每天治愈的患病者人数占患病者总数的比例
sigma = lamda / mu # 传染期接触数
fsig = 1-1/sigma
tEnd = 200 # 预测日期长度
t = np.arange(0.0, tEnd, 1) # (start,stop,step)
i0 = 1e-3 # 患病者比例的初值
e0 = 0 # 潜伏者比例的初值
s0 = 1-i0 # 易感者比例的初值
Y0 = (s0, e0, i0) # 微分方程组的初值
# odeint 数值解,求解微分方程初值问题
ySEIR = odeint(dySEIR, Y0, t, args=(lamda,delta,mu)) # SEIR 模型
ySEIR2 = odeint(dySEIR2, Y0, t, args=(lamda,lam2,delta,mu)) # SEIR2 模型
# 输出绘图
print("lamda={}\tmu={}\tsigma={}\t(1-1/sig)={}".format(lamda,mu,sigma,fsig))
plt.title("Comparison between SEIR and improved SEIR model")
plt.xlabel('t-youcans')
plt.axis([0, tEnd, -0.1, 1.1])
plt.plot(t, ySEIR2[:,0], '-g', label='s(t)-iSEIR') # 易感者比例
plt.plot(t, ySEIR2[:,1], '-b', label='e(t)-iSEIR') # 潜伏者比例
plt.plot(t, ySEIR2[:,2], '-m', label='i(t)-iSEIR') # 患病者比例
# plt.plot(t, 1-ySEIR2[:,0]-ySEIR2[:,1]-ySEIR2[:,2], '-b', label='r(t)-iSEIR')
plt.plot(t, ySEIR[:,0], '--g', label='s(t)-SEIR')
plt.plot(t, ySEIR[:,1], '--b', label='e(t)-SEIR')
plt.plot(t, ySEIR[:,2], '--m', label='i(t)-SEIR')
# plt.plot(t, 1-ySEIR[:,0]-ySEIR[:,1]-ySEIR[:,2], '--m', label='r(t)-SEIR')
plt.legend(loc='upper right') # youcans
plt.show()
3.4 SEIR 改进模型的结果
上图是对 SEIR 改进模型与 SEIR模型结果的比较,图中实线为 SEIR 改进模型、虚线为 SEIR 模型,不同颜色分别表示易感者比例 s(t)、潜伏者比例 e(t) 和患病者比例 i(t)。
图中,SEIR 改进模型潜伏者比例 e(t)、患病者比例 i(t) 出现的峰值比 SEIR 模型更早、更强,易感者比例 s(t) 降低的更快,但最终也都趋于稳定。这是由于 SEIR 改进模型假设潜伏者在潜伏期的日接触数 λ 2 \lambda_2 λ2,相当于在总体上增大了日接触数。因此SEIR 改进模型的结果,与在 SEIR 模型中增大日接触率 λ \lambda λ 的情况是类似的,可以参见《B5-SEIR疫情模型》中的图3.2。
4. 基于 SEIR 改进模型的防控措施分析
4.1 对患病者实施隔离措施的影响
上图中 SEIR 改进模型与 SEIR 模型的结果虽然有差别,但差别并不大。如果增大 SEIR 模型中的日接触率 λ \lambda λ ,也能得到类似的结果。换个角度看,如果用实际疫情数据来拟合模型参数,SEIR 模型也能达到很好地拟合,只是在估计的日接触率参数中反映了潜伏者的日接触数的影响。
但如果考虑对患病者进行隔离的防控措施,则情况将会出现很大变化。假设对患病者进行有效隔离——这是最基本、最普遍的传染病防控措施,使患病者的日接触率 λ \lambda λ 降低到未隔离时的20%,而潜伏者在潜伏期的日接触数 λ 2 \lambda_2 λ2不变。
上图是对 SEIR 改进模型与 SEIR模型结果的比较,所用的模型和程序与上图相同,只是考虑对患病者进行有效隔离而将患病者的日接触率 λ \lambda λ 从 1.0 降低为 0.2。
此时,改进 SEIR 模型与 SEIR 模型的差异较上图显著增大。因为患病者的有效传染数由于隔离而大幅降低,SEIR模型中的疫情大为缓解。如果考虑实际上患病者隔离前后的日接触率的差异更大,采用更小的日接触率 λ \lambda λ ,则疫情很容易受到控制。
但是,在 SEIR 改进模型中,虽然患病者的有效传染数也由于隔离而降低,但潜伏者的有效传染数未受控制而不变,因此疫情较上图(患病者未隔离)虽有推迟和减轻,但仍然非常严重。
以上的分析说明:一方面,对于潜伏期具有传染性的传染病,必须使用 SEIR改进模型,考虑潜伏者的日接触数,才能更真实地反映疫情传播特点;另一方面,在疫情防控中,不仅要及时对患病者采取隔离措施,也要对潜伏者采取隔离措施,才能控制疫情,这就要求对潜伏者"早发现、早诊断、早隔离"。
4.2 对潜伏者实施隔离措施的影响
对潜伏者采取隔离措施,就要求对潜伏者"早发现、早诊断、早隔离"。用考虑潜伏期传染性的 SEIR 改进模型对发现和隔离潜伏者的防控措施的效果进行模拟研究。
比较以下三种情况:(1)未采取防控措施, λ = 1.0 , λ 2 = 0.25 \lambda=1.0,\lambda2=0.25 λ=1.0,λ2=0.25;(2)对患病者采取隔离措施,但未对潜伏者采取隔离措施, λ = 0.2 , λ 2 = 0.25 \lambda=0.2,\lambda2=0.25 λ=0.2,λ2=0.25;(3)对患病者、潜伏者都采取隔离措施, λ = 0.2 , λ 2 = 0.1 \lambda=0.2,\lambda2=0.1 λ=0.2,λ2=0.1。
上图是采用考虑潜伏期传染性的 SEIR 改进模型对 3 种情况下疫情传播的模拟结果,图中实线、虚线和点划线分别表示第 1、2、3 种情况,不同颜色不同颜色分别表示易感者、潜伏者和患病者的比例。
如 4.1 中的分析,对患病者采取隔离措施使患病者日接触数减小(虚线),疫情较未隔离患病者(实线)时有所减轻,潜伏者、患病者比例的波峰的开始时间、峰值时间推后,峰值高度降低,但疫情仍然很严重。
进一步对潜伏者也采取隔离措施使潜伏者日接触数减小(点划线),疫情较未隔离潜伏者时显著减弱,潜伏者、患病者比例的波峰的开始时间、峰值时间显著推迟,峰值高度降低,说明发现和隔离潜伏者的措施对疫情控制是有效和必要的。
5. 总结
- 改进模型通常是针对特定传染病和实际疫情的具体情况,在基本模型的基础上考虑新的因素,使模型的假设更符合实际情况,模型的结果能接近实际数据,才能更准确地预测疫情发展趋势、分析防控措施的影响。
- 结合新冠疫情对 SEIR 模型改进的主要方向是:对人群类型的细分;对疫情传播特征的修正;对模型基本假设的完善。
- 以考虑潜伏期传染性的 SEIR 改进模型为例,给出了具体的数学模型、编程实现、结果讨论。
- 从新冠疫情建模的角度分析看,需要考虑潜伏期传染性对疫情传播的影响;从新冠疫情防控的角度看,对潜伏者早发现、早诊断、早隔离,对于疫情防控是有效和必要的。
参考文献:
- 钟南山 等,Modified SEIR and AI prediction of the epidemics trend of COVID-19 in China under public health interventions( 基于改进 SEIR 和 AI 模型对公共卫生干预下的 COVID-19 暴发趋势预测),Journal of the thoracic disease,2020.3
- 谢家荣 等,新型冠状病毒传播的数学模型与预测,科学通报,2020,65(22)
- 林俊锋,基于引入隐形传播者的 SEIR 模型的 COVID-19 疫情分析和预测,电子科技大学学报,2020,49(3)
- 曹盛力 等,修正 SEIR 传染病动力学模型应用于湖北省2019冠状病毒病(COVID-19)疫情预测和评估,浙江大学学报(医学版),2020.4
- 耿辉 等,基于 SEIR模型分析相关干预措施在新型冠状病毒肺炎疫情中的作用,暨南大学学报,2020,41(2)
- 王思远 等,基于改进传染病动力学易感-暴露-感染-恢复模型 (SEIR) 预测新型冠状病毒肺炎疫情,第二军医大学学报,2020,41(6)
- 王晨曦 等,传染病动力学模型研究综述,中国计算机用户协会网络应用分会2020年第二十四届网络新技术与应用年会论文集,2020.12
- 董是 等,基于系统动力学模型的 2019冠状病毒病早期防控机制研究,浙江大学学报(医学版),2021.2
【本节完】
版权声明:
欢迎关注『Python小白的数学建模课 @ Youcans』 原创作品
原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/118084539)。
Copyright 2021 Youcans, XUPT
Crated:2021-06-21
欢迎关注 『Python小白的数学建模课 @ Youcans』 系列,持续更新
Python小白的数学建模课-A1.国赛赛题类型分析
Python小白的数学建模课-A2.2021年数维杯C题探讨
Python小白的数学建模课-A3.12个新冠疫情数模竞赛赛题及短评
Python小白的数学建模课-B2. 新冠疫情 SI模型
Python小白的数学建模课-B3. 新冠疫情 SIS模型
Python小白的数学建模课-B4. 新冠疫情 SIR模型
Python小白的数学建模课-B5. 新冠疫情 SEIR模型
Python小白的数学建模课-B6. 新冠疫情 SEIR改进模型
Python小白的数学建模课-01.新手必读
Python小白的数学建模课-02.数据导入
Python小白的数学建模课-03.线性规划
Python小白的数学建模课-04.整数规划
Python小白的数学建模课-05.0-1规划
Python小白的数学建模课-06.固定费用问题
Python小白的数学建模课-07.选址问题
Python小白的数学建模课-09.微分方程模型
Python小白的数学建模课-10.微分方程边值问题
Python小白的数学建模课-12.非线性规划
Python小白的数学建模课-15.图论的基本概念
Python小白的数学建模课-16.最短路径算法
Python小白的数学建模课-17.条件最短路径算法
Python小白的数学建模课-18.最小生成树问题
Python小白的数学建模课-19.网络流优化问题
Python小白的数学建模课-20.网络流优化案例
Python小白的数学建模课-21.关键路径法
Python数模笔记-PuLP库
Python数模笔记-StatsModels统计回归
Python数模笔记-Sklearn
Python数模笔记-NetworkX
Python数模笔记-模拟退火算法