IMSL C# Numerical Library

ARSeasonalFit Class

Estimates the optimum seasonality parameters for a time series using an autoregressive model, AR(p), to represent the time series.

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

System.Object
   Imsl.Stat.ARSeasonalFit

public class ARSeasonalFit

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

ARMA time series modeling assumes the time series is stationary. Seasonal trends and cycles violate this assumption, which can lead to inaccurate predictions. However, in many cases the nonstationary series can be transformed into a stationary series by first differencing the series. For example, if the correlation is strong from one period to the next, the series might be differenced by a lag of 1. Instead of fitting a model to the original series Z_t, the model is fitted to the transformed series: W_t = Z_t - Z_{t-1}. Higher order lags or differences are warranted if the series has cycles every 4 or 13 weeks. Class ARSeasonalFit is designed to help identify the optimum differencing for a series with seasonal trends or cycles.

ARSeasonalFit assumes the original series has no missing values, is equally spaced in time and is not centered before computing the optimum differencing. However, by default the transformed series is centered using the mean of that series. Users can change this default setting with the Center property. If Center is set to None the series is not centered, if set to Mean the series is centered using the mean of the series, and if it is set to Median, the series is centered using the median of the series. If Center is set to Mean or Median then the differenced series, W_t is centered before determination of minimum AIC and optimum lag.

For every combination of rows in SInitial and DInitial, the series Z_t is converted to the seasonally adjusted series using the following computation

W_t(s,d) = \Delta^{d_1}_{s_1}\Delta^{d_2}_{s_2}
            \cdots\Delta^{d_m}_{s_m}Z_t=\prod\limits_{i=1}^{m}\sum\limits_{j=0}^{d_i}
            {{d_i}\choose{j}}{(-1)}^jB^{j\cdot s_i}Z_t
where s := (s_1,\ldots,s_m), d := (d_1,\ldots,d_m) represent specific rows of arrays SInitial and DInitial respectively, and m is the number of differences, or m=SInitial.GetLength(1).

This transformation of the series Z_t to W_t (s,d) is computed using the Difference class. After this transformation the transformed series

W_t (s,d)
is centered, unless None is specified, and the ARAutoUnivariate class is used to automatically determine the optimum lag for an AR(p) representation for W_t (s,d).

This procedure is repeated for every possible combination of rows in SInitial and DInitial. The series with the minimum AIC is identified as the optimum representation and returned in the methods and properties AROrder, GetOptimumS, GetOptimumD, AIC, and GetAR. The transformed series with the minium AIC can be retrieved from the GetTransformedTimeSeries method.

Requirements

Namespace: Imsl.Stat

Assembly: ImslCS (in ImslCS.dll)

See Also

ARSeasonalFit Members | Imsl.Stat Namespace | Example