【cov-19】SIR模型应用

上一篇文章中我们讲了SIR的基本概念,不熟悉的朋友可以看这篇:
https://blog.csdn.net/weixin_45265581/article/details/105837033
本文将主要讨论基于SIR模型我们能得出的一些结论。关键词:SIR模型,有多少人会被感染?,新冠肺炎疫苗,群体免疫。

*注:本文所论述的是北美弱监管制度的病毒传播情况,其实只要大家做好自我保护自我隔离,疫情很快就会被打败。

一、模型结论
1.是否所有人都会被感染?
对于大流感,人们最关心的问题之一就是最终疫情的规模。
1.1公式推导直接跳到1.2看结果
观察SIR模型的微分不等式,不难看出,我们可以通过S与I的微分方程式得出最大I(Imax)。
重温一下SIR Model的微分方程:
{dSdt=−βSIN(1)dIdt=βSIN−γI(2)dIdt=γI(3)\left\{\begin{matrix} \frac{dS}{dt}=-\frac{\beta SI}{N} & \text{(1)}\\ \frac{dI}{dt}= \frac{\beta SI}{N}-\gamma I & \text{(2)}\\ \frac{dI}{dt}=\gamma I& \text{(3)} \end{matrix}\right. ⎩⎨⎧​dtdS​=−NβSI​dtdI​=NβSI​−γIdtdI​=γI​(1)(2)(3)​
我们知道当微分方程等于0时,我们可以得到他的最大值,所以我们设I的微分方程为0,并对S求解,得到当I=0时:
S=NγβS=\frac{N \gamma}{\beta} S=βNγ​
为了得到最终的I(Imax),可以用公式(1)除以公式(2),得到:

dSdI=−βSIN⋅(βSIN−γI)−1dSdI=−βSN⋅(βSN−γ)−1(4)\begin{aligned} \frac{dS}{dI}& =\frac{-\beta SI}{N}\cdot (\frac{\beta SI}{N}-\gamma I)^{-1}\\ \frac{dS}{dI}&= \frac{-\beta S}{N}\cdot (\frac{\beta S}{N}-\gamma)^{-1} \text{ (4)}\\ \end{aligned} dIdS​dIdS​​=N−βSI​⋅(NβSI​−γI)−1=N−βS​⋅(NβS​−γ)−1 (4)​

整理一下LHS与RHS并对其integral得到:
*不用看过程直接看公式(5)

−dI=βSN⋅(βSN−γ)−1dS−∫dI=∫βSN⋅(βSN−γ)−1dSI(0)−I(t)=S(t)−γβNlog⁡∣S(t)∣−S(0)+γβNlog⁡∣S(0)∣I(t)=I(0)−S(t)+γβNlog⁡∣S(t)∣+S(0)−γβNlog⁡∣S(0)∣Imax=0−γβ+γβNlog⁡∣γNβ∣+N−γβNlog⁡∣N∣Imax=−NR0+NR0(log⁡∣NR0∣−log⁡∣N∣)+NImaxN=−1R0−1R0log⁡∣1R0∣+1ImaxN=1−1R0(1+log⁡∣1R0∣)(5)\begin{aligned} -dI&=\frac{\beta S}{N}\cdot (\frac{\beta S}{N}-\gamma)^{-1}dS \\ -\int dI&=\int \frac{\beta S}{N}\cdot (\frac{\beta S}{N}-\gamma)^{-1}dS \\ I(0)-I(t)&= S(t)- \frac{\gamma}{\beta}N\log\left| S(t) \right|-S(0)+ \frac{\gamma}{\beta}N\log\left| S(0) \right| \\ I(t)&=I(0)-S(t)+ \frac{\gamma}{\beta}N\log\left| S(t) \right|+S(0)- \frac{\gamma}{\beta}N\log\left| S(0) \right| \\ I_{max}&=0-\frac{\gamma }{\beta }+\frac{\gamma}{\beta}N\log\left| \frac{\gamma N}{\beta } \right|+N-\frac{\gamma}{\beta}N\log\left| N \right| \\ I_{max}&=-\frac{N}{R_{0}}+\frac{N}{R_{0}}(\log\left| \frac{ N}{R_{0} } \right|-\log\left| N \right|)+N\\ \frac{I_{max}}{N}&=-\frac{1}{R_{0}}-\frac{1}{R_{0}}\log\left| \frac{ 1}{R_{0} } \right|+1\\ \frac{I_{max}}{N}&=1-\frac{1}{R_{0}}(1+\log\left| \frac{ 1}{R_{0} } \right|) {\color{Red}\text{ (5)}} \end{aligned} −dI−∫dII(0)−I(t)I(t)Imax​Imax​NImax​​NImax​​​=NβS​⋅(NβS​−γ)−1dS=∫NβS​⋅(NβS​−γ)−1dS=S(t)−βγ​Nlog∣S(t)∣−S(0)+βγ​Nlog∣S(0)∣=I(0)−S(t)+βγ​Nlog∣S(t)∣+S(0)−βγ​Nlog∣S(0)∣=0−βγ​+βγ​Nlog∣∣∣∣​βγN​∣∣∣∣​+N−βγ​Nlog∣N∣=−R0​N​+R0​N​(log∣∣∣∣​R0​N​∣∣∣∣​−log∣N∣)+N=−R0​1​−R0​1​log∣∣∣∣​R0​1​∣∣∣∣​+1=1−R0​1​(1+log∣∣∣∣​R0​1​∣∣∣∣​) (5)​
带入S后,在公式的左边我们得到疫情最终的感染人数比例。(公式(5))也就是说,病情最终的规模其实之和R0有关。
1.2验证
用加拿大的数据举例,很多媒体官方给出R0应该在2.2-2.5之间,虽然我不知道他怎么想的,但我们有脑子的人暂且用R0=2~3举例。带入R0到公式(5):
{ImaxN=1−13(1+log⁡∣13∣)≈65.1%if R0=2ImaxN=1−13(1+log⁡∣13∣)≈82.6%if R0=3\begin{cases} \frac{I_{max}}{N}=1-\frac{1}{3}(1+\log\left| \frac{ 1}{3 } \right|)\approx 65.1\%& \text{if }R_{0}=2 \\ \frac{I_{max}}{N}=1-\frac{1}{3}(1+\log\left| \frac{ 1}{3 } \right|)\approx 82.6\%& \text{if }R_{0}=3 \end{cases} {NImax​​=1−31​(1+log∣∣​31​∣∣​)≈65.1%NImax​​=1−31​(1+log∣∣​31​∣∣​)≈82.6%​if R0​=2if R0​=3​
也就是说按照目前的统计数据,在加拿大最终会有65%~82.6%的人被感染,这一结论也与前段时间各大媒体报道的数目吻合。
甚至zg有一些媒体报道,新冠肺炎的R0应该为5.7左右,那么按照SIR模型,最终感染人数约为:0.96%。
2.疫苗与群体免疫问题。
其实疫苗与群体免疫目前都有一个共同的难题,就是新冠病毒是否会变异。根据网上资料,早在今年3月分左右,病毒就已经突变出3种形态(A,B,C)。
纵观历史,人类面对曾劫掠过人类文明无数次的鼠疫,每次也都是靠群体免疫幸存下来。
先复习一下我们上一次讲的SIRS模型,很显然SIRS模型是指痊愈后的患者可能会在一定时间后失去对病毒的免疫力,从而造成二次感染。在这种情况下S数量会持续保持一个较高的位置,从而导致被感染数I持续增长。所以,如果病毒可以持续在几个月内连续突变,该吃吃该喝喝就好了不要再费时间防疫了。我们这里对不存在二次感染或抗体消失的情况进行讨论。
2.1我们需要给多少人打疫苗才能保护人类呢?
这里我们设置一个百分比,p,作为被打疫苗的人群比例。设置R*作为新的R0,要使疫情得到控制,R0需要小于1。(平均每个人单位之间内传染人数小于1)得到不等式:
R∗≤R0(1−p)<1(1−p)<1R0p>1−1R0\begin{aligned} R^{*}\leq R_{0}(1-p)&<1\\ (1-p)&<\frac{1}{R_{0}} \\ p&>1- \frac{1}{R_{0}} \end{aligned} R∗≤R0​(1−p)(1−p)p​<1<R0​1​>1−R0​1​​
同样,根据加拿大媒体报道的R0,得到结果:
{p>1−12=50%if R0=2p>1−13=67%if R0=3p>1−15.7=82.5%if R0=5.7\begin{cases} p&>1- \frac{1}{2}=50\% \quad \text{ if }R_{0}=2 \\ p&>1- \frac{1}{3}=67\% \quad \text{ if }R_{0}= 3 \\ p&>1- \frac{1}{5.7}=82.5\% \quad \text{ if }R_{0}= 5.7 \end{cases} ⎩⎪⎨⎪⎧​ppp​>1−21​=50% if R0​=2>1−31​=67% if R0​=3>1−5.71​=82.5% if R0​=5.7​
最坏的情况是我们需要给82.5%的人注射疫苗才能遏制大流感。
2.2群体免疫问题
群体免疫的原理与疫苗基本类似,疫苗是通过人为的方式在S还是S的时候使其产生抗体直接过度到R(说人话就是人为的使可能感染的人群获得抗体从而减少可能被感染人数。)。而病毒横行的这个过程就是人们在获得群体免疫的过程,**随着越来越多的人生病后获得抗体,数量逐渐趋于2.1中所需要打疫苗的群体的数量后,剩下的人们也就得救了。**也就是说可能要感染50%~82.5%的人群,新冠肺炎才能画上一个句号。这也印证了根据微分方程所得到的结论。(能撑到最后的S都是Survivor)

*注:本文所论述的是北美弱监管制度的病毒传播情况,其实只要大家做好自我保护自我隔离,疫情很快就会被打败。

Reference:

  1. J.H.Jones Stanford University “Models of Infectious Disease”
    url:https://web.stanford.edu/~jhj1/teachingdocs/Jones-Epidemics050308.pdf
  2. H.H.Weiss Georgia Tech “The SIR model and the Foundations of Public Health”
    url:http://mat.uab.cat/matmat/PDFv2013/v2013n03.pdf

【cov-19】新冠肺炎的SIR模型补充与应用相关推荐

  1. Matlab基于SEIRD模型,NSIR预测模型,AHP层次分析法新冠肺炎预测与评估分析

    全文链接:http://tecdat.cn/?p=32175 分析师:Jiahui Zhao 新型冠状病毒肺炎COVID-19 给中国乃至全世界都带来了深重的灾难,对世界经济也造成了不可逆的影响(点击 ...

  2. Python小白的数学建模课-B6. 新冠疫情 SEIR 改进模型

    传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. SEIR 模型考虑存在易感者.暴露者.患病者和康复者四类人群,适用于具有潜伏期.治愈后获得终身免疫 ...

  3. 美国高校开源迄今为止最大新冠肺炎CT数据集!

    点击上方"视学算法",选择"星标" 快速获得最新干货   本文转载自:新智元   编辑:元子.白峰 [导读]胸部计算机断层扫描(CT)图像在对新冠肺炎(COVI ...

  4. 使用SAP Analytics Cloud显示全球新冠肺炎确诊人数和发展趋势的预测

    注:本文只是借用新冠肺炎全球确诊人数作为历史数据,来介绍SAP Analytics Cloud基于机器学习的Time Series Forecasting功能,并没有对现实世界中新冠肺炎的发展趋势做出 ...

  5. 美国高校开源迄今为止最大新冠肺炎CT数据集

    本文转载自新智元. 编辑:元子.白峰 [导读]胸部计算机断层扫描(CT)图像在对新冠肺炎(COVID-19)提供准确.快速.廉价的筛查和检测方面很有前景.在本文中,研究团队构建了一个开源的COVID- ...

  6. 新冠肺炎疫情数学模型的一点想法

    前言 湖北新增一万多例中,大多数是临床病例,而真正的确诊病例,却只有两千多一点,比昨天略低.(关于临床病例和确诊病例的区别,请点击这里.) 不过不论如何,确诊人数数据由于临时加上临床诊断病例,导致目前 ...

  7. “生命游戏之父”因新冠肺炎逝世,回顾数学顽童的一生

    作者 | 年素清 责编 | 伍杏玲 出品 | 程序人生(ID:coder_life) 普林斯顿大学教授大卫·斯伯格尔(David Sperger)在推特上公布,普林斯顿大学数学系教授约翰·何顿·康威( ...

  8. 基于时空双向注意力的乘车需求预测模型——以新冠肺炎期间北京市为例

    1.文章信息 <A Spatiotemporal Bidirectional Attention Based Ride-hailing Demand Prediction Model: A Ca ...

  9. Python基于改进Unet的新冠肺炎等级分割系统(源码&教程)

    1.研究背景 新冠肺炎给人类带来极大威胁,自动精确分割新冠肺炎CT图像感染区域可以辅助医生进行诊断治疗,但新冠肺炎的弥漫性感染.感染区域形状多变.与其他肺部组织极易混淆等给CT图像分割带来挑战.为此, ...

最新文章

  1. SAS数据挖掘实战篇【六】
  2. MySQL数据库InnoDB存储引擎中的锁机制--转载
  3. Make Them Equal 埃氏筛法(1200)
  4. **Java有哪些悲观锁的实现_Redis 分布式锁的正确实现方式(Java版)
  5. oracle 根据分隔符提取,oracle自定义函数按照某个分隔符拆分字符串
  6. 【JAVA中级篇】线程池
  7. 深入理解Qt的.pro文件
  8. 下载腾讯视频里的视频_手机腾讯视频如何升级新版本
  9. 求平均数、百分率、最大值、最小值、两个字段相差秒数的SQL
  10. 极路由4pro(HC5962)设置阿里云DDNS
  11. 第四章 ASP.NET MVC HTML.ActionLink输出超链接的具体用法
  12. iphone怎么换手机铃声?只需要一招 iRingg
  13. 用R读取Excel的新方法
  14. 4站地铁50多分钟,百度地图怎么算的
  15. 后危机时代,DCS的新征程
  16. 【UE4学习】01——UE4下载与安装
  17. 《华为研发》阅读 - 15 (分解“满汉全席”,“先谋而后动”)
  18. 【Unity Shader】 Alpha测试
  19. 【多模态】《Visual7W: Grounded Question Answering in Images》论文阅读笔记
  20. 手牵手带你安装zookeeper

热门文章

  1. luogu1010:幂次方
  2. 如何用CSS将网页图片或整个页面弄成黑白
  3. @resource与@autowired的区别
  4. 常用adb命令的使用
  5. FineReport帮助文档一眼尽收眼底
  6. win7文件传输服务器,大文件传输,教您大文件如何快速传输
  7. Simulink代码生成:生成C++类
  8. netstat 命令用法详解
  9. 计算机网络名为pc是什么意思啊,网络pc的意思 什么叫网络pc - 云骑士一键重装系统...
  10. java 后端开发技能_Java 后端开发,应该重点学习哪些知识/技能?