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
timestep; see 
T 
the longterm 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 userdefined

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), 132. 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$S075,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.