版权归原作者所有,如有侵权,请联系我们

数学模型是怎样描述传染病的?别担心,数学没学好也能看懂

果壳
科学和技术,是我们和这个世界对话所用的语言。
收藏

在人类与传染病作斗争的漫长历史中,除了在一线救死扶伤的医生,还有一个特殊的群体为遏制疾病蔓延做出了重要的贡献,那就是数学家。

在大多数人印象中,数学是抽象而晦涩的,似乎和公共卫生完全搭不上关系。事实上,大家在面对传染病时遇到的问题,比如为什么接触过患病者的人需要被隔离、疫情爆发1个月后有多少人被感染、拐点什么时候能够到来,都或多或少可以从数学模型的角度来做出预测和解读。也正是依靠数学家对于传染病抽象化的研究,人们对于传染病的传播模式和严重危害有了更为深刻的认识。

对传染病建模的历史

用数学模型研究传染病的做法,最早可以追溯到18世纪初。那时候天花病毒正在肆虐欧洲,人们发现东方传入的人痘接种术似乎能够治愈这种疾病,但接种后仍有很高的死亡率,这引起了大数学家丹尼尔·伯努利(Johann Bernoulli)的注意。伯努利是流体力学的祖师爷,同时也学过一点医学,听说了天花接种的疗法后,他便开始琢磨怎么用数学去描述天花的传播以及接种的功效。

受限于时代,伯努利的想法比较朴素,他将人群分成感染者与未感染者,感染者既有可能治愈变成未感染者,也会因病死亡。伯努利的高明之处在于,他考虑了人的年龄也就是时间因素,假定疾病治愈率与研究人群的年龄段相关,以此建立了数学方程。

伯努利的模型类似于后来的SI模型

是最为简单的传染病模型之一 | 参考资料[3]

经过一番计算研究,伯努利得出结论:尽管有一定风险,人痘接种在统计上仍然能让人的寿命延长3年左右。

虽然以现在的眼光看,伯努利的研究一点也不严谨,得出的结论也是显而易见的(接种疫苗有助于控制疾病传播),人痘接种术在牛痘疫苗出现后也几乎销声匿迹,但伯努利是第一个尝试用数据和方程去分析传染病传播趋势、判断控制措施有效性的数学家,这种科学思维在那个人类完全被传染病支配的时代显得尤为珍贵,直到今天仍然是用数学方法研究传染病的最基本思想。

100多年后的20世纪初,用数学模型研究传染病的方法(后来发展为一门叫“数理流行病学”的学科)迎来了飞速发展,这很大程度上要归功于苏格兰军医麦肯德里克(Anderson Gray McKendrick)和生物化学家威廉·克马克(William Kermack)。

提出SIR模型的麦肯德里克和克马克 | 参考资料[4]

麦肯德里克曾在印度服役,当时印度鼠疫横行,夺去了数十万人的生命。然而与大多数医生钻研医术不同,麦肯德里克竟然“不务正业”,把很多心思放在了研究数学方程上,并发现鼠疫的感染人数趋势和数学的某些函数曲线非常相像。

从印度回国后,他与生物化学家威廉·克马克(William Kermack)合作,开始对鼠疫爆发的患病人数、患者生存天数等数据进行分析,最终提出了数理流行病学中里程碑式的模型:SIR模型。直到今天,绝大多数从数学角度分析传染病的研究都或多或少有这个模型的影子。

如何用SIR模型描述传染病?

SIR模型的基本概念并不难,即使完全没学过数学也能看懂:

S代表Susceptible,易感者,也就是可能被传染但还没有感染的人;

I代表Infected,感染者,即已经被传染但尚未死亡的人;

R代表Removed,移除者,他们有可能被感染后痊愈了,也有可能是因病死亡。

当然还有一个样本人数不变的假设,也就是易感者+感染者+移除者的人数之和假定不变。

SIR模型示意图 | Perception Heallth

有了这样一个数学模型,我们需要研究三个群体随时间的变化趋势——比如说,第1天有了3个感染者,到了第10天会有多少人感染?因痊愈或死亡产生的移除者又会有多少个?

为了求出不同人群与时间的关系式,数学家引入了一组微分方程。它看起来很复杂,但这个唬人的玩意儿本质上和解“2+x=4”是一个道理,数学家的任务就是解出这个复杂方程里的S、I、R与时间t的关系函数。

SIR模型的数学方程 | 参考资料[5]

