从今天起,我会定期写些关于 Coronavirus 的数学模型。读者最好有些微积分基础,会点简单的编程。不会也没有关系,会点四则运算(加减乘除)就可以试着去理解模型。强调一点,数学模型是对现实世界的抽象和简化。真实情况比数学模型复杂多了。
我们把人群分成两类:和,它们都是时间的函数。
- 易感人数
- 感染人数.
数学建模就是找出这些函数满足的方程,然后求解方程,从而预测以后的情况。
模型
记为总人口数。这个是已知的,而且是不变的。ODE 方程组是:
初始条件是,,满足。
这里用到的参数是感染率,代表感染人数占总人口的比例。
借用化学反应的表达式,可以简洁的把方程表示成:
解释
代表感染人数占总人口的比例,也代表遇到感染者的概率。比如说,,那你就有一半的概率碰到感染者。易感人群乘上这个比例就意味着有多少易感者接触到了生病的人。
但并不是碰到就感染了。有个传染的概率,这个就是。比如,就是说你(没生病的人)碰到了生病的人之后,被传染的可能性是十分之一。
感染人数增加的速度就等于。
这部分人增加到感染人群,自然就要从易感人群中减掉。这就是第一个关于的方程。
数值方法
最简单的是向前欧拉法。我们先回顾一下导数的定义
在向前欧拉法里,我们选定一个时间步长,把导数换成差商,代入原方程组。两边乘以,就得到了下面的方程组
我们来看一个简单的例子。取,这个可以代表一天,一个小时或是一个月,取决于具体情况下时间的单位。这里我们不妨就理解成一天,那么方程组可以写成
是易感人群数目,感染人数增加的数目是。明天的感染人数等于今天的人数加上新增的人数。同时易感人数要减掉这部分数目。
所以只需要简单的四则运算就能够理解这个模型。
从初始值开始, 根据差分方程我们能够计算第一天的,然后用第一天算第二天的,重复下去就能够计算以后所有时间的。
向前欧拉法主要的问题是稳定性。如果时间步长 太大,求出来的数值解就会偏离真实解,甚至有可能跑到无穷大。
关于 ODE的数值方法,可以参见本公众号之前的系列文章:
- ODE 数值方法(1):方法简介
- ODE 数值方法 (2) :截断误差和二阶方法
- ODE 数值方法(3):截断误差分析
- 数值积分公式的推广:龙格库塔法(一)
- 龙格库塔法(二)
解析解
对于 SI 这个简单模型是可以把解显示地写出来的。首先把两个方程相加得到,所以。就是说人口总数保持不变。
从这个等式中可以解出,然后代入第二个方程,我们就得到了一个一阶常微分方程
用分离变量法可以求得
这个函数是一个标准的 logistic 函数。在机器学习里,也称之为 sigmoid 函数。
让时间跑向无穷,我们得到
这真是一个悲伤的结论:最终所有人都要感染。
我们取, 对不同的传染率画了几个关于感染人数的图。第二张图是的导数的图。虽然最终都要感染,但不同的感染率,对应的峰值高度和峰值发生的时间是不同的。
这个和 flatten curve 相关,但还不是。在后面的 SIR 模型里,我们再来讲 flatten curve。
讨论
根据对称性,当时,的二阶导数等于0,求解,我们得到高峰时刻的表达式.
感染人数的一阶导数总是大于零的,就是说总是增加的,但是增加的速度(一个简单例子就是每日新增人数)是在变的,在时刻增长达到顶峰.
在后面要讨论的更复杂的模型里,这一点也差不多是对的。所以预测感染总人数的简单倍增规律是:当观察到日增人数(稳定)减少时,把日增人数高峰期的感染人数翻倍就得到总人数了。
注意一定要稳定减少时,因为统计误差,经常会出现一两天的回落,然后又涨回去了。要模拟这种涨落,需要用到随机微分方程。
感染的人可能会死掉。我们可以在关于的方程里加入一个损耗项,其中是死亡率。这样方程变为
习题 求解上述ODE方程组。
这个时候总人口就不是恒定的了。把两个方程加起来,我们得到
如果有感染人数,总人口将减少。如果最终所有人都要得病,那么还意味着,所有人都会得病死去。
是这样吗?
建议大家试着去求解这个方程组(解析或者数值都行),看看情况是怎么样的。
提示: 对不同的参数和分别进行讨论。
在 SI 模型里面,所有人都会得病。这看起来有点太悲惨了,也不大可能发生。
问题在哪?
问题之一:得了病的人还可以恢复。所以光有这两部分还是不够的,在下一节里,我们将讨论 SIR 模型,多引入一个函数
也有些病是无法痊愈的,比如艾滋病 ( AIDS )。那么 SI 模型适合吗?我们这个社会是存在艾滋病毒携带者的,如果用 SI 模型的话,那么意味着我们都将患上艾滋?
很显然,这是不可能的。
问题之二:在 ODE 模型里,我们假设每个人都会遇到其他人,还假设这种传染病是接触传染的。
这个假设对艾滋病是不对的。
要更精确地描述这种连接性,我们需要引入图论和网络,定义人与人之间的连接性。很显然对艾滋病而言,不是所有人都连接在一起的。
下一节里我们将讨论 SIR 模型,并解释说明什么是 flatten curve。
本文作者 Irvinechenlong,经授权转载自公众号“CAM传习录”。