mif {pomp} | R Documentation |
The MIF algorithm for estimating the parameters of a partially-observed Markov process.
The call sequence for mif
is
mif(object, Nmif, start, pars, ivps = character(0),
particles, rw.sd, alg.pars, weighted = TRUE,
tol = 1e-17, warn = TRUE, max.fail = 0)
Description of arguments:
pomp
.particles(Np,center,sd,...)
which sets up the initial
particle matrix by drawing a sample of size Np
from the
initial particle distribution centered at center
and of
width sd
.rw.sd
weighted=F
, the MIF update is not used; rather, an
unweighed average of the filtering means is used for the update.tol
are
considered to be "lost". A filtering failure occurs when, at some
time point, all particles are lost.
To re-run a sequence of MIF iterations, one can use the mif
method on a "mif" object. The call sequence is
mif(object, ...)
Any additional arguments that are valid for the mif
method of
an "pomp" object (see pomp-class
) can be given (with the
exception of the `particles' function). Arguments not specified
will take the values they have in the slots of object
.
One can continue a series of MIF iterations from where one left off. The call sequence is
continue(object, Nmif, ...)
This will perform Nmif
additional MIF iterations on the "mif"
object object
. A call to mif
to perform Nmif=m
iterations followed by a call to continue
to perform
Nmif=n
iterations will produce precisely the same effect as a
single call to mif
to perform Nmif=m+n
iterations.
All additional arguments are passed to mif
. This feature can
be used to change any of the parameters (except the particles
function).
It is the user's responsibility to ensure that the
particles
function satisfies the following conditions:
particles
has at least the following arguments: Np
,
center
, sd
, and ...
. Additional arguments may
be specified. These will be filled with the elements of the
userdata
slot of the underlying "pomp" object (see
pomp-class
).
particles
returns a named list consisting of two matrices. The
element states
must contain the state-variable portion of the
particles; params
must contain the parameter portion. Each
matrix must have rownames and exactly Np
columns. Each column
represents a distinct particle. The rownames are used by the
algorithms (see mif
, pfilter
).
The center of the particle distribution returned by particles
should be center
. The width of the particle distribution
should vary monotonically with sd
. In particular, when
sd=0
, the particles
should return matrices with
Np
identical columns, each corresponding to the parameters
specified in center
.
Aaron A. King (kingaa at umich dot edu)
E. L. Ionides, C. Bret{'o}, & A. A. King, Inference for nonlinear dynamical systems, Proc. Natl. Acad. Sci. U.S.A., 103:18438–18443, 2006.
mif-class
, mif-methods
,
pomp
, pomp-class
, pfilter
.
See the "random_walk_example" vignette for an example.