【Python数学建模】SEIR传染病模型模型延伸-SEIDR模型(二),加入外部输入等因素的影响,延伸模型

写在前面:

上一篇文章链接为【Python数学建模】SEIR传染病模型模型延伸-SEIDR模型,加入疫苗影响、政府管控、病毒变异等因素的影响_moyuweiqing的博客-CSDN博客_seir模型数学建模

需要源代码的小伙伴可以移步到我的GitHub仓库https://github.com/moyuweiqing/SEIR-Model-extension 中进行获取,如果觉得我的文章或代码帮助到你的话,不妨在文章或GitHub代码中给我点个赞,谢谢大家!


目录

六. 模型延伸——影响因素4:外部输入

七. 模型延伸——感染者人群区分

写在后面


六. 模型延伸——影响因素4:外部输入

外部输入为我国疫情防控期间的主要工作之一,外部输入带来的直接为患病者(Infectious)或潜伏者(Exposed)的数量的增加。

在模型中,由于模型的前提假定为固定人数,模型在整个时期内的总人数保持不变,即ds/dt + de/dt + di/dt + dd/dt + dr/dt = 0。但外部输入在实际情况中,会改变内部总人数,因此在模型中不考虑模型总人数的变化,在模型总人数远大于患病者的情况下,将外部输入带来的患病者从易感人群中进行转入。此时,其微分公式如下:

r2 = r * rand

dS / dt = -r2\beta (I + E) S / N

dE / dt = r2\beta (I + E) S /N - \alpha E

dI/dt = \alpha E - \gamma I - \delta I

dD/dt = \delta I

dR/dt = \gamma I

其中,r2受随机数系数rand的影响,设定外部输入的情况为随机函数,若满足设定的随机数区间内时,此时r2为某一整数值(>1),且后面每日数值呈递减趋势,若不满足设定的随机数区间时,rand为1,此时r2仅由设定的r所决定。

模型的效果图如下:

【Python数学建模】SEIR传染病模型模型延伸-SEIDR模型(二),加入外部输入等因素的影响,延伸模型_第1张图片

 图7 SEIDR_W模型 


七. 模型延伸——感染者人群区分

SEIDR模型可以对各部分的客户进一步区分,其中对感染者进行区分,可以简单区分为一般患者和重症患者,对于一般患者和重症患者,会有不同的死亡率和康复率。

此时将感染者进一步区分为一般患者i1和重症患者i2,其死亡率为delta1和delta2,潜伏期患者转化为一般患者和重症患者的转化率为alpha1和alpha2,治愈率分别为gamma1和gamma2。那么,暴露者(Exposed)每日的流失人数将会流向感染者的一般患者形式和感染者的重症患者形式,死亡人数和治愈人数也将会由这两部分的人数组成。

其微分公式如下:

 dS/dt = -r\beta (I+E) S / N

dE/dt = r\beta (I + E)S / N - \alpha E

dI / dt = \sum (\alpha E_{i} - \gamma _{i}I_{i} - \delta _{i}I_{i}), i\epsilon (1,2)

dD / dt = \sum \delta_{i} I_{i}, i\epsilon (1, 2)

dR / dt = \sum \gamma _{i}I_{i}, i\epsilon (1, 2)

python的模型微分代码如下:

ds_dt = - lamda * beta * s * (i + e) / n
de_dt = lamda * beta * s * (i + e) / n - alpha1 * e - alpha2 * e
di1_dt = alpha1 * e - gamma1 * i1 - delta1 * i1
di2_dt = alpha2 * e - gamma2 * i2 - delta2 * i2
dd_dt = delta1 * i1 + delta2 * i2
dr_dt = gamma1 * i1 + gamma2 * i2

在这里,设定一般患者的感染率α1为0.04,治愈率γ1为0.1,死亡率δ1为0.01;重症患者的感染率α1为0.01,治愈率γ1为0.02,死亡率δ1为0.1。此时,模型的效果图如下:

【Python数学建模】SEIR传染病模型模型延伸-SEIDR模型(二),加入外部输入等因素的影响,延伸模型_第2张图片

图8 SEI2DR模型 


写在后面

该模型其实有很多种情况的变化,但对于最基本的SEIR和SEIDR模型而言,其所有的变化其实都是在潜伏者转感染者α、易感者转潜伏者β、治愈率γ、死亡率δ、单位时间内受易感人群数量r这几个变量的影响,所以,在考虑一个封闭环境(即无人数迁入迁出、总人数不变)的情况下,其延伸效果不外乎在这几个变量里面进行变化。

另外,若进一步延伸,可以有以下几个方向,供大家进行参考:

1. 延伸为开放式模型,即考虑人数迁入迁出,此时模型里面各个人群对时间的一阶偏导数之和不为零,发生了总人数的变化。

2. 延伸为经济模型,在传染病模型的基础上,加入经济影响因素,对于各个人群,其治疗费用情况有所不同,加入经济影响因素可以进一步分析治疗成本情况。

你可能感兴趣的:(python,算法,语言模型,pycharm)