目录

一. SEIR传染病模型

二. SEIR模型的延伸——SEIDR模型

三. 模型延伸——影响因素1:疫苗接种

四. 模型延伸——影响因素2:政府管控

五. 模型延伸——影响因素3:病毒变异


写在前面:

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


一. SEIR传染病模型

SEIR传染病模型是一个在数据建模中常见的基础模型,其中分为以下四类人群:

S (Susceptible),易感者,指缺乏免疫能力健康人,与感染者接触后容易受到感染;

E (Exposed),暴露者/潜伏者 ,指接触过感染者,在还未发病或发生症状的人,可用于存在潜伏期的传染病;暴露者可以有传染性,具体取决于模型和传染病本身情况;

I (Infectious),患病者,指有传染性的病人,可以传播给 S,将其变为 E 或 I ;

R (Recovered),康复者,指病愈后具有免疫力的人;康复者可以终身免疫,或者是受到二次感染。

 图1 SEIR模型人群转化图

其基本公式如下:

此模型无解析解,给定指定的参数可求数值解。

图2 SEIR模型


二. SEIR模型的延伸——SEIDR模型

在这里,假定患病者(Infectious)在患病期间有概率康复或死亡,设定死亡率为;则在患病期间,患者可以转化为康复者(Recovered)和死亡者(Dead),则延伸为SEIDR模型,其微分公式如下:

此时,日死亡率为,日治愈率为,该传染病的致死率为  。例如,日死亡率=0.02,日治愈率为=0.10,该传染病的致死率为 = 0.02 / ( 0.02 + 0.10 ) * 100% = 16.7%

python的模型微分代码如下:

ds_dt = - lamda * beta * s * (i + e) / n
de_dt = lamda * beta * s * (i + e) / n - alpha * e
di_dt = alpha * e - gamma * i - delta * i
dd_dt = delta * i
dr_dt = gamma * i

此时,模型的效果图如下:

图3 SEIDR模型 


三. 模型延伸——影响因素1:疫苗接种

引入疫苗(vaccine)的接种影响因素,接种疫苗可以直接反映在SEIDR中的感染率、死亡率、康复率,影响传染病的致死率  数值情况。具体的影响可以基本分为以下四种情况作进一步讨论:

  1. 一剂疫苗,在传染病发生时期即存在疫苗,在传染病爆发的同时开始接种疫苗。
  2. 一剂疫苗,传染病发生时并无疫苗,疫苗相对于传染病传播具有延迟性,在传染病开始爆发T日后开始接种疫苗。
  3. 二剂疫苗,在传染病发生时期即存在疫苗,在传染病爆发的同时开始接种第一剂疫苗;在两针疫苗的间隔期后开始接种第二剂疫苗。
  4. 二剂疫苗,传染病发生时并无疫苗,疫苗相对于传染病传播具有延迟性,在传染病开始爆发T日后开始接种第一剂疫苗;在两针疫苗的间隔期后开始接种第二剂疫苗。

引入该变量后,模型的基本微分公式如下:

其中,是对应的是未接种疫苗、接种一剂疫苗和接种两剂疫苗的情况,分别是不同疫苗接种情况的易感人群、潜伏者和感染者,分别对应不同疫苗接种情况下各个人群的患病率、康复率、死亡率。表示一剂疫苗的日接种率和二剂疫苗的日接种率。

具体的一个样例如下:

ds0_dt = - lamda * beta0 * s0 * i_e / n - v1 * s0
ds1_dt = - lamda * beta1 * s1 * i_e / n + v1 * s0 - v2 * s1
ds2_dt = - lamda * beta2 * s2 * i_e / n + v2 * s1
de0_dt = lamda * beta0 * s0 * i_e / n - alpha * e0
de1_dt = lamda * beta1 * s1 * i_e / n - alpha * e1
de2_dt = lamda * beta2 * s2 * i_e / n - alpha * e2
di0_dt = alpha * e0 - gamma0 * i0 - delta0 * i0
di1_dt = alpha * e1 - gamma1 * i1 - delta1 * i1
di2_dt = alpha * e2 - gamma2 * i2 - delta2 * i2
dd0_dt = delta0 * i0
dd1_dt = delta1 * i1
dd2_dt = delta2 * i2
dr_dt = gamma0 * i0 + gamma1 * i1 + gamma2 * i2

此时,模型的效果图如下:

图4 SEIDR_V2t模型


四. 模型延伸——影响因素2:政府管控

在传染病影响情况较为严重的情况下,政府会进行管控,政府通过不同的手段和措施进行管控,其不同的手段和措施会影响某一些参数。例如,如果政府通过采取措施限制人员接触,其在模型中会直接影响到单位时间内受感染者接触的易感人群数量,在政府采取限制人员接触的措施后,的数值会降低。

具体案例如下:

if t < 30:         # 从第30天开始限制人员接触r = 5
else:r = 2

此时,模型的效果图如下:

图5 SEIDR_G模型 


五. 模型延伸——影响因素3:病毒变异

考虑病毒变异的影响,在传染病的传播过程中,病毒会发生变异,使得其传染性和致死率会发生变化。例如在本次Covid-19的疫情影响中,从最开始的毒株,后面变异到传染性更强的德尔塔毒株,以及后面的奥密克戎毒株,其传染性逐渐变强,而其致死率反而逐渐降低。因此,在时间维度上引入病毒变异的情况,其在模型中会直接影响到感染率和致死率

