Optimization Settings for Conditional Mean Model Estimation
Optimization Options
estimate
maximizes the loglikelihood function
using fmincon
from Optimization Toolbox™. fmincon
has
many optimization options, such as choice of optimization algorithm
and constraint violation tolerance. Choose optimization options using optimoptions
.
estimate
uses the fmincon
optimization
options by default, with these exceptions. For details, see fmincon
and optimoptions
in Optimization Toolbox.
optimoptions Properties | Description | estimate Settings |
---|---|---|
Algorithm | Algorithm for minimizing the negative loglikelihood function | 'sqp' |
Display | Level of display for optimization progress | 'off' |
Diagnostics | Display for diagnostic information about the function to be minimized | 'off' |
ConstraintTolerance | Termination tolerance on constraint violations | 1e-7 |
If you want to use optimization options that differ from the
default, then set your own using optimoptions
.
For example, suppose that you want estimate
to
display optimization diagnostics. The best practice is to set the
name-value pair argument 'Display','diagnostics'
in estimate
.
Alternatively, you can direct the optimizer to display optimization
diagnostics.
Define an AR(1) model Mdl
and simulate data from it.
Mdl = arima('AR',0.5,'Constant',0,'Variance',1); rng(1); % For reproducibility y = simulate(Mdl,25);
By default, fmincon
does not display the optimization
diagnostics. Use optimoptions
to set it to display the
optimization diagnostics, and set the other fmincon
properties to
the default settings of estimate
listed in the previous
table.
options = optimoptions(@fmincon,'Diagnostics','on',... 'Algorithm','sqp','Display','off','ConstraintTolerance',1e-7)
options = fmincon options: Options used by current Algorithm ('sqp'): (Other available algorithms: 'active-set', 'interior-point', 'sqp-legacy', 'trust-region-reflective') Set properties: Algorithm: 'sqp' ConstraintTolerance: 1.0000e-07 Display: 'off' Default properties: FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' MaxFunctionEvaluations: '100*numberOfVariables' MaxIterations: 400 ObjectiveLimit: -1.0000e+20 OptimalityTolerance: 1.0000e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 SpecifyConstraintGradient: 0 SpecifyObjectiveGradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Options not used by current Algorithm ('sqp') Default properties: BarrierParamUpdate: 'monotone' EnableFeasibilityMode: 0 FunctionTolerance: 1.0000e-06 HessianApproximation: 'not applicable' HessianFcn: [] HessianMultiplyFcn: [] HonorBounds: 1 SubproblemAlgorithm: 'factorization'
% @fmincon is the function handle for fmincon
The options that you set appear under the Set by user:
heading.
The properties under the Default:
heading are other options that
you can set.
Fit Mdl
to y
using the new optimization
options.
Mdl = arima(1,0,0);
EstMdl = estimate(Mdl,y,'Options',options);
____________________________________________________________ Diagnostic Information Number of variables: 3 Functions Objective: @(X)nLogLike(X,YData,XData,E,V,Mdl,AR.Lags,MA.Lags,maxPQ,T,isDistributionT,options,userSpecifiedY0,userSpecifiedE0,userSpecifiedV0,trapValue) Gradient: finite-differencing Hessian: Quasi-Newton Nonlinear constraints: @(x)internal.econ.arimaNonLinearConstraints(x,LagsAR,LagsSAR,LagsMA,LagsSMA,tolerance) Nonlinear constraints gradient: finite-differencing Constraints Number of nonlinear inequality constraints: 1 Number of nonlinear equality constraints: 0 Number of linear inequality constraints: 0 Number of linear equality constraints: 0 Number of lower bound constraints: 3 Number of upper bound constraints: 3 Algorithm selected sqp ____________________________________________________________ End diagnostic information ARIMA(1,0,0) Model (Gaussian Distribution): Value StandardError TStatistic PValue _________ _____________ __________ _________ Constant -0.064857 0.23456 -0.2765 0.78217 AR{1} 0.46386 0.15781 2.9393 0.0032895 Variance 1.2308 0.47275 2.6035 0.0092266
Note
estimate
numerically maximizes the loglikelihood function, potentially using equality, inequality, and lower and upper bound constraints. If you setAlgorithm
to anything other thansqp
, make sure the algorithm supports similar constraints, such asinterior-point
. For example,trust-region-reflective
does not support inequality constraints.estimate
sets a constraint level ofConstraintTolerance
so constraints are not violated. An estimate with an active constraint has unreliable standard errors because variance-covariance estimation assumes that the likelihood function is locally quadratic around the maximum likelihood estimate.
Conditional Mean Model Constraints
The software enforces these constraints while estimating an ARIMA model:
Stability of nonseasonal and seasonal AR operator polynomials
Invertibility of nonseasonal and seasonal MA operator polynomials
Innovation variance strictly greater than zero
Degrees of freedom strictly greater than two for a t innovation distribution
See Also
arima
| estimate
| optimoptions
| fmincon