## S3 method for class 'pomp':
pfilter(object, params, Np, tol = 1e-17,
max.fail = Inf, pred.mean = FALSE, pred.var = FALSE,
filter.mean = FALSE, save.states = FALSE,
save.params = FALSE, seed = NULL,
verbose = getOption("verbose"), ...)
## S3 method for class 'pfilterd.pomp':
pfilter(object, params, Np, tol, \dots)
pomp
or inheriting class pomp
.npars
x Np
numeric matrix containing the parameters corresponding to the initial state values in xstart
.
This must have a tol
are considered to be max.fail
is set to infinity, so no error can be triggered.TRUE
, the prediction means are calculated for the state variables and parameters.TRUE
, the prediction variances are calculated for the state variables and parameters.TRUE
, the filtering means are calculated for the state variables and parameters.save.states=TRUE
, the state-vector for each particle at each time is saved in the saved.states
slot of the returned pfilterd.pomp
object.
seed
is an integer, it is passed to set.seed
prior to any simulation and is returned as the TRUE
, progress information is reported as pfilter
works.pfilter
pfilter is run on a pfilterd.pomp
object, the settings in the original call are re-used.
This default behavior can be overridden by changing the settings (see Examples below).pfilterd.pomp
.
This class inherits from class pomp
and contains the following additional slots:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
These can be accessed using the $
operator as if the returned object were a list.
In addition, logLik
returns the log likelihood.
Note that if the argument params
is a named vector, then these parameters are included in the params
slot of the returned pfilterd.pomp
object.
That is coef(pfilter(obj,params=theta))==theta
if theta
is a named vector of parameters.pomp
, mif
, pmcmc
, bsmc
pompExample(gompertz)
pf <- pfilter(gompertz,Np=1000) ## use 1000 particles
logLik(pf)
cond.logLik(pf) ## conditional log-likelihoods
eff.sample.size(pf)
logLik(pfilter(gompertz)) ## run it again with 1000 particles
logLik(pfilter(gompertz,Np=2000)) ## run it with 2000 particles and get the filtering means
## See the vignettes for more examples.
Run the code above in your browser using DataLab