COVID-19 infectious forecasting using SEIR model and R0 estimation
Purpose
Usage
Download my Jupyter notebook file: Estimation of R0.ipynb.
R0Func()
is the function that calculates the basic reproduction number. Its inputs
are the number of confirm
cases, the number of suspect
cases, and days t
since the start of the epidemic. Here, we use the December 1st, 2019 as the start of the epidemic, which is the first nCoV case reported.
Summary
Model
where,
lambda is the growth rate of estimated infectious
rho is the ratio of latent period over generation period.
Download my Jupyter notebook file: SEIR.ipynb.
R0Func()
is the function that calculates the newest basic reproduction number given up to date statistics. Its inputs
are the number of confirm
cases, the number of suspect
cases, and days t
since the start of the epidemic. Here, we use the December 1st, 2019 as the start of the epidemic, which is the first nCoV case reported.
SEIR()
is the epidemic model that describes the system of differential equations.
betaFunc()
and gammaFunc()
calculate the value of transmissibility and removal rate, respectively.
spi.odeint()
solves the system of differential equations. Its inputs
are the epidemic model SEIR()
, initial value of susceptible, exposed, infectious, removal INI
, and the number of days since the epidemic Time
Please note the several assumptions will limit the use of this model, for instance, assumption of consistent behaviors before and during the epidemic means that people do not implement social or non-pharmaceutical intervention.
where,
S(t) is the number of susceptible at time t
E(t) is the number of exposed at time t
I(t) is the number of infectious at time t
R(t) is the number of removed, which includes the number of recovered and dead at time t
N(t) is the population at time t
N(t) = S(t) + E(t) + I(t) + R(t)