SIR模型与R模拟

这篇具有很好参考价值的文章主要介绍了SIR模型与R模拟。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SIR病毒模型R模拟

1.SIR病毒模型

SIR病毒模型的的三个字母分别为病毒传播过程中的三种状态,其中

  • S,表示易感染者,即没有被感染病毒的人群
  • I,表示已感染者,即被感染病毒的人群
  • R,表示感染后恢复者,即感染后恢复人群

设总人口为 N + 1 N+1 N+1,初始感染人群 I ( 1 ) = 1 I(1) = 1 I(1)=1,易感染人群 S ( 1 ) = N S(1)=N S(1)=N,恢复人群 R ( 0 ) = 0 R(0)=0 R(0)=0。在任意时刻 t t t每个感染者以概率 α \alpha α使易感染者染病,感染者以概率 β \beta β解除或恢复。在时刻 t t t,易感染者未被感染的概率为 ( 1 − α ) I ( t ) (1-\alpha)^{I(t)} (1α)I(t) 于是得到递归公式
{ S ( t ) + I ( t ) + R ( t ) = N + 1 S ( t + 1 ) ∼ b i n o m ( S ( t ) , ( 1 − α ) I ( t ) ) R ( t + 1 ) ∼ R ( t ) + b i n o m ( I ( t ) , β ) I ( t + 1 ) ∼ N + 1 − S ( t + 1 ) − R ( t + 1 ) S ( 1 ) = N ; R ( 0 ) = 0 ; I ( 1 ) = 1 \left\{\begin{array}{l} S(t)+I(t)+R(t)=N+1\\ S(t+1)\sim binom(S(t),(1-\alpha)^{I(t)})\\ R(t+1)\sim R(t)+binom(I(t),\beta)\\ I(t+1)\sim N+1-S(t+1)-R(t+1)\\ S(1)=N;R(0)=0;I(1)=1 \end{array}\right. S(t)+I(t)+R(t)=N+1S(t+1)binom(S(t),(1α)I(t))R(t+1)R(t)+binom(I(t),β)I(t+1)N+1S(t+1)R(t+1)S(1)=N;R(0)=0;I(1)=1


2.R模拟

下面是R模拟代码

#------------SIR病毒模型模拟-----------------
# SIR函数定义
SIR <- function(a,b,N,T){
  # SIR病毒扩散模型
  # 参数a为感染率
  # 参数b为移除率
  # N人口总数
  # t考察时间
  S <- rep(0,T+1) # 易感染着
  I <- rep(0,T+1) # 感染者
  R <- rep(0,T+1) # 移除者
  S[1] <- N
  I[1] <- 1
  R[1] <- 0
  for(i in 1:T){
    S[i+1] <- rbinom(1,S[i],(1-a)^I[i]) 
    R[i+1] <- R[i] + rbinom(1,I[i],b)
    I[i+1] <- N + 1 - R[i+1] - S[i+1]
  }
  return(matrix(c(S,I,R),ncol = 3))
}

# 比较静态模拟
T = 1000 # 考察时间1000(天)
a = 0.001 # 感染率
N = 100 # 人口总数
par(mfrow = c(3,3))
L <- c(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9)/100
for(b in L){
  M <- SIR(a,b,N,T)
  time <- seq(1,nrow(M),1)
  plot(time,M[,2],ylab = "I",type = "b",
       main = paste("传染率a = 0.001;恢复率b=",b)) # 感染人群
}

输出结果
SIR模型与R模拟文章来源地址https://www.toymoban.com/news/detail-444024.html


-END-

到了这里,关于SIR模型与R模拟的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微分方程+传染病模型(指数传播、SI、SIS、SIR模型)+MATLAB求解

    本文为北海的数模课程学习笔记,课程出自微信公众号:数学建模BOOM。 求赞!求收藏!求关注! 微分方程结合传染病模型(如指数传播、SI、SIS、SIR模型)提供了一种用数学公式描述疾病传播动态的方法,有助于理解和预测疾病在人群中的传播路径和速度。 目录 指数传播模

    2024年02月04日
    浏览(57)
  • 【论文阅读】Vision Mamba:双向状态空间模型的的高效视觉表示学习

    论文地址: Vision Mamba 在这篇文章,我们展示对于视觉表示学习,不再依赖自注意力,提出一个新的泛用的视觉backbone基于双向Mamba块,通过位置嵌入来标示图片序列,通过双向状态空间模型压缩视觉表示。结果表示,Vim有能力解决在高分辨率图片上应用tranformer类型所导致计算

    2024年03月21日
    浏览(48)
  • C# WPF 自己写的一个模拟病毒传播的程序,有可视化

    源代码: https://github.com/t39q/VirusSpread 主要代码

    2024年02月09日
    浏览(31)
  • 【C++历练之路】list的重要接口||底层逻辑的三个封装以及模拟实现

    W...Y的主页 😊 代码仓库分享💕  🍔前言: 在C++的世界中,有一种数据结构,它不仅像一个神奇的瑰宝匣,还像一位能够在数据的海洋中航行的智慧舵手。这就是C++中的list,一个引人入胜的工具,它以一种优雅而强大的方式管理着数据的舞台。想象一下,你有一个能够轻松

    2024年02月04日
    浏览(38)
  • 带你深入理解“栈”(c语言 c++和stl Stack三个版本的模拟实现)

    目录 一.栈的概念及结构 二.栈的实现(c语言版) 2.1静态增长的栈 2.2动态增长的栈 2.3动态栈的模拟实现    1.栈的初始化   2.入栈  3.出栈 4.获取栈顶元素 5.获取栈中有效数据个数 6.检查栈是否为空 7.栈的销毁 三.C++ 版本模拟实现栈  1.C++版本的源代码 四.c语言版本的源代码

    2024年02月08日
    浏览(43)
  • 三个方面浅析数据对大语言模型的影响

    本文分享自华为云社区《浅谈如何处理大语言模型训练数据之二数据影响分析》,作者:码上开花_Lancer。 由于大语言模型的训练需要巨大的计算资源,通常不可能多次迭代大语言模型预训练。千亿级参数量的大语言模型每次预训练的计算需要花费数百万元人民币。因此,在

    2024年01月25日
    浏览(35)
  • Scrum敏捷模型的三个角色!如何在线绘制Scrum敏捷模型图?

    Scrum是一种敏捷开发方法,用于管理和组织软件开发项目。它强调团队的自组织和迭代式开发,通过不断的反馈和调整来快速交付高质量的软件产品。 Scrum敏捷模型将项目分解为一系列短期的迭代周期,每一个迭代周期被称为一次“冲刺”(Sprint)。每个冲刺通常持续2到4周,

    2024年02月14日
    浏览(40)
  • 三个月诞生79个基础大模型,企业选用大模型需要注意些什么?

    自从ChatGPT横空出世,各类大模型层出不穷,竞争也日渐激烈,可谓“乱花渐欲迷人眼”。 随着大公司的入场,无疑给创业公司带来了降维打击,创业公司随时可能倒掉,造成项目烂尾。 我也一直在关注大模型领域的最新进展,但当每天都有海量信息袭来时,我认为具有自己

    2024年02月16日
    浏览(29)
  • 云计算的三个主要服务模型:IaaS、PaaS 和 SaaS

    🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏:云计算 ✨文章内容:服务模型 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗 云计算是一种基于网络的计算模型,通过共享的计算资源,

    2024年02月10日
    浏览(45)
  • HMM理论学习笔记-隐马尔可夫模型的三个元素、假设和问题

    初学HMM之前,先回忆一下概率论、信息论中学到的一些离散型随机变量的基本公式和概念,势必有助于后续公式推导的理解。 条件概率 条件概率表示在条件Y=b成立的情况下,X=a的概率。 A,B相互独立时, P ( B ∣ A ) = P ( B ) , P ( A ∣ B ) = P ( A ) P(B|A)=P(B),P(A|B)=P(A) P ( B ∣ A

    2024年02月01日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包