近期,国内的疫情闹得沸沸扬扬,很多省市自治区都出现了流感的患者。回想起之前在学校的时候曾经研究过微分方程和动力系统,于是整理一下相关的数学模型,分享给各位读者。笔者并不是研究这个领域的专家,并且这篇文章只是从微分方程角度出发,分析方程的性质,不一定适用于真实环境,而且真实环境比这个也复杂得多。
关于传染病的数学模型,在许多年前数学界早已做过研究,根据传染病的传播速度不同,空间范围各异,传播途径多样,动力学机理等各种因素,对传染病模型按照传染病的类型划分为 SI,SIR,SIRS,SEIR 模型。如果是按照连续时间来划分,那么这些模型基本上可以划分为常微分方程(Ordinary Differential Equation),偏微分方程(Partial Differential Equation)等多种方程模型;如果是基于离散的时间来划分,那么就是所谓的差分方程(Difference Equation)。
在本文中,将会主要介绍常微分方程中的一些传染病数学模型。在介绍方程之前,首先要介绍一些常用的符号:在时间戳 上,可以定义以下几种人群:
其次,在时间戳 上,总人口是
。如果暂时不考虑人口增加和死亡的情况,那么
是一个恒定的常数值。
除此之外,
在进行下面的分析之前,先讲一个常微分方程的解。
Claim.假设
是关于 的一个方程,且满足
和
,那么它的解是:
.
Proof. 证明如下:
通过
可以得到
;令
,得到
。所以,
,两边积分可以得到
,其中
。求解之后得到:
。
在 SI 模型里面,只考虑了易感者和感染者,并且感染者不能够恢复,此类病症有 HIV 等;
SI Model
其微分方程就是:
初始条件就是
,
,并且
对于所有的
都成立。
于是,把
代入第二个微分方程可以得到:
。因此根据前面所提到的常微分方程的解可以得到:
.
这个就是所谓的逻辑回归函数,而在机器学习领域,最简单的逻辑回归函数就是
这个定义。而
只是做了一些坐标轴的平移和压缩而已。由于
,所以,
,从而
。
通过数值模拟可以进一步知道:
SI model 的数值模拟(一)
简单来看,在 SI 模型的假设下,全部人群到最后都会被感染。
除了 HIV 这种比较严重的病之外,还有很多小病是可以恢复并且反复感染的,例如日常的感冒,发烧等。在这种情况下,感染者就有一定的几率重新转化成易感者。如下图所示:
SIS model
其微分方程就是:
,其初始条件就是
,
.
使用同样的方法,把
代入第二个微分方程可以得到:
. 通过之前的 Claim 可以得到解为:
.
从而可以得到
且
. 这个方程同样也是逻辑回归方程,只是它的渐近线与之前的 SI 模型有所不同。
SIS model 的数值模拟(二)
有的时候,感染者在康复了之后,就有了抗体,于是后续就不再会获得此类病症,这种时候,考虑 SIS 模型就不合适了,需要考虑 SIR 模型。此类病症有麻疹,腮腺炎,风疹等。
SIR model
其微分方程是:
。其初始条件是
,并且
和
对于所有的
都成立。
对于这类方程,就不能够得到其解析解了,只能够从它的动力系统开始进行分析,得到解的信息。根据第一个微分方程可以得到:
,于是
是一个严格递减函数。同时,
对于所有的
都成立,于是存在
使得
.
通过第一个微分方程和第二个微分方程可以得到:
,因此对它两边积分得到
. 左侧等于
,上界是
,因此令
可以得到
. 而
且是连续可微函数,因此
。这意味着所有的感染人群都将康复。
由于
是严格单调递减函数,因此从第二个微分方程可以得到:当
时,感染人数
达到最大值。
SIR model 的数值模拟(一)
SIR model 的数值模拟(二)
在以上的 SI,SIS,SIR 模型中,还可以把死亡因素考虑进去。除此之外,还有 SIRS 模型,SEIR 模型等,在这里就不再做赘述。有兴趣的读者可以参阅相关的参考书籍。