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 ![]() |
![]() | Compute(Int32[],Int32[]) |
Estimates potential missing values, detects and determines outliers and
simultaneously fits an optimum model from a set of different ![]() |
![]() | Compute(Int32, Int32, Int32, Int32) |
Estimates potential missing values, detects and determines outliers and
simultaneously fits an
![]() |
![]() | 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 ![]() |
![]() | 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 ![]() |
![]() | GetOutlierFreeForecast |
Returns forecasts for the outlier free series.
|
![]() | GetOutlierFreeSeries |
Returns the outlier free series.
|
![]() | GetOutlierStatistics |
Returns the outlier statistics.
|
![]() | GetPsiWeights |
Returns the ![]() |
![]() | 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:
It 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
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 ![]() |
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.