流行病的简单数学
关于“疾病的数学”,自然是一个会涉及大量数据的话题。尽管目前科学家们已经完成了一些纯理论上的工作,但该研究领域的关键问题是要能够建立起数学模型和数据之间的关系。医生的病例报告为我们提供了最详细的生物学数据来源之一,我们利用计算机和网络可以很方便地查到某些国家和地区几十年来许多种疾病的病例数。和疾病有关的数据往往还涉及一些具有社会影响的特性,例如出生率、性别比和死亡率的变化等。因此,要想全面了解疾病的动态,就需要用到各种各样的数学工具,从模型创建到求解微分方程,再到统计分析。
几乎所有关于疾病的数学模型都基于相同的基本前提:可以将人群按照若干特征分为不同的组,具体取决于我们对疾病的了解程度。在此类模型中,最简单的模型是将个体分为易感者(susceptible)、感染者(infectious)和康复者(recovered)三大类,取首字母将这类模型称为“SIR模型”。对一个个体而言,其在出生后被认为是“易感者”,易感者人群从未接触过某种疾病,并且能够感染该疾病;一旦患病,便成了“感染者”,具有传染性的个体感染者会将疾病传播给易感者人群,并在成为“康复者”之前在“感染者”阶段停留一段时间(称为“传染期”)。还有一点需要注意的是,在SIR模型中,假定康复的个体可以终生免疫这种疾病。
通过为每个类别(易感者、感染者和康复者)中个体的数量比例确定一个微分方程,我们可以使对这一感染过程的描述更加数学化(具体的方程见下图)。对SIR疾病数学模型的计算机模拟与纯数学理论计算结果非常吻合,因此可以预测患病人数逐渐减少阶段的反弹和振荡情况(其曲线特征与在弹簧中观察到的阻尼振荡情况有些类似)。因此,尽管SIR模型表明在最初阶段会以一定的间隔定期发生大流行,但最终感染者人数会稳定在一个恒定值上下。
上图就是描述易感者、感染者和康复者三个类别中人数比例的数学微分方程。式中,B表示出生率,等号右侧的d表示死亡率,g表示康复率,β表示传染率,t表示时间,S表示易感者人数,I表示感染者人数,R表示康复者人数,R0见下文。在大多数模型中,假定人群的出生率和死亡率相同,因此人口总数保持恒定。下图是SIR模型的“阻尼振荡”曲线:
图中,横轴表示时间,纵轴表示感染者的比例。
对于简单的SIR疾病数学模型,科学家们已经证明了许多有趣且有用的结果,但在探索这一丰富的主题领域之前,我们需要进一步了解一下其他的流行病学数学表示法。就疾病的传播而言,有一个参数是非常重要的,而且该参数还与疾病流行的长期行为和根除疾病所必需的疫苗接种水平有关,这个参数被称为“基本传染数”,用R0表示。流行病学家们将R0定义为“在完全易感人群中,由感染性个体引起的平均继发病例数”。也就是说,R0这个参数能告诉我们某种疾病在一代人中的初始增长率:当R0大于1时,这种疾病可以感染完全易感的人群,病例数将增加;而当R0小于1时,这种疾病将始终无法传播开来。因此,参数R0以最简单的形式告诉了我们某个人群是否有罹患某种特定疾病的风险。几种知名疾病的R0如下表所示:
疾病名称 |
R0 |
艾滋病 |
2~5 |
天花 |
3~5 |
麻疹 |
16~18 |
疟疾 |
>100 |
在上表中,第三行的麻疹在儿童中较为常见,患儿的肺泡可因麻疹病毒的感染而出现透明膜,阻断肺泡内的气体交换,导致呼吸衰竭。下图是患病儿童肺部的组织学切片在光学显微镜下的表现(尸检):
前面提到,对SIR疾病数学模型的计算机模拟与纯数学理论计算结果是非常吻合的,下面就是腺鼠疫(也称“腹股沟淋巴结鼠疫”)和麻疹的SIR模型曲线与实际流行情况曲线之间的比较,可见二者非常契合:
上图:英国布里斯托尔市每周的麻疹患者数,横坐标为年份,纵坐标为患病人数,蓝线为实际人数,红线为理论模拟结果。
上图:澳大利亚悉尼市1900年发生腺鼠疫疫情时的情况,横坐标为1~8月,纵坐标为每天的患者数,蓝线为实际人数,红线为理论模拟结果。
参数R0的第二个用途是查看某次疫情爆发的情况。我们假设,一种新型流感病毒在完全易感的人群中传播开来了,简单的直觉告诉我们,这种疾病将在整个人群中迅速传播,并在很短的时间内感染大部分人口。如果我们认为这种疾病不会致命且传播到整个人群的时间很短,因此完全可以忽略总人口中的出生和死亡情况,而只关注疾病的传播动力学。对于这类短期流行病而言,最初的病例数呈指数增长,我们设感染者人数为时间t的函数I(t),那么存在这样的关系式:
然而,随着越来越多的人成为康复者,并且易感者越来越少,这种疾病的传播也将变得越来越“困难”,最终导致病例数的下降。由于出现了这种下降,因此并非所有的人都会在这种疾病消失之前受到感染。通过研究SIR模型的长期行为,1927年,科学家克马克(Kermack)和麦肯德里克(McKendrick)共同提出了一个传染病模型,该模型可以预测人群中能够免受疾病感染的个体的比例。我们设这一比例为S∞,则其有如下的关系式:
尽管对这一关系式的研究还有待深入,但通过图表法,即在同一张图表中绘出S∞和exp([1-S∞]R0)两条曲线,并比较两条曲线的交点,我们可以清楚地看出,随着R0的增加,免受疾病感染的人数比例S∞减少。通过数字计算可知,当R0=2时,S∞的值大约为20%;而当R0=5时,S∞的值大约仅为0.7%。因此,R0的值增加会严重影响疾病爆发时免受感染的个体的比例。
上图:用图表的方法“计算”能够免遭疾病感染的人数的百分比。
最后,如果我们希望对某种地方性的流行病建模,即这种疾病在人群中无限期地存在,那么我们的SIR模型中还必须包括出生率,以“补充”易感人群的人数。在这种情况下,该疾病的长期行为可以再次与参数R0建立相关性:一旦“振荡”消失,人群中易感者的比例S*将长期保持在以下水平:
因此,在人群中,某种疾病传播得越快,即R0越大,其易感个体越少。有趣的是,疾病的长期感染人数水平I*并不取决于参数R0,而是取决于出生率和传染期。
接种疫苗是为了减少易感者的比例,直到让疾病无法继续流行下去。就长期人群中易感者的比例S*而言,每个感染个体平均会再引起1例继发病例(如果感染个体引起的病例数多于或少于1个,那么感染水平将上升或下降,因此疾病的流行情况将无法保持稳定)。也就是说,如果我们可以进一步减少易感者的数量,那么疾病的传播就会更加困难,我们就可以开始着手彻底消灭这种疾病。因此,彻底根除某种疾病所需的疫苗接种阈值比例VT为:
现在我们就可以清楚地知道,为什么接种疫苗使我们彻底根除了天花这种疾病(其R0的值约为4,接种比例约为75%),而尽管进行了大规模的疫苗接种,很多国家仍然有麻疹流行(其R0的值约为17,接种比例约为94%),以及为什么很难控制疟疾(其R0的值超过100,接种比例近乎100%)。更重要的是,通过上面的公式我们意识到,不需要为了根除某种疾病而对所有的人进行疫苗接种——只要有人接种了疫苗,其所在社区周围的人感染疾病的风险一样会降低。因此,接种疫苗不仅可以保护个人,而且可以为其所在的整个社区提供一定的保护。
进入21世纪后,在英国曾爆发了口蹄疫疫情并发生了蔓延,这也为用数学建模的方法研究疾病的人员提供了将前述相关理论付诸实践的机会。
上图:英国人将染病的疫畜焚化,以控制口蹄疫的传播。
口蹄疫是一种能感染牛、猪、绵羊和一些其他牲畜的疾病,幸运的是,这种疾病不会感染人类。这种疾病在非洲和亚洲地区曾相当常见,但距上一次在英国国内大爆发已经有三十多年了。口蹄疫的传播非常迅速,可以通过农场内部或在市场上的密切接触传播,也可以通过空气传播更远的距离。在牛和猪中,这种疾病会引发灾难性的后果,因此对这种疾病的传播进行数学建模并加深了解对经济建设非常重要。
上图:计算机生成的口蹄疫病毒的图像。
口蹄疫这种疾病也可以通过简单的SIR模型来描述。不过,由于其在农场中的传播速度非常迅速,因此大多数模型将整个农场作为研究单位,将农场分为易感性、感染性和康复性三类。这些以农场为单位的模型的R0的值约为50。控制口蹄疫的传播是很困难的,因为需要采取非常严格的措施来克服其巨大的R0值。疫苗接种也不是太有用,因为疫苗只能提供部分保护,并且必须每4~6个月就重复接种一次。相反,人们更多地希望通过焚化所有感染的动物并限制牲畜的活动,以此来充分减少农场之间的传播,借此消灭这种疾病。
前面概述的理论只是揭示了用数学建模的方法研究流行病的传播和持久性的一点皮毛而已。很多对疾病的研究已经成功地应用了数学理论,因为大多数疾病都符合简单数学模型背后的假设。不过,为了开展进一步的研究(如目前的新冠病毒肺炎疫情),对SIR一类的模型需要引入一些复杂性因素,这可以使模型能够更好地表现疾病流行的动力学特征,并回答更多的应用问题。以下是若干已在实践中成功地应用SIR疾病模型时加入其他因素的例子:
(1)麻疹或水痘等许多疾病,其主要是儿科疾病。通过将人群进一步细分为不同的年龄段,研究人员已经能够更详细地了解疾病的年龄结构传播。
(2)对于此类儿童时期的传染性疾病,在上学期间会有更大的人群混杂(接触率更高)。当疾病在高接触和低接触状态(例如上学和放假)之间“振荡”时,会导致其出现周期性的流行或更复杂的动态。
(3)在模拟艾滋病病毒的传播情况时,至关重要的一点是按照性取向和毒品使用情况来细分人群。
(4)对于某些疾病而言,其他一些生物体也参与了传播。例如,蚊子对疟疾的传播是必不可少的,大多数腺鼠疫是由老鼠和跳蚤共同传播的。对于此类疾病,我们需要将人类的SIR模型与其他生物的SIR模型相耦合。
—版权声明—
来源:李昭辉,编辑:nhyilin
仅用于学术分享,版权属于原作者。
若有侵权,请联系微信号:Eternalhui或nhyilin删除或修改!
文章推荐