【python】SIR模型实现

article/2025/9/26 9:50:14

                                                                                                 SIR模型python实现

SIR模型是传染病模型中最经典的模型,其中S表示易感者,I表示感染者,R表示恢复者。SIR模型中,染病人群为传染的源头,他通过一定的几率把传染病传给易感人群,他自己也有一定的几率/可以被治愈并免疫,或者死亡;易感人群一旦被感染,就又成为了新的传染源。将人群划分为三类,易感染者、已感染者和已恢复者(recovered )。


可建立下面的三房室模型:



其中:

Parameters

β is the transmission rate and incorporates the encounter rate between susceptible and infectious individuals together with the probability of transmission.
γ is called the removal or recovery rate, though often we are more interested in its reciprocal (1/γ) which determines the average infectious period.
S(0) is the initial proportion of the population that are susceptible.
I(0) is the initial proportion of the population that are infectious.

pythonCode:

import scipy.integrate as spi
import numpy as np
import pylab as plbeta=1.4247
gamma=0.14286
TS=1.0
ND=70.0
S0=1-1e-6
I0=1e-6
INPUT = (S0, I0, 0.0)def diff_eqs(INP,t):'''The main set of equations'''Y=np.zeros((3))V = INPY[0] = - beta * V[0] * V[1]Y[1] = beta * V[0] * V[1] - gamma * V[1]Y[2] = gamma * V[1]return Y   # For odeintt_start = 0.0; t_end = ND; t_inc = TS
t_range = np.arange(t_start, t_end+t_inc, t_inc)
RES = spi.odeint(diff_eqs,INPUT,t_range)print RES#Ploting
pl.subplot(111)
pl.plot(RES[:,1], '-r', label='Infectious')
pl.plot(RES[:,0], '-g', label='Susceptibles')
pl.plot(RES[:,2], '-k', label='Recovereds')
pl.legend(loc=0)
pl.title('SIR_Model.py')
pl.xlabel('Time')
pl.ylabel('Infectious Susceptibles and Recovereds')
pl.xlabel('Time')
pl.show()
结果

从图中可见,随着时间的推移传播者刚开始急速上升再缓慢下降。恢复者持续上升趋于稳定,易感染者持续下降趋于稳定。该模型是SIR中最基本模型,此外还有一些考虑出生率、死亡率等因素的模型变种。


参考链接:

SIR模型参考



http://chatgpt.dhexx.cn/article/UdyfmX43.shtml

相关文章

传染病模型(3)——SIR模型及matlab运行结果

