SEAIR预测模型
1.数据获取
数据源于河北省2021年1月的新冠肺炎数据.分别从河北省卫健委官网上获得了每日现存的确诊病例和无症状感染病例.作图如下

2.SEAIR 模型建立
首先SEAIR在SEIR模型的基础上增加了A,A代表无症状患者类似的我们可以对模型中的人群进行分类类似于前面的SEIR模型,其中的S类表示哪些易感者 ( The Susceptible).这里指的是没有得病的人群,但是这群人缺乏免疫能力,他们和被感染者接触后很容易被感染.第二类是E类人群,也就是暴露者人群(The Exposed),这群人指的是接触过感染者,但是暂时没有能力把病毒传染给其他人群的一类人群,对潜伏期长的传染病适用.第三类人群是I 类人群,指的是感病者(The Infectious),这里是指已经染上传染病的人,这类人可以把传染病传播给 S 类成员,同时将其变为E类或I类成员.第四类人群是R类人群,也就是康复者人群 (The Recovered),康复者是指哪些被隔离或者得病后病愈而具备免疫力的人.如果免疫时间是有限的,那么R类成员可以变成S类.第五类人群就是区别于之前A类的无症状范然这(The Asymptomatic),这类的无症状患者没有明确的医学特征能表明患病,但是通过PCR可以检测出来他们体内含有病毒.
模型仓室图如下

3.模型参数估计
河北省总人口为7591.97万人, 故S0=75919700.E为30天总人数938.
其中γ1 为无症状感染者恢复率,根据南京24名无症状感染者的传染期的研究[20]将γ1设置为1/9.5.γ2为有症状感染者恢复率.由于 为潜伏期天数,根据文献[21]计算得到的平均潜伏期为5.2天,因而潜伏期人群移入感染者的概率 =1/5.2
根据2月28日世卫组织对武汉疫情的考察报告[22]中指出,大约有80%的实验室的确诊病例为轻症和普通型病例,13.8%为重症病例,6.1%为危重症病例.同时由于从发病到康复的中位时间如下: 轻症患者为14天,重症患者约为21~42天.
根据一般情况轻症患者和普通型患者的平均恢复时间为14天,而重症患者的平均恢复时间为21天,危重症平均恢复时间为42天,通过加权平均可以得到整体感染群体平均恢复时间约为16.7天,从而可以将γ2设置为1/16.7.通过河北1月的数据,类似的α可以初始化为0.2,无症状患者出现症状的概率为0~1之间.
通过对“钻石公主号”游轮新型冠 状病毒肺炎疫情的研究发现[23],无症状感染者比例对于平均潜伏期的变化较为敏感,当平均潜伏期为5.5天至9.5天时,估计的无症状感染者比例则为20.6%~39.9%.根据模型中设置的平均潜伏期为5.2天, 设置为0.206.
下面对传染率 和进行计算.所用到的数据为河北省卫健委提供的每日新冠肺炎变化的数据.可以使用MCMC(Markov Chain Monte Carlo)估计得到参数 取值为0.5
最终我们可以计算总体感染者的基本再生数R0.
4.模型仿真
模型由五个部分组成,分别为SEAIR, 以河北省2021年1月的情况为例进行建模与分析.
针对第一个微分方程角度进行考虑,我们可以构造微分方程组如下(其中参数已经在上文中讨论过)

在我们求解微分方程时,我使用了 这个matlab内置函数.函数 是Matlab中自带的用于求解微分方程的特定函数.该求解器分为可变步长(variable-step)和恒定步长(fixed-step)两种类型.不同类型的特定函数有不一样的求解器.其中的ode45求解器是一种变步长求解器,其原理是采用了龙格库塔算法. ode45是表示使用四阶-五阶龙格库塔算法,它使用4阶方法来提供候选解,使用5阶方法来控制误差,它是一种自适应步长(也就是变步长)的常微分方程的数值解法,它的整体的截断误差为 .使用它可以解决非刚性的常微分方程.其他采用相同算法的变步长求解器还有ode23.其原理就是龙格库塔算法,这里对四阶龙格库塔发做简单的介绍.
仿真图如下, 通过设置初始值,可以使用matlab仿真出患者随时间的变化图.从而我们可以使用龙格库塔算法对模型进行仿真, 仿真图如下:

% odefun.m
function dy = odefun(t,y)
%y(1)=s y(2)=E y(3)=A y(4)=i y(5)=r
dy = zeros(5,1);    % a column vector
dy(1) = -y(1)*0.5*y(2);
dy(2) = y(1)*0.5*y(2)-0.19*y(2);
dy(3) = 0.206*0.19*y(2)-(1/9.5+0.2)*y(3);
dy(4)=0.2*y(3)+(1-0.206)*0.19*y(2)-(1/16.7)*y(4);
dy(5)=(1/9.5)*y(3)+(1/16.7)*y(4);
end
% testode45.m
%-----------------------------------------------------
% 清空所有变量
clear
% 清空屏幕
clc% 时间跨度取0-12,可以空格分隔,也可以用逗号分隔
tspan = [1,31];
% 初始值
y0 = [10000,938,0,0,0];
% 调用语句
[T,Y] = ode45( @odefun, tspan, y0 );
% 绘图
%plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'-.',T,Y(:,4),'-.',T,Y(:,5),'.')
plot(T,Y(:,2),'-.',T,Y(:,3),'-.',T,Y(:,4),'.')
xlabel('时间')
ylabel('患者数量')
%legend('S','E','A','I','R')
legend('E','A','I')
title('SEAIR模型示意图');

