Click or drag to resize
ARMAMaxLikelihood Class
Computes maximum likelihood estimates of parameters for an ARMA model with p and q autoregressive and moving average terms respectively.
Inheritance Hierarchy
SystemObject
  Imsl.StatARMAMaxLikelihood

Namespace: Imsl.Stat
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.2.0
Syntax
[SerializableAttribute]
public class ARMAMaxLikelihood

The ARMAMaxLikelihood type exposes the following members.

Constructors
  NameDescription
Public methodARMAMaxLikelihood
Constructor for ARMAMaxLikelihood.
Top
Methods
  NameDescription
Public methodCompute
Computes the exact maximum likelihood estimates for the autoregressive and moving average parameters of an ARMA time series.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodForecast
Returns forecasts for lead times l=1,2,\ldots,\rm{nForecast} at origins z.Length-BackwardOrigin-1+j where j=1,\ldots,\rm{BackwardOrigin}+1.
Public methodGetAR
Returns the final autoregressive parameter estimates.
Public methodGetDeviations
Returns the deviations for each forecast used for calculating the forecast confidence limits.
Public methodGetForecast
Returns forecasts
Public methodGetGradients
Returns the gradients for the final parameter estimates.
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetMA
Returns the final moving average parameter estimates.
Public methodGetPsiWeights
Returns the psi weights used for calculating forecasts from the infinite order moving average form of the ARMA model.
Public methodGetResiduals
The current values of the vector of residuals.
Public methodGetTimeSeries
Returns the time series used to construct ARMAMaxLikelihood.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsInvertible
Tests whether the coefficients in ma are invertible.
Public methodIsStationary
Tests whether the coefficients in ar are stationary.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodSetAR
Sets the initial values for the autoregressive terms to the p values in ar.
Public methodSetMA
Sets the initial values for the moving average terms to the q values in ma.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyBackwardOrigin
The maximum backward origin.
Public propertyConfidence
The confidence level for calculating confidence limit deviations returned from GetDeviations.
Public propertyConstant
The constant parameter in the ARMA series.
Public propertyGradientTolerance
The gradient tolerance for the convergence algorithm.
Public propertyInnovationVariance
The estimated innovation variance of this series.
Public propertyLikelihood
The final estimate for -2\ln(L), where L is equal to the likelihood function evaluated using the final parameter estimates.
Public propertyMaxIterations
The maximum number of iterations.
Public propertyMean
The mean used for centering the series.
Public propertyP
The number of autoregressive terms in the ARMA model
Public propertyQ
The number of moving average terms in the ARMA model
Public propertyTolerance
The tolerance for the convergence algorithm.
Top
Remarks

ARMAMaxLikelihood computes estimates of parameters for a nonseasonal ARMA model given a sample of observations, W_t, for t=1, 2,\ldots, n, where n=z.Length. The class is derived from the maximum likelihood estimation algorithm described by Akaike, Kitagawa, Arahata and Tada (1979), and the XSARMA routine published in the TIMSAC-78 Library.

The stationary time series W_t with mean \mu can be represented by the nonseasonal autoregressive moving average (ARMA) model by the following relationship:

 {\phi}(B)(W_t-\mu)=\theta(B)a_t
where
 t{\in}Z, ~~ Z=\{\ldots,-2,-1,0,1,2,\ldots\}\rm{,}
B is the backward shift operator defined by B^kW_t=W_{t-k}\rm{,}
 \phi(B)=1-{\phi_1}B-{\phi_2}{B^2}-\ldots-{\phi_p}{B^p}, ~ p \ge 0\rm{.}
and
 \theta(B)=1-{\theta_1}B-{\theta_2}{B^2}-\ldots-{\theta_q}{B^q}, ~ q \ge 0\rm{.}
The ARMAMaxLikelihood class estimates the AR coefficients \phi_1,\phi_2,\ldots,\phi_p and the MA coefficients \theta_1,\theta_2,\ldots,\theta_q using maximum likelihood estimation.

ARMAMaxLikelihood checks the initial estimates for both the autoregressive and moving average coefficients to ensure that they represent a stationary and invertible series respectively.

If

{\phi_1},{\phi_2},\ldots,{\phi_p}
are the initial estimates for a stationary series then all (complex) roots of the following polynomial will fall outside the unit circle:
1-{\phi_1}z-{\phi_2}{z^2}-\ldots-{\phi_p}z^p\rm{.}

If

{\theta_1},{\theta_2},\ldots,{\theta_q}
are initial estimates for an invertible series then all (complex) roots of the polynomial
1-{\theta_1}z-{\theta_2}{z^2}-\ldots-{\theta_q}z^q
will fall outside the unit circle.

By default, the order of the lags for the autoregressive terms is 1, 2, \ldots, p and 1, 2, \ldots, q for the moving average terms. However, this cannot be overridden.

Initial values for the AR and MA coefficients can be supplied via the SetAR and SetMA methods. Otherwise, initial estimates are computed internally by the method of moments. The class computes the roots of the associated polynomials. If the AR estimates represent a nonstationary series, ARMAMaxLikelihood issues a warning message and replaces the intial AR estimates with initial values that are stationary. If the MA estimates represent a noninvertible series, a terminal error is issued and new initial values must be sought.

ARMAMaxLikelihood also validates the final estimates of the AR coefficients to ensure that they too represent a stationary series. This is done to guard against the possibility that the internal log-likelihood optimizer converged to a nonstationary solution. If nonstationary estimates are encountered, an exception will be thrown.

For model selection, the ARMA model with the minimum value for AIC might be preferred, \mbox{AIC} = -2\ln(L)+2(p+q), where L is the value of the maximum likelihood function evaluated at the parameter estimates.

ARMAMaxLikelihood can also handle white noise processes, i.e. ARMA(0,0) processes.

See Also

Reference

Other Resources