传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI、SIR、SIRS、SEIR 模型。
考虑存在易感者、暴露者、患病者和康复者四类人群,适用于具有潜伏期、治愈后获得终身免疫的传染病。
本文详细给出了 SEIR 模型微分方程的建模、例程、结果和分析,让小白都能懂。
『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛达人。
欢迎关注『Python小白的数学建模课 @ Youcans』系列,每周持续更新
Python小白的数学建模课-B2. 新冠疫情 SI模型
Python小白的数学建模课-B3. 新冠疫情 SIS模型
Python小白的数学建模课-B4. 新冠疫情 SIR模型
Python小白的数学建模课-B5. 新冠疫情 SEIR模型
Python小白的数学建模课-B6. 新冠疫情 SEIR改进模型
Python小白的数学建模课-09.微分方程模型
Python小白的数学建模课-10.微分方程边值问题
1. SEIR 模型
1.1 SEIR 模型的提出
建立传染病的数学模型来描述传染病的传播过程,要根据传染病的发病机理和传播规律, 结合疫情数据进行拟合分析,可以认识传染病的发展趋势,预测疫情持续时间和规模,分析和模拟各种防控措施对疫情发展的影响程度, 为传染病防控工作提供决策指导,具有重要的理论意义和现实意义。
SI 模型是最简单的传染病传播模型,把人群分为易感者(S 类)和患病者(I 类)两类,通过 SI 模型可以预测传染病高潮的到来;提高卫生水平、强化防控手段,降低病人的日接触率,可以推迟传染病高潮的到来。在 SI 模型基础上发展的 SIS 模型考虑患病者可以治愈而变成易感者,SIS 模型表面传染期接触数 σ sigma σ 是传染病传播和防控的关键指标,决定了疫情终将清零或演变为地方病长期存在。在 SI 模型基础上考虑病愈免疫的康复者(R 类)就得到 SIR 模型,通过 SIR 模型也揭示传染期接触数 σ sigma σ 是传染病传播的阈值,满足 s 0 > 1 / σ s_0>1/sigma s0>1/σ 才会发生传染病蔓延,由此可以分析各种防控措施,如:提高卫生水平来降低日接触率 λ lambda λ、提高医疗水平来提高日治愈率 μ mu μ,通过预防接种达到群体免疫来降低 s 0 s_0 s0 等。
传染病大多具有潜伏期(incubation period),也叫隐蔽期,是指从被病原体侵入肌体到最早临床症状出现的一段时间。在潜伏期的后期一般具有传染性。不同的传染病的潜伏期长短不同,从短至数小时到长达数年,但同一种传染病有固定的(平均)潜伏期。例如,流感的潜伏期为 1~3天,冠状病毒感染的潜伏期为4~7天,新型冠状病毒肺炎传染病(COVID-19)的潜伏期为1-14天(* 来自:新型冠状病毒肺炎诊疗方案试行第八版,潜伏时间 1~14天,多为3~7天,在潜伏期具有传染性),肺结核的潜伏期从数周到数十年。
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 模型的微分方程
由
{ N d s d t = N λ s i N d e d t = N λ s i N δ e N d i d t = N δ e N μ i N d r d t = N μ i egin{cases} N rac{ds}{dt} = - N lambda s i\ N rac{de}{dt} = N lambda s i - N delta e\ N rac{di}{dt}