mif(object, ...)
## S3 method for class 'pomp':
mif(object, Nmif = 1, start, pars, ivps = character(0),
particles, rw.sd, alg.pars, Np, ic.lag, var.factor, cooling.factor,
weighted = TRUE, tol = 1e-17, warn = TRUE, max.fail = 0,
verbose = FALSE)
## S3 method for class 'mif':
mif(object, Nmif, \dots)
## S3 method for class 'mif':
continue(object, Nmif = 1, \dots)
pomp
.pars
must have a positive random-walk standard deviation specified in rw.sd
.
Leaving pars
unspecified is equiivps
must have a positive random-walk standard deviation specified in rw.sd
.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
.
Ipars
(i.e., not to those named in ivps
).
The algorithm requires that the randNp
, cooling.factor
, var.factor
, ic.lag
.
The use of alg.pars
is now deprecated and generates a warning.
It will be removed in the nerw.sd
The width of the initial distribution of particles will be random.walk.sd*var.factor
.alpha
.weighted=F
, the MIF update is not used;
instead, 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.mif
method on a mif
object.
The call sequence is mif(object)
.
By default, the same parameters used for the original MIF run are re-used (except for weighted
, tol
, warn
, max.fail
, and verbose
, the defaults of which are shown above).
If one does specify additional arguments, these will override the defaults.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.
By default, all the algorithmic parameters are the same as used in the original call to mif
.
Additional arguments will override the defaults.particles
is not specified, the default behavior is to draw the particles from a multivariate normal distribution.
It is the user's responsibility to ensure that, if the optional particles
argument is given, that the particles
function satisfies the following conditions: particles
has at least the following arguments:
Np
, center
, sd
, and ...
.
Np
may be assumed to be a positive integer;
center
and sd
will be named vectors of the same length.
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 length(center)
x Np
matrix with rownames matching the names of center
and sd
.
Each column represents a distinct particle.
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
.
A. A. King, E. L. Ionides, M. Pascual, and M. J. Bouma, Inapparent infections and cholera dynamics, Nature, 454:877--880, 2008.
mif-class
, mif-methods
, pomp
, pomp-class
, pfilter
.
See the