Health Data Analytics
Epidemiological Modeling
SIR Model
import numpy as np
from scipy.integrate import odeint
class SIRModel:
def __init__(self, beta, gamma, population):
self.beta, self.gamma, self.N = beta, gamma, population
def simulate(self, I0=1, days=160):
S0, R0 = self.N - I0, 0
def sir(y, t):
S, I, R = y
return [-self.beta*S*I/self.N, self.beta*S*I/self.N - self.gamma*I, self.gamma*I]
return odeint(sir, [S0, I0, R0], np.linspace(0, days, days))