微分方程解出来的结果不一定能用数学式子来表示,一般来说我们更习惯用下面这样的图像表示SIR模型的传染趋势:横轴代表时间,纵轴代表群体的人数。你可以很直观的看到,I代表的感染者数量随时间迅速增长,S代表的易感者相应变少,最后的结果是大部分被“移除”了(可能是治愈或者是病死),不再存在感染者。

SIR模型给出的传播趋势 | 参考资料[5]

SIR模型非常简洁,计算得出的传染趋势也在印度鼠疫的实例中得到了一定程度的印证。然而SIR模型毕竟只是一个基础模型,它的缺陷也是非常明显的——许多传染病存在潜伏期,感染后可能在一段时间内,人体都没有异常症状,而把人群划分为三种类型,没有考虑群体内部的差异,比如感染者的潜伏期会因人而异;另外,部分感染者(包括疑似感染者)确诊后会被隔离,传染他人的概率比原先降低了很多。

考虑到这些因素,SIR模型衍生出了SEIR、C-SEIR等多个变种模型,从而能更为精确地描述传染病的传播趋势。一般来说,各种传染病都有对应的模型进行描述,比如说HIV病毒,一旦感染便终身带有传染性,类似于当初伯努利提出的SI模型;而像SARS和最近的新型冠状病毒,用SEIR模型来描述它们的传播会更准确一些。

SEIR模型图示 E代表 Exposed 潜伏者 | 参考资料[6]

数学建模的作用

说到底,我们为什么要想方设法找到准确的数学模型来描述传染病呢?最重要的一个原因是,我们希望以此定量评估可能的感染人数和感染速度,并且分析出更为有效的防疫治疫措施。

在家隔离,是大家近来最熟悉的防疫措施,怎样用数学模型证明隔离能有效控制疫情传播呢?不妨假设有一个1000人的群体,其中有一个人不幸感染病毒后开始传播。在COSMOL等仿真软件里输入SIR模型的数学方程,可以得到下图的结果:未感染病毒的人数(蓝色曲线)不断下降,疫情在第五天达到顶峰,感染者数量(绿色曲线)达到总人数将近一半。

无隔离措施下,SIR模型对病毒传播的模拟结果 | 参考资料[7]

然而,如果对80%的感染者采取隔离措施,也就是视为不再感染其他人的移除者(红色曲线),得到的疫情趋势图会发生很明显的变化——疫情在第六天达到顶峰,感染者的数量只会有不到200人,出现了大幅下降,这也就从数学角度证明了乖乖宅在家里对于控制传染病的重要性。[7]

对80%感染者采取隔离措施后,SIR模型得到模拟结果 | 参考资料[7]

数学模型也能对不同的疾病控制措施的效果进行评估。2013年埃博拉疫情在非洲爆发,英国开始对来自高风险国家的入境人员进行筛查。然而有团队在建立数学模型后发现,只有7%的埃博拉感染者可能在国家边境被发现,加上病毒潜伏期也比较长,病毒携带者初期可能并没有表现出任何症状,最有效的措施还是在病毒发源地对感染者(以及疑似感染者)进行隔离来遏制病毒传播。正是通过这样的方式,数学模型在遏制传染病传播起到了越来越重要的作用。

参考文献

[1]https://en.wikipedia.org/wiki/Mathematical_modelling_of_infectious_disease

[2]https://www.encyclopediaofmath.org/index.php/Bernoulli,_Daniel

[3]https://institutefordiseasemodeling.github.io/Documentation/general/model-si.html

[4]http://devingaffney.com/when-physicists-talk-about-cat-gifs/

[5]Luz P M , Struchiner C J , Galvani A P , et al. Modeling Transmission Dynamics and Control of Vector-Borne Neglected Tropical Diseases[J]. PLoS Neglected Tropical Diseases, 2010, 4(10):e761.

[6]Audrey M. Dorélien, Ballesteros S , Grenfell B T . Impact of Birth Seasonality on Dynamics of Acute Immunizing Infections in Sub-Saharan Africa[J]. PLOS ONE, 2013, 8.

[7]https://cn.comsol.com/blogs/analyze-the-spread-of-epidemic-diseases-with-simulation/

[8]http://news.sciencenet.cn/dz/dznews_photo.aspx?t=&id=34011

作者:矩阵星

编辑:李小葵

题图来源:参考资料[4]

本文来自果壳,未经授权不得转载.

如有需要请联系sns@guokr.com