IMSL C# Numerical Library

ARMAMaxLikelihood Class

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

For a list of all members of this type, see ARMAMaxLikelihood Members.

System.Object
   Imsl.Stat.ARMAMaxLikelihood

public class ARMAMaxLikelihood

Thread Safety

Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.

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.

Requirements

Namespace: Imsl.Stat

Assembly: ImslCS (in ImslCS.dll)

See Also

ARMAMaxLikelihood Members | Imsl.Stat Namespace | Example