Description Usage Arguments Details Value Note Author(s) References See Also Examples
This function adaptively manages an epidemic by learning about (parameters determining) its behavior online and adjusting an optimal vaccination strategy accordingly
1 2 3 4 5 |
init |
a |
epistep |
a function which moves the epidemic ahead one
time-step; see |
T |
the long-term horizon used to calculate optimal vaccination strategies |
Tstop |
the maximum number of time steps during which the epidemic
is allowed to evolve; default is identical to |
vacgrid |
a |
costs |
a |
pinit |
a |
hyper |
a |
vac0 |
the initial (static) vaccination policy to be used
before estimation of parameters begins (at |
MCvits |
scalar number of Monte Carlo iterations of forward epidemic evolution used at each time step to determine the optimal vaccination policy |
MCMCpits |
scalar number of Markov chain Monte Carlo iterations used at each step to estimate the SIR model parameters |
bkrate |
number of samples of |
vacsamps |
used to thin the MCMC samples of the parameters sampled
from the posterior that are used to calculate optimal vaccination policies;
this should be an integer scalar such that |
start |
at what time, after time 1 where the state is given
by |
... |
additional arguments passed to a user-defined
|
At each time step of the epidemic – evolving stochastically according
to the initialization in init
and progression described by
epistep
– the parameters are inferred by sampling from their
posterior distribution conditioned on the available data via MCMC.
These samples are fed into the Monte Carlo method for determining
the optimal vaccination strategy for (the remainder) of the epidemic.
That policy is then enacted, and then time is incremented.
Parameter estimation (alone) can be performed by specifying the
“null” vaccination grid vacgrid = NULL
,
i.e., with vac0
.
It is possible to “continue” managing an epidemic by specifying
the output of manage
, an "epiman"
-class object, as the
init
argument and specifying a finishing time (T
) which
is greater than the finishing time used to create the object (in the
previous call to manage
); see example below.
For more details on the parameterization and simulation of the
SIR model, etc., and the calculation of the optimal vaccination
strategy, see vignette("amei")
management
returns an object of class "epiman"
,
which is a list
containing the components listed below.
soln |
a |
prime |
a |
vacgrid |
a copy of the input |
pols |
a |
vactimes |
a scalar integer vector indicating the times at
which vaccinations actually occurred; this coincides with changes to
|
samp |
|
It may be important to plot the epidemic trajectory, with
the generic method plot.epiman
, or inspect
the output $soln[T,]
, to check that the full dynamics
of the epidemic have played out in the number of time steps,
T
, alotted
Daniel Merl <danmerl@gmail.com>
Leah R. Johnson <lrjohnson@uchicago.edu>
Robert B. Gramacy <rbgramacy@chicagobooth.edu>
and Mark S. Mangel <msmangl@ams.ucsc.edu>
D. Merl, L.R. Johnson, R.B. Gramacy, and M.S. Mangel (2010). “amei: An R Package for the Adaptive Management of Epidemiological Interventions”. Journal of Statistical Software 36(6), 1-32. http://www.jstatsoft.org/v36/i06/
D. Merl, L.R. Johnson, R.B. Gramacy, M.S. Mangel (2009). “A Statistical Framework for the Adaptive Management of Epidemiological Interventions”. PLoS ONE, 4(6), e5807. http://www.plosone.org/article/info:doi/10.1371/journal.pone.0005807
epistep
, MCmanage
,
plot.epiman
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ## manage an epidemic evolving according to epistep with
## with the following initial population
init <- list(S0=762, I0=1, R0=0, D0=0)
## construct a grid of valid vaccination strategies
## and specify costs
vacgrid <- list(fracs=seq(0,1.0,0.1), stops=seq(2,init$S0-75,75))
costs <- list(vac=2, death=4, infect=1)
## adaptively manage the epidemic
out.man <- manage(init, epistep, vacgrid, costs)
## plot the trajectories of SIR and the associated costs
plot(out.man)
plot(out.man, type="cost")
getcost(out.man)
## plot the samples from the posterior distribution of
## the parameters obtained during the last time step
true <- as.list(formals(epistep)$true)
plot(out.man, type="params", true=true)
## Bobby isnt really sure what this is plotting
plot(out.man, type="fracs")
plot(out.man, type="stops")
## managing an epidemic in two stages
out.man <- manage(init, epistep, vacgrid, costs, Tstop=10)
plot(out.man)
out.man <- manage(out.man, epistep, vacgrid, costs, Tstop=20)
plot(out.man)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.