前言 常见的传染病模型按照具体的传染病的特点可分为 SI、SIS、SIR、SIRS、SEIR 模型。其中“S”“E”“I”“R”的现实含义如下: S (Susceptible),易感者,指缺乏免疫能力健康人,与感染者接触后容易受到感染; E (Exp…

关于SIR模型性质的进一步摘录

1 SIR模型的性质 又是成为SIR搬运工的一天。以下内容来自陈卫老师在《大数据网络传播模型和算法》。纯纯自我记录,不够美观不够细致,不喜欢看出门左拐。 1.1 SIR模型中的basic reproduction rate(基础再生数) R 0 R_0 R0​ 它是…

SIR模型II

SIR II (Epidemic modeling) by Zhuofei(fregoticloud.com) jupyter notebook link 在这个模型中,考虑一个在一定空间内的流行病模型。人只能与附近的人交互作用,所以给人在一定的空间里随机运动。 首先,在一个2维平面,随机游走&…

SIR信息传播模型

SIR信息传播模型 SIR模型及python复现SIR模型SIR数学模型传播动力学方程python实现 模拟社交网络中SIR模型的信息传播过程 SIR模型及python复现 SIR模型 SIR模型是传染病模型中的经典模型,可以用在传染病过程中的模拟预测,也可以用作抽象表达社交网络中…

SIR模型 matlab模拟

需要一个单独的m文件: %即写上三个微分方程 function ySIRModel(t,x,lambda,mu) y[-lambda*x(1)*x(2),lambda*x(1)*x(2)-mu*x(2),mu*x(2)]; 再进行作图 >> ts0:1:100; >> lambda0.00001; >> mu1/14; >> x0[45400,2100,2500]; >> […

SIR及SEIR建模的简单示例

目录 概述1.一些定义1.1 一些名词1.2 一些符号1.3 一些定义 2.方法论2.1 SIR2.2 SEIR2.3 代际传播2.3.1 传播矩阵 3 模型实现3.1 参数设定3.2 SIR(1)模型(2)参数(3)计算(4)绘图 3.3 …

SIR模型python实现

python新手,代码不规范之处敬请见谅,第一次发帖排版也不太懂,各位将就看。 参考: SIR模型和Python实现_阿丢是丢心心的博客-CSDN博客_sir模型 【保姆级教程】使用python实现SIR模型(包含数据集的制作与导入及最终结…

SI,SIS,SIR,SEIRD模型

SI,SIS,SIR,SEIRD模型 因为个人工作需要系统地整理SI,SIR以及SEIR模型,故对三个模型进行原理介绍以及对比。文中关于SI,SIS,SIR的所有的截图都来自西工大肖华勇老师在慕课上的分享,…

【数学建模】传染病SIR模型

SIR模型 经典的SIR模型是一种发明于上个世纪早期的经典传染病模型,此模型能够较为粗略地展示出一种传染病的发病到结束的过程,其核心在于微分方程,其中三个主要量S是易感人群,I是感染人群,R是恢复人群 这三个量都是跟…

SIR模型简单了解(Susceptible Infected Recovered Model)

SIR模型定义 SIR模型是一种传播模型,是信息传播过程的抽象描述。 SIR模型是传染病模型中最经典的模型,其中S表示易感者,I表示感染者,R表示移除者。 S:Susceptible,易感者 I:Infective&#xf…

【保姆级教程】使用python实现SIR模型(包含数据集的制作与导入及最终结果的可视化)

目录 一、SIR模型介绍 二、Python实现SIR模型 1.制作自己的数据集的两种方法(csv格式) (1)excel转为csv格式 (2)通过python对csv格式文件进行内容修改 2.导入数据集 (1)具体代码如下…

SIR模型和Python实现

一、SIR模型介绍 SIR模型时传染病中最基础最核心的模型,研究的是某个封闭地区的疫情传播规律。 SIR模型的动力学关系如下图: 健康人数S的变化与 健康人数S和正感人数I的乘积(代表健康人数和正感人数的接触)成正比,其…

SIR传染病模型(微分方程系列1)

一:基本参数 SIR模型是常见的一种描述传染病传播的数学模型,其基本假设是将人群分为以下三类: S:(Susceptible):易感人群,指未得病者,但缺乏免疫能力,与感病者接触后容易受到感染。 I:(Infective):患病人…

【整站下载器】小飞兔整站下载V5.0

小飞兔整站下载是一款只需输入一个网址就能下载一个网站的软件,它可以从Internet的任何地方抓回你想要的任何文件,整站下载主要是用来快速搭建网站、深层分析网站、网站克隆等。

【小飞兔整站下载】整站下载器哪个好用_整站下载工具哪个好

小飞兔整站下载是一款可以下载整个网站内容的软件,你只要输入一个网址,软件能自动分析网站链接、图片、样式、文件等资源,并能将整个网站下载到本地,能在本地正常跳转、浏览。 官网:https://xft.fzxgj.top/ 直接上图…

快速获取一个网站的所有资源,图片,html,css,js等等

今天介绍一款软件,可以快速获取一个网站的所有资源,图片,html,css,js… 以获取某车官网为例 我来展示一下这个软件的功能. 1、输入网站地址 2、下载文件 到此,爬取网站就结束了,有些网站的资源使用的是国外的js,css,速度会有些差异,但效果都是一样的.爬取下来就能使用.放…

小飞升值记——(5)

目录 一:学习痕迹 二:学习结语 一:学习痕迹 二:学习结语 1.注意断句 2.注意refill的读音,重音在后面

根据url一键爬取前端页面资源文件,恐怖如斯-----小飞兔

前言 有一天你在网上发现一个很好看的前端页面,你想要弄下来在自己的项目上使用,于是你去查看源码,复制html代码和资源文件,过程非常的麻烦,而且很可能缺胳膊少腿,这里我给大家推荐一款可以一键爬取前端页面资源文件的工具给大家,希望对大家有所帮助. 下载 https://download.cs…

小飞兔整站下载如何设置特殊标签?

小飞兔整站下载如何设置特殊标签? 为什么提供自定义标签的功能?如何设置自定义标签? 为什么提供自定义标签的功能? 随着html5网站的快速发展,很多网站做了格式各样的特殊标签,而我们需要匹配特殊标签的资源…

c语言兔子繁殖问题pia,上海虹口幼升小转学报名,在喂养幼兔的时候我们要注意。...

上海虹口幼升小转学报名,在喂养幼兔的时候我们要注意,在喂养幼兔的时候我们要注意,不能直接用自来水为给幼兔喝,因为幼鸡初期的消化食物是很慢的,做好室内清洁卫生并对猫咪进行隔离幼猫在有猫癣的时候,这样…