SEAIR传染病模型及其开源代码相关推荐

  1. 哈佛NLP组论文解读:基于隐变量的注意力模型 | 附开源代码

    作者丨邓云天 学校丨哈佛大学NLP组博士生 研究方向丨自然语言处理 摘要 Attention 注意力模型在神经网络中被广泛应用.在已有的工作中,Attention 机制一般是决定性的而非随机变量.我们 ...

  2. 热榜第四:GitHub开源代码数据集界ImageNet,推出代码搜索挑战赛

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 用别人的轮子,开自己的路. 在这个产品快速迭代的时代,搜索.调用别人的代码避免重复造轮子,已是开发常态. 但是搜索代码这件事,并不是百度一下 ...

  3. 传染病模型(1)——SI模型及matlab详解

    前言 常见的传染病模型按照具体的传染病的特点可分为 SI.SIS.SIR.SIRS.SEIR 模型.其中"S""E""I""R&q ...

  4. ECCV2020|超快的车道线检测,代码模型已开源

    作者|cfzd 来源|https://zhuanlan.zhihu.com/p/157530787 很高兴和大家分享一下我们刚刚被 ECCV 2020 接收的新工作:一种超快速的车道线检测算法(Ult ...

  5. 检索、问答、情感分析产业范例分享,代码模型全开源太香了!

    自然语言处理技术在各行业有着广泛的应用,然而长久以来,其落地并不是一帆风顺的. 针对这些棘手的问题,百度飞桨深耕产业界,选取NLP领域三大高频场景--检索.问答.情感分析,推出面向真实应用场景的系统功 ...

  6. 巧断梯度:单个loss实现GAN模型(附开源代码)

    作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 我们知道普通的模型都是搭好架构,然后定义好 loss,直接扔给优化器训练就行了.但是 GAN 不一 ...

  7. SIR传染模型Matlab代码,sir传染病模型 MATLAB代码运行不了,

    问题描述: sir传染病模型 MATLAB代码运行不了, function y=ill(t,x) a=1;b=0.3; y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]'; ts ...

  8. 您的新年大礼包即将送达,检索、问答、情感分析,代码模型全开源太香了!...

    自然语言处理技术在各行业有着广泛的应用,然而长久以来,其落地并不是一帆风顺的. 针对这些棘手的问题,百度飞桨深耕产业界,选取NLP领域三大高频场景--检索.问答.情感分析,推出面向真实应用场景的系统功 ...

  9. 超硬核分享,代码、模型全开源!检索、问答、情感分析全覆盖

    自然语言处理技术在各行业有着广泛的应用,然而长久以来,其落地并不是一帆风顺的. 针对这些棘手的问题,百度飞桨深耕产业界,选取NLP领域三大高频场景--检索.问答.情感分析,推出面向真实应用场景的系统功 ...

  10. GitHub上YOLOv5开源代码的训练数据定义

    GitHub上YOLOv5开源代码的训练数据定义 代码地址:https://github.com/ultralytics/YOLOv5 训练数据定义地址:https://github.com/ultr ...

最新文章

  1. Microsoft R 和 Open Source R,哪一个才最适合你?
  2. Vue2.x源码学习笔记-Vue实例的属性和方法整理
  3. 织梦内核素材资源下载站源码-带用户中心和VIP充值系统+安装视频图文教程
  4. oracle事务默认自动提交吗_干货|事务
  5. Java 程序员最爱 Kotlin?
  6. 解决Julia使用PyPlot库出现ERROR: ArgumentError: hasproperty of NULL PyObject问题
  7. SpringBoot整合Sharding-JDBC实现水平分表
  8. Java并发编程实战_《Java并发编程实战》PDF版本下载
  9. Knowledge evolution
  10. Android studio Gradle:Executing tasks - 一直卡在Gradle:Build Running
  11. 复现awvs——CVE-2020-1938(CNVD-2020-10487)tomcat ajp 文件包含漏洞
  12. (附源码)springboot火车票订票系统 毕业设计 171538
  13. 不懂怎么搞定人的进来:年业绩千万的老销售给你几招实惠的-没有干货立即跳楼
  14. Orz这个词的复杂意思[z]
  15. 在SVN服务器彻底删除文件
  16. 22考研经验贴-这是可以说的吗?
  17. Spicy 修改代码 实现双屏显示以及鼠标键盘绑定
  18. 3032. 是坚挺数吗?
  19. Windows server 2008、2012、2016、2019搭建sftp服务(超级简单)
  20. 佳能相机储存卡故障:文件或目录损坏且无法读取

热门文章

  1. 51单片机计算机加原理图,AT89C51单片机的基本结构和工作原理
  2. arm嵌入式led灯闪烁实验报告_ARM嵌入式系统与应用实验报告
  3. G-Dezender批量解密
  4. 实用供暖通风空调设计手册 第三版_从设计到施工,设计师必知的工艺材料知识都在这里!...
  5. 发布一款小软件:和讯博客助手-新闻采集测试版- 0.1.0
  6. MAC中安装Navicat Premium
  7. 原理图学习(点读笔调试)
  8. 为flash游戏终极实用提速
  9. 无法访问,您可能没有权限使用网络资源的解决
  10. 无线网卡wifi破解