Compartmental-Models.Rmd
In this vignette, we describe four basic compartmental models for
mosquito-borne pathogens commonly used for humans in
ramp.library
. The models are named by their states:
susceptible (S) - exposed (E) infected (I) - recovered and immune (R),
and vaccinated (V). According to their setup, not all models include all
of the states. There are four compartmental models: SIR, SIRS, SEIR, and
SEIRV. The other models including SIS, SEI and SIP and SEIS are
described in the ramp.xds
.
is the density of susceptible humans
is the density of exposed humans
is the density of infected humans
is the density of recovered and immune humans
is the density of vaccinated humans
is the density of humans
is the rate infections clear
is the fraction of bites by infective mosquitoes that transmit parasites and cause an infection.
is the fraction of bites on an infectious human that would infect a mosquito.
proportion of recovered individuals progressing into vaccinated class
is a proportion of vaccinated humans
is the rate at which exposed humans become infectious (incubation rate)
rate at which recovered human loss their immunity
proportion of recovered humans progressing to vaccinated class
The models defined herein is defined in two parts. To model exposure and infection (i.e. the conversion of EIR into FoI (h)), The equations are formulated around . Under the default model, we get the relationship , where E is the daily EIR:
Without demography i.e $ B(H) = = 0$, SIR model has steady states as .
Without demography, the SIRS model has the following steady states as
Net Infectiousness
True prevalence is:
In our implementation, net infectiousness (NI) is linearly proportional to prevalence:
Human Transmitting Capacity
After exposure, a human would remain infected for days, transmitting with probability so:
ramp.xds
Setup
We run each of the models using a default setup with 1- stratum to equilibrium and compare our results with the analytic steady states given above
test_SIR<- xds_setup(MYZname="macdonald", Xname="SIR")
xds_solve(test_SIR, 365*5) -> test_SIR
foi_eq = test_SIR$Xpar[[1]]$b*tail(test_SIR$outputs$terms$EIR,1)
unlist(list_Xvars(test_SIR$outputs$last_y, test_SIR, 1)) -> inf
xde_steady_state_X(foi_eq, 1000, test_SIR$Xpar[[1]]) -> ss
xds_plot_X(test_SIR)
test_SIRS<- xds_setup(MYZname="macdonald", Xname="SIRS")
xds_solve(test_SIRS, 365*3) -> test_SIRS
foi_eq = test_SIRS$Xpar[[1]]$b*tail(test_SIRS$outputs$terms$EIR,1)
unlist(list_Xvars(test_SIRS$outputs$last_y, test_SIRS, 1)) -> inf_SIRS
xde_steady_state_X(foi_eq, 1000, test_SIRS$Xpar[[1]]) -> ss_SIRS
xds_plot_X(test_SIRS)
test_SEIR<- xds_setup(MYZname="macdonald", Xname="SEIR")
xds_solve(test_SEIR, 365*5) -> test_SEIR
foi_eq = test_SEIR$Xpar[[1]]$b*tail(test_SEIR$outputs$terms$EIR,1)
unlist(list_Xvars(test_SEIR$outputs$last_y, test_SEIR, 1)) -> inf_SEIR
xde_steady_state_X(foi_eq, 1000, test_SEIR$Xpar[[1]]) -> ss_SEIR
xds_plot_X(test_SEIR)
test_SEIRV<- xds_setup(MYZname="macdonald", Xname="SEIRV")
xds_solve(test_SEIRV, 365*5) -> test_SEIRV
foi_eq = test_SEIRV$Xpar[[1]]$b*tail(test_SEIRV$outputs$terms$EIR,1)
unlist(list_Xvars(test_SEIRV$outputs$last_y, test_SEIRV, 1)) -> inf_SEIRV
xde_steady_state_X(foi_eq, 1000, test_SEIRV$Xpar[[1]]) -> ss_SEIRV
xds_plot_X(test_SEIRV)