sir模型初始值_COVID19 的数学模型(1):SI 模型

本文介绍了COVID19的SI数学模型,通过易感者(S)和感染者(I)的数量变化来预测疫情发展。利用常微分方程组描述模型,通过向前欧拉法求解数值解,并探讨了模型的局限性和实际应用,指出在SI模型中所有人最终都将感染,不符合实际情况。
摘要由CSDN通过智能技术生成

从今天起,我会定期写些关于 Coronavirus 的数学模型。读者最好有些微积分基础,会点简单的编程。不会也没有关系,会点四则运算(加减乘除)就可以试着去理解模型。强调一点,数学模型是对现实世界的抽象和简化。真实情况比数学模型复杂多了。

我们把人群分成两类:和,它们都是时间的函数。

  • 易感人数

  • 感染人数.

数学建模就是找出这些函数满足的方程,然后求解方程,从而预测以后的情况。

模型

记为总人口数。这个是已知的,而且是不变的。ODE 方程组是:

初始条件是,,满足。

这里用到的参数是感染率,代表感染人数占总人口的比例。

借用化学反应的表达式,可以简洁的把方程表示成:

解释

代表感染人数占总人口的比例,也代表遇到感染者的概率。比如说,,那你就有一半的概率碰到感染者。易感人群乘上这个比例就意味着有多少易感者接触到了生病的人。

但并不是碰到就感染了。有个传染的概率,这个就是。比如,就是说你(没生病的人)碰到了生病的人之后,被传染的可能性是十分之一。

感染人数增加的速度就等于。

这部分人增加到感染人群,自然就要从易感人群中减掉。这就是第一个关于的方程。

数值方法

最简单的是向前欧拉法。我们先回顾一下导数的定义

在向前欧拉法里,我们选定一个时间步长,把导数换成差商,代入原方程组。两边乘以,就得到了下面的方程组

我们来看一个简单的例子。取,这个可以代表一天,一个小时或是一个月,取决于具体情况下时间的单位。这里我们不妨就理解成一天,那么方程组可以写成

是易感人群数目,感染人数增加的数目是。明天的感染人数等于今天的人数加上新增的人数。同时易感人数要减掉这部分数目。

所以只需要简单的四则运算就能够理解这个模型。

从初始值开始, 根据差分方程我们能够计算第一天的,然后用第一天算第二天的,重复下去就能够计算以后所有时间的。

向前欧拉法主要的问题是稳定性。如果时间步长 太大,求出来的数值解就会偏离真实解,甚至有可能跑到无穷大。

关于 ODE的数值方法,可以参见本公众号之前的系列文章:

  • ODE 数值方法(1):方法简介

  • ODE 数值方法 (2) :截断误差和二阶方法

  • ODE 数值方法(3):截断误差分析

  • 数值积分公式的推广:龙格库塔法(一)

  • 龙格库塔法(二)

解析解

对于 SI 这个简单模型是可以把解显示地写出来的。首先把两个方程相加得到,所以。就是说人口总数保持不变。

从这个等式中可以解出,然后代入第二个方程,我们就得到了一个一阶常微分方程

用分离变量法可以求得

这个函数是一个标准的 logistic 函数。在机器学习里,也称之为 sigmoid 函数。

让时间跑向无穷,我们得到

这真是一个悲伤的结论:最终所有人都要感染

cbe441b78e6670916c5ceff379be4bc8.png
811d9cd29693487dfad79920a2395f5a.png

我们取, 对不同的传染率画了几个关于感染人数的图。第二张图是的导数的图。虽然最终都要感染,但不同的感染率,对应的峰值高度和峰值发生的时间是不同的。

这个和 flatten curve 相关,但还不是。在后面的 SIR 模型里,我们再来讲 flatten curve。

讨论

根据对称性,当时,的二阶导数等于0,求解,我们得到高峰时刻的表达式.

感染人数的一阶导数总是大于零的,就是说总是增加的,但是增加的速度(一个简单例子就是每日新增人数)是在变的,在时刻增长达到顶峰.

在后面要讨论的更复杂的模型里,这一点也差不多是对的。所以预测感染总人数的简单倍增规律是:当观察到日增人数(稳定)减少时,把日增人数高峰期的感染人数翻倍就得到总人数了。

注意一定要稳定减少时,因为统计误差,经常会出现一两天的回落,然后又涨回去了。要模拟这种涨落,需要用到随机微分方程。

感染的人可能会死掉。我们可以在关于的方程里加入一个损耗项,其中是死亡率。这样方程变为

习题  求解上述ODE方程组。

这个时候总人口就不是恒定的了。把两个方程加起来,我们得到

如果有感染人数,总人口将减少。如果最终所有人都要得病,那么还意味着,所有人都会得病死去。

是这样吗?

建议大家试着去求解这个方程组(解析或者数值都行),看看情况是怎么样的。

提示: 对不同的参数和分别进行讨论。

在 SI 模型里面,所有人都会得病。这看起来有点太悲惨了,也不大可能发生。

问题在哪?

问题之一:得了病的人还可以恢复。所以光有这两部分还是不够的,在下一节里,我们将讨论 SIR 模型,多引入一个函数

也有些病是无法痊愈的,比如艾滋病 ( AIDS )。那么 SI 模型适合吗?我们这个社会是存在艾滋病毒携带者的,如果用 SI 模型的话,那么意味着我们都将患上艾滋?

很显然,这是不可能的。

问题之二:在 ODE 模型里,我们假设每个人都会遇到其他人,还假设这种传染病是接触传染的。

这个假设对艾滋病是不对的。

要更精确地描述这种连接性,我们需要引入图论和网络,定义人与人之间的连接性。很显然对艾滋病而言,不是所有人都连接在一起的。

下一节里我们将讨论 SIR 模型,并解释说明什么是 flatten curve。

本文作者 Irvinechenlong,经授权转载自公众号“CAM传习录”。

d6c637a2532c2bafdf20cf53adea9b49.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值