Python小白的数学建模课-B6. 新冠疫情 SEIR 改进模型

Posted youcans

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python小白的数学建模课-B6. 新冠疫情 SEIR 改进模型相关的知识,希望对你有一定的参考价值。


传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 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 模型的假设

  1. 考察地区的总人数 N 不变,即不考虑生死或迁移;

  2. 人群分为易感者(S 类)、暴露者(E 类)、患病者(I 类)和康复者(R 类)四类;

  3. 易感者(S 类)与患病者(I 类)有效接触即变为暴露者(E 类),暴露者(E 类)经过平均潜伏期后成为患病者(I 类);患病者(I 类)可被治愈,治愈后变为康复者(R 类);康复者(R类)获得终身免疫不再易感;

  4. 将第 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

  5. 日接触数 λ \\lambda λ,每个患病者每天有效接触的易感者的平均人数;

  6. 日发病率 δ \\delta δ,每天发病成为患病者的暴露者占暴露者总数的比例;

  7. 日治愈率 μ \\mu μ,每天被治愈的患病者人数占患病者总数的比例,即平均治愈天数为 1 / μ 1/\\mu 1/μ

  8. 传染期接触数 σ = λ / μ \\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 模型来预测新冠疫情的发展。

在这里插入图片描述

该文结合 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 模型增加假设:

  1. 潜伏者日接触数 λ 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λsiNλ2seNdtde=Nλsi+Nλ2seNδeNdtdi=NδeNμ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

以上是关于Python小白的数学建模课-B6. 新冠疫情 SEIR 改进模型的主要内容,如果未能解决你的问题,请参考以下文章

Python小白的数学建模课-B4. 新冠疫情 SIR模型

Python小白的数学建模课-A3. 12个新冠疫情数模竞赛赛题与点评

Python小白的数学建模课-A3. 10个新冠疫情数模竞赛赛题与点评

Python小白的数学建模课-B2. 新冠疫情 SI模型

Python小白的数学建模课-B5. 新冠疫情 SEIR模型

Python小白的数学建模课-B5. 新冠疫情 SEIR模型