博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
传染病模型python_传染病动力学模型 SI => SIS => SIR => SEIR(python)
阅读量:7023 次
发布时间:2019-06-28

本文共 3302 字,大约阅读时间需要 11 分钟。

Parameter

# parameter

N = 10000 # Headcount

I = 1 # The Infected

S = N - I # Susceptible

E = 0 # Exposed

R = 0 # Recover

r = 10 # Number of people per infected person per day.

r2 = 10

B = 0.01 # Transmission probability

B2 = 0.01

Time = 350 # Day

v = 0.02 # Cure Rate

a = 0.1 # Conversion Rate

SI

# SI Model

# dI / dt = r * B * I * S / N

# dS / dt = - r * B * I * S / N

# I(n) = I(n - 1) + r * B * I(n - 1) * S(n - 1) / N

# S(n) = S(n - 1) - r * B * I(n - 1) * S(n - 1) / N

TimeOfVirus = [1]

s_SI = [S]

i_SI = [I]

for day in range(1, Time):

TimeOfVirus.append(day + 1)

s_SI.append(s_SI[day - 1] - r * B * i_SI[day - 1] * s_SI[day - 1] / N)

i_SI.append(i_SI[day - 1] + r * B * i_SI[day - 1] * s_SI[day - 1] / N)

SIS

# SIS Model

# dI / dt = r * B * I * S / N

# dS / dt = - r * B * I * S / N

# I(n) = I(n - 1) + r * B * I(n - 1) * S(n - 1) / N - v * I

# S(n) = S(n - 1) - r * B * I(n - 1) * S(n - 1) / N + v * I

TimeOfVirus = [1]

s_SIS = [S]

i_SIS = [I]

for day in range(1, Time):

TimeOfVirus.append(day + 1)

s_SIS.append(s_SIS[day - 1] - r * B * i_SIS[day - 1] * s_SIS[day - 1] / N + v * i_SIS[day - 1])

i_SIS.append(i_SIS[day - 1] + r * B * i_SIS[day - 1] * s_SIS[day - 1] / N - v * i_SIS[day - 1])

SIR

# SIR Model

# dS / dt = - r * B * I * S / N

# dI / dt = r * B * I * S / N - v * I

# dR / dt = v * I

# S(n) = S(n - 1) - r * B * I(n - 1) * S(n - 1) / N

# I(n) = I(n - 1) + r * B * I(n - 1) * S(n - 1) / N - v * I

# R(n) = R(n -1) + v * I(n - 1)

TimeOfVirus = [1]

s = [S]

i = [I]

R = [0]

for day in range(1, Time):

TimeOfVirus.append(day + 1)

s.append(s[day - 1] - r * B * i[day - 1] * s[day - 1] / N)

i.append(i[day - 1] + r * B * i[day - 1] * s[day - 1] / N - v * i[day - 1])

R.append(R[day - 1] + v * i[day - 1])

SEIR

# SEIR Model

# dS / dt = - r * B * I * S / N

# dE / dt = r * B * I * S / N - a * E

# dI / dt = a * E - v * I

# dR / dt = v * I

# S(n) = S(n - 1) - r * B * I(n - 1) * S(n - 1) / N

# E(n) = E(n - 1) + r * B * I(n -1) * S(n - 1) / N - a * E(n - 1)

# I(n) = I(n - 1) + a * E(n - 1) - v * I

# R(n) = R(n -1) + v * I(n - 1)

TimeOfVirus = [1]

ss = [S]

ee = [E]

ii = [I]

rr = [R]

for day in range(1, Time):

TimeOfVirus.append(day + 1)

ss.append(ss[day - 1] - r * B * ii[day - 1] * ss[day - 1] / N)

ee.append(ee[day - 1] + r * B * ii[day - 1] * ss[day - 1] / N - a * ee[day - 1])

ii.append(ii[day - 1] + a * ee[day - 1] - v * ii[day - 1])

rr.append(rr[day - 1] + v * ii[day - 1])

New SEIR

# New SEIR Model

# dS / dt = - r * B * I * S / N - r2 * B2 * E * S / N

# dE / dt = r * B * I * S / N - a * E + r2 * B2 * E * S / N

# dI / dt = a * E - v * I

# dR / dt = v * I

# S(n) = S(n - 1) - r * B * I(n - 1) * S(n - 1) / N - r2 * B2 * E(n - 1) * S(n - 1) / N

# E(n) = E(n - 1) + r * B * I(n -1) * S(n - 1) / N - a * E(n - 1) + r2 * B2 * E(n - 1) * S(n - 1) / N

# I(n) = I(n - 1) + a * E(n - 1) - v * I

# R(n) = R(n -1) + v * I(n - 1)

TimeOfVirus = [1]

ss = [S]

ee = [E]

ii = [I]

rr = [R]

for day in range(1, Time):

if day >= 60:

r = 5

r2 = 5

TimeOfVirus.append(day + 1)

ss.append(ss[day - 1] - r * B * ii[day - 1] * ss[day - 1] / N - r2 * B2 * ee[day - 1] * ss[day - 1] / N)

ee.append(ee[day - 1] + r * B * ii[day - 1] * ss[day - 1] / N - a * ee[day - 1] + r2 * B2 * ee[day - 1] * ss[day - 1] / N)

ii.append(ii[day - 1] + a * ee[day - 1] - v * ii[day - 1])

rr.append(rr[day - 1] + v * ii[day - 1])

转载地址:http://iwsxl.baihongyu.com/

你可能感兴趣的文章
用Excel打开csv格式文件并生成相应图形
查看>>
【uTenux实验】内存池管理(固定内存池和可变内存池)
查看>>
Android——Android Studio的一些小技巧(转)
查看>>
Linux Linux程序练习二
查看>>
angular run()运行块
查看>>
如何检测NFC芯片型号?NFC手机即可!
查看>>
Android 8款开源游戏引擎
查看>>
如何推断一个P2P平台是否靠谱?
查看>>
Spring学习【Spring概述】
查看>>
一起学编程(3--组织与表达)
查看>>
ROS+L2TP+IPSEC
查看>>
【Java数据结构学习笔记之一】线性表的存储结构及其代码实现
查看>>
零代码如何打造自己的实时监控预警系统
查看>>
Sql server Always On 读写分离配置方法
查看>>
鸡肋点搭配ClickJacking攻击-获取管理员权限
查看>>
垃圾收集器
查看>>
基于Redis+Kafka的首页曝光过滤方案
查看>>
关于Cocos2d-iPhone 的类库
查看>>
Facebook内部人才建设潜规则
查看>>
JSP项目开发常用技术总结
查看>>