Automatically identifies time series outliers, determines parameters of a multiplicative seasonal \text{ARIMA}(p,0,q)\times(0,d,0)_s
             model and produces forecasts that incorporate the effects of outliers whose effects persist beyond the end of the series.

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

Syntax

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

Remarks

Class AutoARIMA determines the parameters of a multiplicative seasonal \text{ARIMA}(p,0,q) \times (0,d,0)_s model, and then uses the fitted model to identify outliers and prepare forecasts. The order of this model can be specified or automatically determined through use of an overloaded Compute method. Potential missing values in the time series are estimated prior to the parameter and outlier computations.

The \text{ARIMA}(p,0,q) \times (0,d,0)_s model handled by class AutoARIMA has the following form:


             \phi(B)\Delta_s^d(Y_t-\mu)=\theta(B)a_t,\;t=1,2,\ldots,n,
where

             \phi(B)= 1-\phi_1B-\phi_2B^2-\ldots-\phi_pB^p,\;
             \theta(B)=1-\theta_1B-\theta_2B^2-\ldots-\theta_qB^q,\;\Delta_s^d=(1-B_s)^d
and
B^kY_t = Y_{t-k}

It is assumed that all roots of \phi(B) and \theta(B) lie outside the unit circle. Clearly, if s=1 the model reduces to the traditional 
             \text{ARIMA}(p,d,q) model.

Y_t is the unobserved, outlier-free time series with mean \mu, and white noise a_t. This model is referred to as the underlying, outlier-free model. Class AutoARIMA does not assume that this series is observable. It assumes that the observed values might be contaminated by one or more outliers, whose effects are added to the underlying outlier-free series:

Y_t^\ast = Y_t+{\it outlierEffect}_t\,

Outlier identification uses the algorithm developed by Chen and Liu (1993). Outliers are classified into 1 of 5 types:

  1. innovational
  2. additive
  3. level shift
  4. temporary change and
  5. unable to identify

Once the model parameters are estimated and the outliers are identified, class AutoARIMA estimates Y_t, the outlier-free series representation of the data, by removing the estimated outlier effects. Parameter estimation and outlier detection are based on methods from class ARMAOutlierIdentification.

Using the information about the adjusted \text{ARIMA}(p,0,q)
             \times (0,d,0)_s model and the removed outliers, forecasts are then prepared for the outlier-free series. Outlier effects are added to these forecasts to produce a forecast for the observed series, Y_t^\ast
             . If there are no outliers, then the forecasts for the outlier-free series and the observed series will be identical.

Model selection techniques

Users have an option of either specifying specific values for p,\,q,\,s,\,d or have class AutoARIMA automatically select best fit values. Model selection can be conducted in one of three ways listed below depending upon which Compute method of class AutoARIMA is invoked.

Technique 1: Automatic {\bf\text{ARIMA}}(p,0,0)
             \times(0,d,0)_sSelection

This technique, chosen by use of method Compute(int maxlag), tries to fit a model of the form

\phi(B)\Delta_s^d (Y_t-\mu) = a_t
to the outlier free series Y_t.

It initially searches for the \text{AR}(p) representation with minimum value of the chosen information criterion (AIC, AICC or BIC) for the noisy data, where p=0,\ldots,\text{maxlag}
             .

If the user calls methods SetPeriods and SetDifferenceOrders prior to invoking the Compute method, then the values in arrays periods and orders are included in the search to find an optimum \text{ARIMA}(p,0,0)
             \times(0,d,0)_s representation of the series. Here, every possible combination of values for s, d in periods and orders, respectively, are examined. The best found model order is then used as input for the parameter and outlier detection routine.

The optimum values for p, q, s and d are returned through method GetOptimumModelOrder.

Technique 2: Grid Search

This technique, chosen by means of method Compute(int[] arOrders, int[] maOrders), conducts a grid search for p and q using all possible combinations of candidate values in arOrders and maOrders.

If methods SetPeriods and SetDifferenceOrders are called prior to invoking the Compute method, then the grid search is extended to include the candidate values for s and d given in arrays periods and orders, respectively.

If method SetDifferenceOrders is not called prior to Compute, then d=0 by default, and therefore no seasonal adjustment is attempted. The grid search is then restricted to searching for optimum values of p and q only.

The optimum values for p, q, s and d are contained in the array returned by method GetOptimumModelOrder.

Technique 3: Specified{\bf\text{ARIMA}}(p,0,q)
             \times(0,d,0)_sModel

In the third technique, selectable by means of method Compute(int p, int q, int s, int d), specific values for p, q, s and d are given. This technique has essentially the same functionality as class ARMAOutlierIdentification but with the additional option of missing value estimation.

Outliers

The algorithm of Chen and Liu (1993) is used to identify outliers. The number of outliers identified is returned via the NumberOfOutliers property. Both the time and classification for these outliers are contained in the matrix returned by method GetOutlierStatistics. Outliers are classified into one of five categories based upon the standardized statistic for each outlier type. The time at which the outlier occurred is given in the first column of the returned matrix. The outlier identifier returned in the second column is according to the descriptions in the following table:

Outlier IdentifierNameGeneral Description
INNOVATIONAL = 0Innovational Outlier (IO)Innovational outliers persist. That is, there is an initial impact at the time the outlier occurs. This effect continues in a lagged fashion with all future observations. The lag coefficients are determined by the coefficients of the underlying \text{ARIMA}(p,0,q)\times(0,d,0)_s
             model.
ADDITIVE = 1Additive Outlier (AO)Additive outliers do not persist. As the name implies, an additive outlier affects only the observation at the time the outlier occurs. Hence additive outliers have no effect on future forecasts.
LEVEL_SHIFT = 2Level Shift (LS)Level shift outliers persist. They have the effect of either raising or lowering the mean of the series starting at the time the outlier occurs. This shift in the mean is abrupt and permanent.
TEMPORARY_CHANGE = 3Temporary Change (TC) Temporary change outliers persist and are similar to level shift outliers with one major exception. Like level shift outliers, there is an abrupt change in the mean of the series at the time this outlier occurs. However, unlike level shift outliers, this shift is not permanent. The TC outlier gradually decays, eventually bringing the mean of the series back to its original value. The rate of this decay is modeled using property Delta. The default of Delta = 0.7 is the value recommended for general use by Chen and Liu (1993).
UNABLE_TO_IDENTIFY = 4Unable to Identify (UI) If an outlier is identified as the last observation, then the algorithm is unable to determine the outlier's classification. For forecasting, a UI outlier is treated as an IO outlier. That is, its effect is lagged into the forecasts.

Except for additive outliers (AO), the effect of an outlier persists to observations following that outlier. Forecasts produced by methods of class AutoARIMA take this into account.

For more information on forecasting an outlier contaminated series, see the description of class ARMAOutlierIdentification.

Inheritance Hierarchy

System..::.Object
Imsl.Stat..::.AutoARIMA

See Also