【新冠肺炎】SIR模型预测与数据分析之代码篇

【新冠肺炎】SIR模型预测之代码篇

关键词:新冠肺炎,SIR模型预测,数据分析
本篇使用R语言

之前我们介绍过了SIR模型的基本理论以及其微分方程,不熟悉的朋友可以看这篇:
SIR SIRE 传染病预测模型与代码应用之概念篇
根据SIR模型的微分方程我们了解到病毒传染的各种特征,比如何时结束,最大规模,疫情的控制手段,以及疫苗和群体免疫问题,不熟悉的朋友可以回顾一下这一篇:
【cov-19】新冠肺炎的SIR模型补充与应用

在掌握这些基础知识后,我们可以根据微分方程在R中搭建一个SIR模型,并通过模型预测病毒的整体走向。其实我们知道,对于预测问题来说,建立模型是非常简单的,提升准确度的关键主要是调参,以及概念上的修改。这里我们简单介绍一下如何搭建模型以及对比预测。
首先强调,模型预测并不可靠,只能表现出一些数据上的趋势,真实情况还是需要根据事实自我判断。

1.建立模型
思路:先编辑好SIR模型,后用ode完成模拟:
注:这里使用的是fraction的方程,也就是百分比数量。

sir_model <- function(beta, gamma, S0, I0, R0, times) {
  require(deSolve)
  #----------SIR微分模型
  sir_equations <- function(time, variables, parameters) {
    with(as.list(c(variables, parameters)), {
  #使用百分比的fraction方程
      dS <- -beta * I * S
      dI <-  beta * I * S - gamma * I
      dR <-  gamma * I
      return(list(c(dS, dI, dR)))
    })
  }
  #----------定义变量
  parameters_values <- c(beta  = beta, gamma = gamma)
  initial_values <- c(S = S0, I = I0, R = R0)
评论 44
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值