estMaxLik(obj1, obj2=NULL, ...)
## S3 method for class 'TSmodel':
estMaxLik(obj1, obj2, algorithm="optim",
algorithm.args=list(method="BFGS", upper=Inf, lower=-Inf, hessian=TRUE),
...)
## S3 method for class 'TSestModel':
estMaxLik(obj1, obj2=TSdata(obj1), ...)
## S3 method for class 'TSdata':
estMaxLik(obj1, obj2, ...)
est$converged
, which is TRUE or FALSE indicating convergence,
est$converceCode
, which is the code returned by the estimation algorithm,
and est$results
, which are detailed results returned by the estimation
algorithm. The hessian and gradient in results could potentially
be used for restarting in the case of non-convergence, but that has not
yet been implemented.bft
estimation method may be preferable.obj1
or obj2
should specify a TSmodel
and
the other TSdata
. If obj1
is a TSestModel
and
obj2
is NULL
, then the data is extracted from obj1
.
The TSmodel
object is used to specify both the initial parameter
values and the model structure (the placement of the parameters
in the various arrays of the TSmodel). Estimation attempts to minimimize the
negative log likelihood (as returned by l
) of the given model
structure by adjusting the
parameter values. A TSmodel
can also have constant values in
some array elements, and these are not changed. (See SS
,
ARMA
and fixConstants
regarding setting of constants.)
With the number of parameter typically used in multivariate time series
models, the default maximum number of iterations may not be enough. Be sure to
check for convergence (a warning is printed at the end, or use summary
on the result). The maximum iterations is passed to the estimation algorithm
with algorithm.args
, but the elements of that list will depend on the
specified optimization algorithm
(so see the help for the alogrithm).
The example below is for the default optim
algorithm.optim
,
nlm
,
estVARXls
,
bft
,
TSmodel
,
l
,
SS
,
ARMA
,
fixConstants
true.model <- ARMA(A=c(1, 0.5), B=1)
est.model <- estMaxLik(true.model, simulate(true.model))
summary(est.model)
est.model
tfplot(est.model)
est.model <- estMaxLik(true.model, simulate(true.model),
algorithm.args=list(method="BFGS", upper=Inf, lower=-Inf, hessian=TRUE,
control=list(maxit=10000)))
Run the code above in your browser using DataLab