TD_SEASONALNORMALIZE takes a non-stationary series and normalizes the series by first dividing the series into cycles and intervals, then averaging and normalizing with respect to each interval over all cycles. This form of normalization is effective relative to eliminating non-stationary properties such as unit roots and periodicities.
Seasonal variations are the regular patterns of change in a time series of data that occur in response to factors such as weather, holidays, or economic cycles. These patterns can mask the underlying trend or irregular components in the data, making it difficult to identify the true behavior of the series.
It is used in economic and financial data, such as retail sales, employment, and stock prices, to remove seasonal patterns and identify long-term trends. It is also used in fields, such as meteorology, where seasonal adjustments for temperature and rainfall data.
- Detect the unit roots using TD_DICKEY_FULLER.
- Use TD_SEASONALNORMALIZE to create a series with potentially the unit roots eliminated.
- Use the TD_DICKEY_FULLER function to verify that unit roots were eliminated from the newly-formed normalized series.
- Use TD_ARIMAESTIMATE and TD_ARIMAVALIDATE to create an ARIMA model from the normalized series.
- Use TD_ARIMAFORECAST to forecast the normalized series.
- Use TD_UNNORMALIZE passing in the forecasted series and the original unnormalized series to produce a forecasted series with the effects of TD_SEASONALNORMALIZE removed.
The following image shows a time series spanning 12 years. It shows a seasonal cycle of one calendar year and interval size of one month that is divided into its cyclic periods.
To normalize the data, the mean and standard deviation is computed across periods for each one-month interval. A normalized series is then created by applying the formula shown in the graphic. The normalized entry is computed by subtracting from the mean, then dividing by the standard deviation for the interval being processed.