AutoARIMA Class |
Namespace: Imsl.Stat
The AutoARIMA type exposes the following members.
Name | Description | |
---|---|---|
Compute(Int32) |
Estimates potential missing values, detects and determines outliers and
simultaneously fits an optimum model from a set of different models to the outlier free
time series.
| |
Compute(Int32, Int32) |
Estimates potential missing values, detects and determines outliers and
simultaneously fits an optimum model from a set of different models to the outlier free
time series.
| |
Compute(Int32, Int32, Int32, Int32) |
Estimates potential missing values, detects and determines outliers and
simultaneously fits an
model to the outlier free time series.
| |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
Forecast |
Computes forecasts, associated probability limits and
weights for the given outlier contaminated time series.
| |
GetAR |
Returns the final autoregressive parameter estimates of the optimum
model.
| |
GetCompleteTimes |
Returns all time points at which the original series was observed,
including values for times with missing values in x.
| |
GetCompleteTimeSeries |
Returns the original series with potentially missing values replaced
by estimates.
| |
GetDeviations |
Returns the deviations used for calculating the forecast confidence
limits.
| |
GetForecast |
Returns forecasts for the original outlier contaminated series.
| |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetMA |
Returns the final moving average parameter estimates of the optimum
model.
| |
GetOptimumModelOrder |
Returns the order of the
optimum model.
| |
GetOutlierFreeForecast |
Returns forecasts for the outlier free series.
| |
GetOutlierFreeSeries |
Returns the outlier free series.
| |
GetOutlierStatistics |
Returns the outlier statistics.
| |
GetPsiWeights |
Returns the weights of the infinite order
moving average form of the model.
| |
GetResiduals |
Returns the residuals.
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
SetDifferenceOrders |
Defines the orders of the periodic differences used in the determination
of the optimum model.
| |
SetPeriods |
Defines the periods used in the determination of the optimum model.
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
ADDITIVE |
Indicates detection of an additive outlier.
| |
INNOVATIONAL |
Indicates detection of an innovational outlier.
| |
LEVEL_SHIFT |
Indicates detection of a level shift outlier.
| |
TEMPORARY_CHANGE |
Indicates detection of a temporary change outlier.
| |
UNABLE_TO_IDENTIFY |
Indicates detection of an outlier that cannnot be categorized.
|
Name | Description | |
---|---|---|
AccuracyTolerance |
The tolerance value controlling the accuracy of the parameter
estimates.
| |
AIC |
Akaike's information criterion (AIC) for the optimum model.
| |
AICC |
Akaike's Corrected Information Criterion (AICC) for the optimum
model.
| |
BIC |
The Bayesian Information Criterion (BIC) for the optimum model.
| |
Confidence |
The confidence level used in the calculation of confidence limit
deviations via method GetDeviations.
| |
Constant |
The constant parameter estimate for the optimum model.
| |
CriticalValue |
The critical value used as a threshold during outlier detection.
| |
Delta |
The dampening effect parameter.
| |
MaximumARLag |
The maximum AR lag used in the determination of the optimum (s,d)
combination of method Compute(int[] arOrders, int[] maOrders).
| |
ModelSelectionCriterion |
The model selection criterion used in the optimum model search.
| |
NumberOfOutliers |
The number of detected outliers.
| |
RelativeError |
The stopping criterion for use in the nonlinear equation solver.
| |
ResidualStandardError |
The residual standard error of the outlier free series.
|
Class AutoARIMA determines the parameters of a multiplicative seasonal 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 model handled by class AutoARIMA has the following form:
where andIt is assumed that all roots of and lie outside the unit circle. Clearly, if the model reduces to the traditional model.
is the unobserved, outlier-free time series with mean , and white noise . 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:
Outlier identification uses the algorithm developed by Chen and Liu (1993). Outliers are classified into 1 of 5 types:
Once the model parameters are estimated and the outliers are identified, class AutoARIMA estimates , 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 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, . 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 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 Selection
This technique, chosen by use of method Compute(int maxlag), tries to fit a model of the form
to the outlier free series .It initially searches for the representation with minimum value of the chosen information criterion (AIC, AICC or BIC) for the noisy data, where .
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 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 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: SpecifiedModel
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 Identifier | Name | General Description |
---|---|---|
INNOVATIONAL = 0 | Innovational 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 model. |
ADDITIVE = 1 | Additive 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 = 2 | Level 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 = 3 | Temporary 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 = 4 | Unable 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.