传染病传播的数学模型
很多医学工作者试图从医学的不同角度来解释传染病传播时的一种现象,这种现象就是在某一民族或地区,某种传染病传播时,每次所涉及的人数大体上是一常数。结果都不能令人满意,后来由于数学工作者的参与,用建立数学模型来对这一现象进行模拟和论证,得到了较满意的解答。
一种疾病的传播过程是一种非常复杂的过程,它受很多社会因素的制约和影响,如传染病人的多少,易受传染者的多少,传染率的大小,排除率的大小,人口的出生和死亡,还有人员的迁入和迁出,潜伏期的长短,预防疾病的宣传以及人的个体差异等。如何建立一个与实际比较吻合的数学模型,开始显然不能将所有因素都考虑进去。为此,必须从诸多因素中,抓住主要因素,去掉次要因素。先把问题简化,建立相应的数学模型。将所得结果与实际比较,找出问题,修改原有假设,再建立一个与实际比较吻合的模型。从而使模型逐步完善。下面是一个由简单到复杂的建模过程,很有代表性,读者应从中体会这一建模过程的方法和思路。
一.最简单的模型
假设:(1)
每个病人在单位时间内传染的人数是常数k;(2)
一个人得病后经久不愈,并在传染期内不会死亡。
以i(t)表示t时刻的病人数,表示每个病人单位时间内传染的人数,i(0)=
表示最初时有个传染病人,则在时间内增加的病人数为
两边除以,并令→0得微分方程
…………
(2.1)
其解为
这表明传染病的转播是按指数函数增加的。这结果与传染病传播初期比较吻合,传染病传播初期,传播很快,被传染人数按指数函数增长。但由(2.1)的解可知,当t→∞时,i(t)→∞,这显然不符合实际情况。最多所有的人都传染上就是了。那么问题在那里呢?问题是就出在于两条假设对时间较长时不合理。特别是假设(1),每个病人单位时间内传染的人数是常数与实际情况不符。因为随着时间的推移,病人越来越多,而未被传染的人数却越来越少,因而不同时期的传播情况是不同的。为了与实际情况较吻合,我们在原有的基础上修改假设建立新的模型。
二.模型的修改
将人群分成两类:一类为传染病人,另一类为未被传染的人,分别用i(t)和s(t)表示t时刻这两类人的人数。i
(0)=。
假设:(1)
每个病人单位时间内传染的人数与这时未被传染的人数成正比。即;
(2)
一人得病后,经久不愈,并在传染期内不会死亡。
由以上假设可得微分方程
…………
(2.2)
这是变量分离方程,用分离变量法可求得其解为
…………
(2.3)
其图形如下图2-1所示
模型
(2.2)
可以用来预报传染较快的疾病前期传染病高峰到来的时询。
医学上称为传染病曲线,它表示传染病人的增加率与时间的关系,如图2-2所示。
由
(2.3)式可得
…………
(2.4)
再求二阶导数,并令,可解得极大点为
…………
(2.5)
从
(2.5)
式可以看出,当传染病强度k或人口总数n增加时,都将变小,即传染病高峰来得快。这与实际情况吻合。同时,如果知道了传染率k(k由统计数据得到),即可预报传染病高峰到来的时间,这对于预防传染病是有益处的。
模型
(2.2)的缺点是:当t→∞时,由(2.3)式可知i(t)→n,即最后人人都要得病。这显然与实袜情况不符。造成这个结果的原因是假设
(2)
中假设一人得病后经久不愈,也不会死亡。
为了得到与实际情况更吻合的模型,必须修改假设
(2)
。实际上不是每个人得病后都会传染别人,因为其中一部份会被隔离,还有由于医治和人的身抵抗力会痊愈,有的人会死亡从而也就不再会传染给别人了。因此必须对模型作进一步的修改,建立新的模型。
三.模型的进一步完善
从上面的分析我们看到模型
(2.2)的假设
(2)
是不合理的。即不可能一人得病后会经久不愈,必有一部份人因医治或自身的免疫力,或是被隔离,或是死去而成为不会再继续传染给别人的第三类人。因此我们把人群分成三类:
第一类由能够把疾病传染给别人的那些传染者组成的。用
I(t)
表示
t
时刻第一类人数。
第二类是由并非传染者但能够得病而成为传染者的那些人组成的,用
S(t)
表示
t
时刻第二类人数。
第三类包括患病后死去的人,病愈后具有长期免疫力的人,以及在得病后被隔离起来的人。用R(t)
表示
t
时刻第三类人数。
假设疾病传染服从下列法则:
(1)
在所考虑的时期内人口总数保持在固定水平N,即不考虑出生及其他原因引起的死亡,以及人口的迁入迁出的情况。
(2)
易受传染者人数S(t)的变化率正比于第一类的人数I(t)与第二类人粉S(t)的乘积。
(3)
由第一类向第三类转变的速度与第一类的人数成正比。
在这三条假设情况下可得如下微分方程:
…………
(2.6)
其中r、λ为比例常数,r为传染率,λ为排除率。
由方程(2.6)的三个方程相加得
则
故
因此只要求出
S(t)、I(t)
即可求出
R(t)。
方程组
(2.6)的第一个和第二个方程与
R(t)
无关。因此,由
…………
(2.7)
得
…………
(2.8)
积分得
由初始条件:当
并记
代入上式可确定常数
最后得
…………
(2.9)
下面我们讨论积分曲线
(2.9)的性质,由(2.8)知
所以当S<ρ时,I(S)
是S的增函数,S>ρ时,I(S)
是S的减函数。
又有I(0)=-∞,由连续函数的中间值定理及单调性知,存在唯一点,使得,而当
时,I(S)>0。
由
(2.7)
知I=0时,所以为方程组
(2.7)的平衡点。
当
时,方程(2.9)的的图形如图2-3。当t由变到
∞
时,点(S(t),I(t))沿曲线
(2.9)
移动,并沿S减少的方向移动,因为
S(t)
随时间的增加而单调减少。因此,如果小于ρ,则
I(t)
单调减少到零,S(t)
单调减少到。所以,如果为数不多的一群传染者分散在居民中,且,则这种病会很快被消灭。
如果,则随着
S(t)
减少到ρ时,I(t)
增加,且当S=ρ时,I(t)
达到最大值。当S(t)<ρ
时
I(t)
才开始减少。
由上分析可以得出如不结论:
只有当居民中的易受传染者的人数超过阈值
时传染病才会蔓延。
用一般常识来检验上面的结论也是符合的。当人口拥挤,密度高,缺少应有的科学文化知识,缺乏必要的医疗条件,隔离不良而排除率低时,传染病会很快蔓延;反之,人口密度低,社会条件好,有良好的医疗条件和较好的管理而排除率高时,则传染病在有限范围内出现会很快被消灭。
传染病学中的阈值定理
设,且假设同1相比是小量。并设最初传染者人数很小,则最终患病人数为2r。即是易受传染者的人数最初比阈值高多少,那么最终就会比阈值低多少。这就是有名的传染病阈值定理。生物数学家Kermack和Mekendrick在1927年首先证明了这个定理(证明从略)
根据阈值定理就可以由起初易受传染者的人数来估计最终患病的人数。这定理解释了研究人员长期以来难以解释的为什么对于某一民族或地区,某种传染病传播时,每次所涉及的人数大体上是一常数的现象。
在传染病发生的过程中,不可能准确地调查每一天或每一星期的得病人数。因为只有那些来医院就医者才能被人知道他们得了病,并把他们隔离起来防止传染。因此,统计的记录是每一天或星期新排除者的人数,而不是新得病的人数。所以,为了把数学模型所预示的结果同疾病的实际情况进行比较,必须解出(2.6)中的第三个方程。
因为
所以
从而有
…………
(2.10)
方程
(2.10)
虽是可分离变量的方程,但是不能用显式求解,如果传染病不严重,则R/ρ是小量,取泰勒级数前三项有
从而
其解
其中
因此
…………
(2.11)
方程
(2.11)
在平面上定义了一条对称钟形曲线,称为疾病传染曲线。疾病传染曲线很好地说明了实际发生的传染病的情况:每天报告的新病案的数目逐渐上升到峰值,然后又减少下来。
Kermak和Mekendrick把
(2.11)
得到的值,同取自1905年下半年至1906年上半年在印度孟买发生的瘟疫资料进行比较,他们假设
其中t按星期计,在图2-4中的实际数字(图中用“.”表示)同理论曲线非常一致。这就表明模型(2.6)是在固定居民中传染病传播的准确而可靠的数学模型。对于传染病传播的数学模型还有人用随机模型,这不是本章的内容,读者可参看有关的其他资料。本节所介绍的传染病传播的数学模型的建模方法,是实际数学建模步骤和方法的典型例子。在实际建模过程中往往都是从简单的开始得出数学模型,再和实际比较逐步修改假设和模型,最终达到完善的地步。这是值得大家仿效和学习的。