Case Studies

If you're interested in time series analysis and forecasting, this is the right place to be. The Time Series Lab (TSL) software platform makes time series analysis available to anyone with a basic knowledge of statistics. Future versions will remove the need for a basic knowledge altogether by providing fully automated forecasting systems. The platform is designed and developed in a way such that results can be obtained quickly and verified easily. At the same time, many advanced time series and forecasting operations are available for the experts. In our case studies, we often present screenshots of the program so that you can easily replicate results.

Did you know you can make a screenshot of a TSL program window? Press Ctrl + p to open a window which allows you to save a screenshot of the program. The TSL window should be located on your main monitor.

Click on the buttons below to go to our case studies. At the beginning of each case study, the required TSL package is mentioned. Our first case study, about the Nile data, is meant to illustrate the basic workings of the program and we advise you to start with that one.

US meat production

Author: Rutger Lit
Date: July 05, 2022
Software: Time Series Lab - Home Edition
Topics: abnormal ACF pattern

US meat production

This case study is on US meat production. Load the dataset us meat production.csv from the data folder located in the install folder of TSL. Select and plot the Pork time series. We see monthly production of pork in the United States in millions of pounds. At first glance, this dataset should not give us too many problems with a clear upward trend and a monthly seasonal. However, this time series turns out to hide some very interesting dynamics which we will uncover in this case study.

Basic structural time series model

We begin with the Basic structural time series model consisting of a time-varying level, slope, and monthly seasonal (s=12). Select these components on the Build your own model page and Estimate the model by clicking the Estimate button on the Estimation page. The model fit is:


—————————————————————————————————— MODEL FIT ———————————————————————————————————

Model: TSL001
variable: Pork

                                               TSL001
Log likelihood                              -4187.358   
Akaike Information Criterion (AIC)           8406.715   
Bias corrected AIC (AICc)                    8407.472   
Bayesian Information Criterion (BIC)         8480.335   
in-sample MSE                                6005.796   
... RMSE                                       77.497   
... MAE                                        60.766   
... MAPE                                        4.357   
Sample size                                       748   
Effective sample size                             735   
* based on one-step-ahead forecast errors
                            

The graphical output is presented in the following figure:

Extracted Level and Seasonal

Data inspection and preparation page

We see a time-varying seasonal pattern where the difference between months increase over time. Without investigating further we could accept this model but the ACF of the predicted standardized residuals (top right panel of the figure below) shows something interesting and worrying at the same time. The ACF shows strong signs of residual autocorrelation and it is periodic with a period of 3, often followed by a negative correlation spike. The spectral density (bottom right panel next figure) confirms the periodicity with a peak at 2.0/0.7 ≈ 2.86. What is going on here? Apparently there is strong periodicity left in the residuals.
It could be that the periodic behaviour has something to do with reporting rules. A period of ≈ 2.86 means at the end of a quarter. Could it be that numbers need to be reported at the end of each quarter and numbers of the first and second month within a quarter are sometimes reported in the third month?

Graphical diagnostics of standardized residuals

Data inspection and preparation page

Adding a cycle component

If we add a cycle to our model, the model fit strongly improves. The output of TSL is:


—————————————————————————————— PARAMETER SUMMARY ———————————————————————————————

Cycle properties:

Parameter type                   Cycle 1
Variance                       1368.1797   
Period                            2.8716   
Frequency                         2.1880   
Damping factor                    0.9999   
Amplitude                        63.0507   

—————————————————————————————————— MODEL FIT ———————————————————————————————————

Model: TSL002
variable: Pork

                                               TSL002
Log likelihood                              -4031.384   
Akaike Information Criterion (AIC)           8100.767   
Bias corrected AIC (AICc)                    8101.829   
Bayesian Information Criterion (BIC)         8188.190   
in-sample MSE                                3915.803   
... RMSE                                       62.576   
... MAE                                        47.334   
... MAPE                                        3.440   
Sample size                                       748   
Effective sample size                             735   
* based on one-step-ahead forecast errors
                            

Notice that the period of the cycle is estimated at 2.87 which is close to the information contained in the spectral density with a period of 2.0/0.7 ≈ 2.86. The graphical output is shown in the following figure. Again the series shows something interesting. The Extracted cycle itself shows periodic behaviour with a cycle within the cycle.

Extracted Level, Seasonal, and Cycle

Data inspection and preparation page

Quarterly data

Another way of dealing with the large spikes in the autocorrelation plot is by aggregating the data. The series can be converted from a monthly series into a quarterly one by summing up the data every three months. Currently this cannot be done in TSL itself but let us know if this is a feature you want to see!
For now we used Excel to aggregate the data. The output of modelling the resulting quarterly series with a time-varing level, slope, and seasonal (s=4) is presented in the following figure. The figure shows us that the ACF of the predicted residuals does not show significant autocorrelation.

Extracted Level and Seasonal for quarterly series

Data inspection and preparation page

Further exploration

  • Verify that in the model with the cycle, if the cycle period is fixed at exactly 3 months, the model fit is much worse compared to the model with the estimated cycle period of 2.87.
  • Verify that the ACF of the standardized residuals of the model with the cycle is much better compared to the model without a cycle but that we still see correlation spikes at some lags.
  • Show that the model fit of the model with the cycle can be further improved by letting TSL search for outliers and structural breaks.