compartmental_models {pomp} | R Documentation |
Compartmental epidemiological models
Description
Simple SIR-type models implemented in various ways.
Usage
sir(
gamma = 26,
mu = 0.02,
iota = 0.01,
beta1 = 400,
beta2 = 480,
beta3 = 320,
beta_sd = 0.001,
rho = 0.6,
k = 0.1,
pop = 2100000,
S_0 = 26/400,
I_0 = 0.001,
R_0 = 1 - S_0 - I_0,
t0 = 0,
times = seq(from = t0 + 1/52, to = t0 + 4, by = 1/52),
seed = 329343545,
delta.t = 1/52/20
)
sir2(
gamma = 24,
mu = 1/70,
iota = 0.1,
beta1 = 330,
beta2 = 410,
beta3 = 490,
rho = 0.1,
k = 0.1,
pop = 1e+06,
S_0 = 0.05,
I_0 = 1e-04,
R_0 = 1 - S_0 - I_0,
t0 = 0,
times = seq(from = t0 + 1/12, to = t0 + 10, by = 1/12),
seed = 1772464524
)
Arguments
gamma |
recovery rate |
mu |
death rate (assumed equal to the birth rate) |
iota |
infection import rate |
beta1 , beta2 , beta3 |
seasonal contact rates |
beta_sd |
environmental noise intensity |
rho |
reporting efficiency |
k |
reporting overdispersion parameter (reciprocal of the negative-binomial size parameter) |
pop |
overall host population size |
S_0 , I_0 , R_0 |
the fractions of the host population that are susceptible, infectious, and recovered, respectively, at time zero. |
t0 |
zero time |
times |
observation times |
seed |
seed of the random number generator |
delta.t |
Euler step size |
Details
sir()
producees a ‘pomp’ object encoding a simple seasonal SIR model with simulated data.
Simulation is performed using an Euler multinomial approximation.
sir2()
has the same model implemented using Gillespie's algorithm.
In both cases the measurement model is negative binomial:
reports
is distributed as a negative binomial random variable with mean equal to rho*cases
and size equal to 1/k
.
This and similar examples are discussed and constructed in tutorials available on the package website.
Value
These functions return ‘pomp’ objects containing simulated data.
See Also
More examples provided with pomp:
blowflies
,
childhood_disease_data
,
dacca()
,
ebola
,
gompertz()
,
ou2()
,
pomp_examples
,
ricker()
,
rw2()
,
verhulst()
Examples
po <- sir()
plot(po)
coef(po)
po <- sir2()
plot(po)
plot(simulate(window(po,end=3)))
coef(po)
po |> as.data.frame() |> head()