estimate.tsissm.spec {tsissm}R Documentation

Model Estimation

Description

Estimates a model given a specification object using maximum likelihood.

Usage

## S3 method for class 'tsissm.spec'
estimate(
  object,
  solver = "nloptr",
  control = NULL,
  scores = TRUE,
  debug_mode = FALSE,
  ...
)

## S3 method for class 'tsissm.autospec'
estimate(object, solver = "nloptr", control = NULL, trace = FALSE, ...)

Arguments

object

an object of class “tsissm.spec” or “tsissm.autospec”.

solver

only nloptr currently supported.

control

solver control parameters (see issm_control).

scores

whether to calculate the analytic scores (Jacobian) of the likelihood. This is not available for the “tsissm.autospec” object.

debug_mode

for development testing, will include the TMB object.

...

not used.

trace

whether to show a progress bar for the automatic selection object and also output verbose messages.

Details

The maximum likelihood estimation for this model is described in the vignette.

Value

An object of class “tsissm.estimate” or “tsissm.selection”. In the case of automatic model selection an object of class “tsissm.estimate” will be returned based on AIC (minimum) if “top_n” is 1, else an object of class “tsissm.selection” with a list of length “top_n”. This object can then be used for filtering, prediction and simulation and then ensembled (based on user specified weights).

Note

When calculating the scores, a future promise is created so it is fastest if a future plan is pre-created with at least 2 workers so that the function can run in the background without having to wait for the estimation object to be returned.
If the control argument is NULL, then a hybrid strategy is adopted whereby the SLSQP algorithm is initially used and if it fails (status less than 0 or errors due to NaNs in sampled parameters) then the Augmented Lagrange with MMA local solver is used which is slower but may be more reliable.
For the automatic selection estimation, this will benefit from the use of multiple processes which can be set up with a plan. For progress tracing, use handlers. The function will check for number of parallel workers initialized (using ‘nbrOfWorkers’), and if it finds only 1 then will revert to non-parallel execution of the code.


[Package tsissm version 1.0.2 Index]