具体案例如下:

if t >= 30 and t <= 60:                 # 从第30天开始病毒发生变异beta = beta * 1.2                   # 传染性增强delta = delta * 0.8                 # 致死性降低
elif t > 60:                            # 第二次变异beta = beta * 1.5                   # 传染性进一步增强delta = delta * 0.5                 # 致死性进一步降低

此时,模型的效果图如下:

图6 SEIDR_C模型 

后续文章:

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

【Python数学建模】SEIR传染病模型模型延伸-SEIDR模型(一),加入疫苗接种、政府管控、病毒变异等因素的影响相关推荐

  1. Python小白的数学建模课-B3. 新冠疫情 SIS模型

    传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. SIS 模型型将人群分为 S 类和 I 类,考虑患病者可以治愈而变成易感者,但不考虑免疫期. 本文 ...

  2. Python小白的数学建模课-B2. 新冠疫情 SI模型

    传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. SI 模型是最简单的传染病模型,适用于只有易感者和患病者两类人群. 我们就从 SI 模型开始吧,从 ...

  3. 数学建模中的ARMA模型和ARIMA模型的使用实例(含代码)

    数学建模中的ARMA模型和ARIMA模型的使用实例(含代码) 原文地址:http://blog.csdn.net/qq_34861102/article/details/77659399 对于较少时间 ...

  4. 2022年MathorCup数学建模A题大规模指纹图像检索的模型与实现解题全过程文档加程序

    2022年第十二届MathorCup高校数学建模 A题 大规模指纹图像检索的模型与实现 原题再现   在生物特征识别领域,指纹作为最具独特性与持久性的生物特征之一,被广泛应用于身份识别.   指纹识别 ...

  5. Python数学建模系列(五):微分方程

    文章目录 前言 往期文章 1.微分方程分类 2.微分方程解析解 3.微分方程数值解 3.1 场线图与数值解 3.2 洛伦兹曲线与数值解 4.传染病模型 模型一:SI-Model 模型二:SIS mod ...

  6. python数学建模(二)线性规划2.实战(思路清晰\过程完整、详细)

    文章目录 (一)简单陈述本文章的内容 (二)线性规划例题(实战) 2.1 实战题目 2.2 符号规定和基本假设 2.3 模型的分析 2.4 模型的建立 2.5 模型一的求解和分析 2.5.1 (代码) ...

  7. Python数学建模系列(八):图论

    文章目录 前言 往期文章 1 图论模型 - Dijkstra 样例1 2 图论模型-Floyd 样例2 3 机场航线设计 0.Airlines.csv数据 1.数据导入.观察变量 2.数据清洗 3.时 ...

  8. python数学建模--绘图动态可视化图表

    目录 写在本博客的开篇 关于matplotlib绘图的两种模式 阻塞模式 交互模式 总结 绘制动态图的例子 二维折线图 结果演示 代码 三维折线图 结果演示 代码 三维散点图 结果演示 代码 写在本博 ...

  9. Python数学建模系列(六):蒙特卡洛算法

    文章目录 前言 往期文章 1.蒙特卡洛算法 样例1 样例2 样例3 2.三门问题 3.M*M豆问题 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   ...

最新文章

  1. 各种编程语言功能综合简要介绍(C,C++,JAVA,PHP,PYTHON,易语言)
  2. Spring Boot 的配置文件
  3. 2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效...
  4. 协议转换器是怎么分类的?主要有哪些类别?
  5. Python help 函数 - Python零基础入门教程
  6. python之format函数学习
  7. 阿里云云计算 36 PolarDB MySQL的管理步骤
  8. 22计算机408考研—数据结构—排序(详解加例题)
  9. ARM指令集详解(超详细!带实例!)
  10. WP全新COS美女写真网站整站源码+两套下载站模板
  11. visio软件接口流程图_Microsoft Office Visio绘制系统框图以及流程图的操作步骤
  12. Essential Netty in Action 《Netty 实战(精髓)》
  13. JS基础-下拉菜单案例
  14. Python-标准库(常用模块)
  15. linux转录组kegg注释,蛋白质组学KEGG注释详解
  16. 【BZOJ 3993】【SDOI 2015】星际战争
  17. nexus5 博通芯片WIFI详解 (1)
  18. sou problem
  19. 【读书笔记->统计学】02-01 各种“平均数”-均值、中位数和众数概念简介
  20. 测试总结过程中的质量分析报告

热门文章

  1. pycharm 关闭右边黄色警告提示
  2. 学计算机与学英语词汇,计算机专业常用英语词汇学习
  3. ccks2020中文短文本实体链接任务测评论文--小米团队--第一名
  4. 计算机视觉与图形学-立体匹配专题-金字塔立体匹配网络
  5. C++中的volatile(Primer读书笔记)
  6. Linux操作系统学习笔记(十)内存管理之内存映射
  7. 以太网与 TCP/IP
  8. GVINS文章暴力翻译(仅供自学)
  9. 搜狗拼音输入法2015 v7.2f 官方版
  10. 强推:raw图片处理软件DxO PhotoLab