更多专业的人工智能相关文章,微信搜索  : robot-learner , 或扫码

在流行疾病传播领域有一个经典的简单模型, SIR, 或者 Susceptible Infected Recovered Model。当然这个模型可以运用各种类似的信息传播领域,比如新闻舆情传播领域。

这个模型其实非常简单,易于理解。我们用这样一个场景来说明:

假设池子里面有一堆海洋球(或者台球),球的正常颜色都是白色,假设数量为100万个。某一天,有10个球不小心掉进了颜料缸,变成了红色。虽然马上擦拭一下了一下,只有5个球的颜色被复原,还是有5个球的颜色为红色。 这个场景可以理解为疾病流行的初始状况。总人口有S=100万,一开始10个人生病,其中R=5个人很快恢复。还有I=5个人一开始没有马上康复,并且具有传染性。

疾病的传播在于人和人之间有接触,有相互作用,是一个复杂的网络传播行为。要想很好的用数学方式去模拟不是一个容易的事情。但是在SIR模型,这个相互作用可以大大简化。

1.

我们可以把传播方式想象成为成千上万的海洋球的随机碰撞,这个碰撞按天来看,每天都会有这样的碰撞。任何一个白球和任何一个涂了红色颜料的红球碰撞之后,有一个概率,白色的球也会染成红色,从而变成红球和具有传染性。 可以想象一下,第一天,S=100万白球和I=5个红球,总共有5x100万=500万次潜在的碰撞。假设每一次碰撞被染色的概率是 β,那么500万碰撞后会有500β万个白球被马上染成红色。从而正常的白色球数量会减少,变成:

其中 S0 为初始的正常颜色白球, I0为红色的具有传染性的红球,β为每一个红球和每一个白球碰撞后,白球被着色的评价概率。

2.

另一方面,因为疾病的治愈率,红色的球也可以逐渐自己掉色,重新变成白球,便不再具有传染性。假设每一红球的治愈率是 γ,那么同样在第一天,除了一开始很快自愈的5个红球,另外5个红色的球变成白色的球的个数为 5γ, 那么总的红球恢复个数为:

其中,R0为初始状态已经恢复颜色的红球,I0为第一天开始时候仍然为红色的具有传染性的红球。

3.

上面第一天的碰撞中,我们已经知道了总的白色球被感染的数量,也算出了当天能够恢复自愈的红球,那么第一天结束时候,到底最终剩下多少个具有传染性的红球呢?这个数量其实是我们最关心的。可以理解,就像一个池子上面进水,下面放水一样。池子总的水量取决于新增的红球数量减去恢复的红球数量:

以此类推,用递归的方式,我们可以算出第二天以后的任何第n天的几个数字:即 Rn (正常白球,可能被感染数量), In (具有传播性的红球数量) 和 Rn(已经恢复颜色白球,治愈者)。 这个三个数字的和是一定的,它等于所有球的数量。但是这个几个数字此消彼长,随着疾病传播,一开始红球数量会不断增加,但是被治愈者也会不断增加。超过某个零界点,红球数量最终趋于0.

这个经典的SIR模型,也就是日前德国哥廷根教授用来判断此次疾病爆发的预测模型。他根据之前SARS模型的参数,β= 0.2586/1000000, γ=0.0821 ,即每100万次红球和白球接触后,感染概率大概26%,每一红球每天治愈概率大概8%。根据教授给的参数,我们可以绘制未来150天几个数量的变化情况如下:

上图中横坐标为天数,纵坐标为各个指标数量。其中红色曲线为每天实际感染者数量。可以发现,运用经典的SIR模型,高峰大概在80天左右。

上面即为SRI模型的数学原理,我们可以发现,其实原理是比较简单的。当然实际传播情况和人为干预和预防都是很有关系的。更加复杂的网络模型可以改善预测效果。

