Click or drag to resize
AutoARIMA Class
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.
Inheritance Hierarchy
SystemObject
  Imsl.StatAutoARIMA

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

The AutoARIMA type exposes the following members.

Constructors
  NameDescription
Public methodAutoARIMA
Constructor for AutoARIMA.
Top
Methods
  NameDescription
Public methodCompute(Int32)
Estimates potential missing values, detects and determines outliers and simultaneously fits an optimum model from a set of different 
            \text{ARIMA}(p,0,0)\times(0,d,0)_s models to the outlier free time series.
Public methodCompute(Int32, Int32)
Estimates potential missing values, detects and determines outliers and simultaneously fits an optimum model from a set of different 
            \text{ARIMA}(p,0,q)\times(0,d,0)_s models to the outlier free time series.
Public methodCompute(Int32, Int32, Int32, Int32)
Estimates potential missing values, detects and determines outliers and simultaneously fits an \text{ARIMA}(p,0,q)\times(0,d,0)_s model to the outlier free 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
Computes forecasts, associated probability limits and \psi weights for the given outlier contaminated time series.
Public methodGetAR
Returns the final autoregressive parameter estimates of the optimum model.
Public methodGetCompleteTimes
Returns all time points at which the original series was observed, including values for times with missing values in x.
Public methodGetCompleteTimeSeries
Returns the original series with potentially missing values replaced by estimates.
Public methodGetDeviations
Returns the deviations used for calculating the forecast confidence limits.
Public methodGetForecast
Returns forecasts for the original outlier contaminated series.
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetMA
Returns the final moving average parameter estimates of the optimum model.
Public methodGetOptimumModelOrder
Returns the order (p,0,q)\times(0,d,0)_s of the optimum model.
Public methodGetOutlierFreeForecast
Returns forecasts for the outlier free series.
Public methodGetOutlierFreeSeries
Returns the outlier free series.
Public methodGetOutlierStatistics
Returns the outlier statistics.
Public methodGetPsiWeights
Returns the \psi weights of the infinite order moving average form of the model.
Public methodGetResiduals
Returns the residuals.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodSetDifferenceOrders
Defines the orders of the periodic differences used in the determination of the optimum model.
Public methodSetPeriods
Defines the periods used in the determination of the optimum model.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Fields
  NameDescription
Public fieldStatic memberADDITIVE
Indicates detection of an additive outlier.
Public fieldStatic memberINNOVATIONAL
Indicates detection of an innovational outlier.
Public fieldStatic memberLEVEL_SHIFT
Indicates detection of a level shift outlier.
Public fieldStatic memberTEMPORARY_CHANGE
Indicates detection of a temporary change outlier.
Public fieldStatic memberUNABLE_TO_IDENTIFY
Indicates detection of an outlier that cannnot be categorized.
Top
Properties
  NameDescription
Public propertyAccuracyTolerance
The tolerance value controlling the accuracy of the parameter estimates.
Public propertyAIC
Akaike's information criterion (AIC) for the optimum model.
Public propertyAICC
Akaike's Corrected Information Criterion (AICC) for the optimum model.
Public propertyBIC
The Bayesian Information Criterion (BIC) for the optimum model.
Public propertyConfidence
The confidence level used in the calculation of confidence limit deviations via method GetDeviations.
Public propertyConstant
The constant parameter estimate for the optimum model.
Public propertyCriticalValue
The critical value used as a threshold during outlier detection.
Public propertyDelta
The dampening effect parameter.
Public propertyMaximumARLag
The maximum AR lag used in the determination of the optimum (s,d) combination of method Compute(int[] arOrders, int[] maOrders).
Public propertyModelSelectionCriterion
The model selection criterion used in the optimum model search.
Public propertyNumberOfOutliers
The number of detected outliers.
Public propertyRelativeError
The stopping criterion for use in the nonlinear equation solver.
Public propertyResidualStandardError
The residual standard error of the outlier free series.
Top
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.

See Also