iubf | R Documentation |
An algorithm for estimating the parameters of a spatiotemporal partially-observed Markov process.
Running iubf
causes the algorithm to perform a specified number of iterations of unadapted simulations with parameter perturbation and parameter resamplings.
At each iteration, unadapted simulations are performed on a perturbed version of the model, in which the parameters to be estimated are subjected to random perturbations at each observation.
After cycling through the data, each replicate's weight is calculated and is used to rank the bootstrap replictates. The highest ranking replicates are recycled into the next iteration.
This extra variability introduced through parameter perturbation effectively smooths the likelihood surface and combats particle depletion by introducing diversity into particle population.
As the iterations progress, the magnitude of the perturbations is diminished according to a user-specified cooling schedule.
## S4 method for signature 'spatPomp'
iubf(
object,
Nubf = 1,
Nrep_per_param,
Nparam,
nbhd,
prop,
rw.sd,
cooling.type = c("geometric", "hyperbolic"),
cooling.fraction.50,
tol = (1e-18)^17,
verbose = getOption("spatPomp_verbose"),
...
)
object |
A |
Nubf |
The number of iterations to perform |
Nrep_per_param |
The number of replicates used to estimate the likelihood at a parameter |
Nparam |
The number of parameters that will undergo the iterated perturbation |
nbhd |
A neighborhood function with three arguments: |
prop |
A numeric between 0 and 1. The top |
rw.sd |
specification of the magnitude of the random-walk perturbations that will be applied to some or all model parameters.
Parameters that are to be estimated should have positive perturbations specified here.
The specification is given using the ifelse(time==time[1],s,0). Likewise, ifelse(time==time[lag],s,0). See below for some examples. The perturbations that are applied are normally distributed with the specified s.d. If parameter transformations have been supplied, then the perturbations are applied on the transformed (estimation) scale. |
cooling.type , cooling.fraction.50 |
specifications for the cooling schedule,
i.e., the manner and rate with which the intensity of the parameter perturbations is reduced with successive filtering iterations.
|
tol |
If the resampling weight for a particle is zero due to floating-point precision issues, it is set to the value of |
verbose |
logical; if |
... |
additional arguments are passed to |
Upon successful completion, iubf()
returns an object of class
‘iubfd_spatPomp’. This object contains the convergence record of the iterative algorithm with
respect to the likelihood and the parameters of the model (which can be accessed using the traces
attribute) as well as a final parameter estimate, which can be accessed using the coef()
. The
algorithmic parameters used to run iubf()
are also included.
The following methods are available for such an object:
coef
extracts the point estimate
Kidus Asfaw
2020
\ionides2021
likelihood evaluation algorithms: girf()
, enkf()
, bpfilter()
, abf()
, abfir()
Other likelihood maximization algorithms:
ibpf()
,
ienkf()
,
igirf()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.