SIR疾病传播模型的简单数学原理相关推荐

  1. 使用Netlogo模拟SIR疾病传播模型

    最近在学习Netlogo软件,它的语言和之前学习的编程语言差别很大.看了模型库的代码才慢慢理解.以下是SIR传播模型的代码. 需要创建 按钮:setup, go 滑块:num-nodes, initi ...

  2. SI疾病传播模型实现

    在SI疾病传播模型中,网络中的节点在任一时刻有两种可能的状态,易感态susceptible(S)和感染态infected(I).处于易感态(S)的节点当被感染后转变为感染态(I)并且不能恢复.我们假设 ...

  3. 【GAN优化外篇】详解生成模型VAE的数学原理

    最近在学习生成模型的相关知识,这篇文章将介绍一下变分自编码器(Variational Auto-encoder),本文只介绍一些粗浅内容,不会涉及比较深刻的问题. 作者&编辑 | 小米粥 1. ...

  4. 6.复杂网络实验六:SIR病毒传播模型(matlab)

    一.SIR模型简介 在典型的传染病模型中,种群(Population)内的N个个体的状态可分为如下几类: (1).易染状态S(Susceptible),即健康状态,可被感染的个体. (2).感染状态I ...

  5. SIR传播模型的科普和预测

    >关注公众号:大数据技术派,回复`资料`,领取`1024G`资料. 注:本文仅是个人对于几个疾病模型做的一些概念性描述(科普),并进行了简单的编程实现.切勿当做现实的行动指导.因为文章内容原因, ...

  6. Python实现简单的SI传播模型

    #SI疾病传播模型的原理 在经典的传染病模型中,种群(Population)内N个个体的状态可分为如下几类 易感状态(Susceptible).一个个体在感染前是处于易感状态的,即该个体有可能被邻居个 ...

  7. 线性方程组数学原理、矩阵原理及矩阵变换本质、机器学习模型参数求解相关原理讨论...

    1. 线性方程组 0x1:无处不在的线性方程组 日常生活或生产实际中经常需要求一些量,用未知数 x1,x2,....,xn表示这些量,根据问题的实际情况列出方程组,而最常见的就是线性方程组(当然并不是 ...

  8. 详解Transformer模型及相关的数学原理

    声明:本文参考了许多相关资料,视频,博客,结合<Attention is All You Need>这篇文章的每一个细节,从一个初学者的角度出发详细解读Transformer模型,无代码. ...

  9. 神经网络反向传播的数学原理

    已知:,其中. 求:,,. 到这里,请耐心看完下面的公式推导,无需长久心里建设. 首先,反向传播的数学原理是 "求导的链式法则" : 设和为的可导函数,则. 接下来介绍 矩阵.向量 ...

最新文章

  1. Java-学习笔记-1-概述
  2. 60进制计算器在线_超长假期用华为MatePad Pro在线听课是怎样的体验?
  3. sap新总账中 CodingBlock客户化自定义新字段方法
  4. 【car】购买新能源电动汽车的几个注意事项
  5. oracle avg分析函数,分析函数之sum,avg
  6. VS中每次改代码后运行程序不更新,只有重新编译才生效。
  7. 计组之中央处理器:1、CPU的功能和基本结构
  8. spring3.0 aop 获取 ibatis 执行的语句_Mybatis 源码分析:执行器
  9. 推荐分享一个自定义绑定控件(附源码)
  10. hdoj 3400 三分
  11. 克隆版JLINK-V8固件的烧录与破解
  12. Spring发布WebService并调用已有的WebService
  13. 将 Android* x86 NDK 供 Eclipse* 而移植 NDK 演示示例应用程序
  14. piap.excel 微软 时间戳转换mssql sql server文件时间戳转换unix 导入mysql
  15. 2021 泰迪杯 A 题
  16. idea运行SSM项目配置tomcat及启动
  17. Drozer的安装与使用 | Android逆向工具
  18. 流媒体服务器开源方案调研
  19. linux添加jetdirect协议,Linux系统中如何打印
  20. 拾忆书苑(图书商城系统)网站的设计与实现(html;DIV+CSS; Bootstrap; Dreamweaver; Photoshop)

热门文章

  1. SOC常见架构_芯驰的车规SoC平台的4S特性
  2. 算法设计(1)--内排序算法小结
  3. OOA和OOD的合理解释
  4. python算法设计 - 下一组排列
  5. Web Print打印服务
  6. android dagger2 懒加载,Android Dagger依赖注入框架浅析
  7. 视频直播系统开发技术真的很难吗?手把手带你实现直播技术
  8. META-INF文件详解
  9. 图片加载失败时,显示默认图片
  10. 树莓派查看CPU和GPU温度