Computes maximum likelihood estimates of parameters for an ARMA model with p and q autoregressive and moving average terms respectively.

Namespace: Imsl.Stat
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.0.0

Syntax

C#
[SerializableAttribute]
public class ARMAMaxLikelihood
Visual Basic (Declaration)
<SerializableAttribute> _
Public Class ARMAMaxLikelihood
Visual C++
[SerializableAttribute]
public ref class ARMAMaxLikelihood

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.

Inheritance Hierarchy

System..::.Object
Imsl.Stat..::.ARMAMaxLikelihood

See Also