8.8 Exercises

  1. Consider the the number of pigs slaughtered in Victoria, available in the aus_livestock dataset.
    1. Use the ETS() function in R to estimate the equivalent model for simple exponential smoothing. Find the optimal values of \(\alpha\) and \(\ell_0\), and generate forecasts for the next four months.
    2. Compute a 95% prediction interval for the first forecast using \(\hat{y} \pm 1.96s\) where \(s\) is the standard deviation of the residuals. Compare your interval with the interval produced by R.
  2. Write your own function to implement simple exponential smoothing. The function should take arguments y (the time series), alpha (the smoothing parameter \(\alpha\)) and level (the initial level \(\ell_0\)). It should return the forecast of the next observation in the series. Does it give the same forecast as ETS()?

  3. Modify your function from the previous exercise to return the sum of squared errors rather than the forecast of the next observation. Then use the optim() function to find the optimal values of \(\alpha\) and \(\ell_0\). Do you get the same values as the ETS() function?

  4. Combine your previous two functions to produce a function which both finds the optimal values of \(\alpha\) and \(\ell_0\), and produces a forecast of the next observation in the series.

  5. Data set fma::books contains the daily sales of paperback and hardcover books at the same store. The task is to forecast the next four days’ sales for paperback and hardcover books.
    1. Plot the series and discuss the main features of the data.
    2. Use an ETS(A,N,N) model to forecast each series, and plot the forecasts.
    3. Compute the RMSE values for the training data in each case.
  6. We will continue with the daily sales of paperback and hardcover books in data set books.
    1. Apply the appropriate model for Holt’s linear method to the paperback and hardcover book sales and compute four-day forecasts in each case.
    2. Compare the RMSE measures of Holt’s method for the two series to those of simple exponential smoothing in the previous question. (Remember that Holt’s method is using one more parameter than SES.) Discuss the merits of the two forecasting methods for these data sets.
    3. Compare the forecasts for the two series using both methods. Which do you think is best?
    4. Calculate a 95% prediction interval for the first forecast for each series, using the RMSE values and assuming normal errors. Compare your intervals with those produced using R.
  7. For this exercise use data set fma::eggs, the price of a dozen eggs in the United States from 1900–1993. Experiment with the various options in the ETS() function to see how much the forecasts change with damped trend, or with a Box-Cox transformation. Try to develop an intuition of what each argument is doing to the forecasts.

    [Hint: use a forecast horizon of 100 (h=100) so you can clearly see the differences between the various options when plotting the forecasts.]

    Which model gives the best RMSE?

  8. Recall your retail time series data (from Exercise 3 in Section 2.10).
    1. Why is multiplicative seasonality necessary for this series?
    2. Apply Holt-Winters’ multiplicative method to the data. Experiment with making the trend damped.
    3. Compare the RMSE of the one-step forecasts from the two methods. Which do you prefer?
    4. Check that the residuals from the best method look like white noise.
    5. Now find the test set RMSE, while training the model to the end of 2010. Can you beat the seasonal naïve approach from Exercise 8 in Section 3.6?
  9. For the same retail data, try an STL decomposition applied to the Box-Cox transformed series, followed by ETS on the seasonally adjusted data. How does that compare with your best previous forecasts on the test set?

  10. Compute the total domestic overnight trips for holidays across Australia from the tourism dataset.
    1. Plot the data and describe the main features of the series.
    2. Decompose the series using STL and obtain the seasonally adjusted data.
    3. Forecast the next two years of the series using an additive damped trend method applied to the seasonally adjusted data. (This can be specified using decomposition_model().)
    4. Forecast the next two years of the series using an appropriate model for Holt’s linear method applied to the seasonally adjusted data (as before but without damped trend).
    5. Now use ETS() to choose a seasonal model for the data.
    6. Compare the RMSE of the ETS model with the RMSE of the models you obtained using STL decompositions. Which gives the better in-sample fits?
    7. Compare the forecasts from the three approaches? Which seems most reasonable?
    8. Check the residuals of your preferred model.
  11. For this exercise use data set expsmooth::visitors, the monthly Australian short-term overseas visitors data, May 1985–April 2005.
    1. Make a time plot of your data and describe the main features of the series.
    2. Create a training set that witholds the last two years of available data. Forecast the test set using an appropriate model for Holt-Winters’ multiplicative method.
    3. Why is multiplicative seasonality necessary here?
    4. Forecast the two-year test set using each of the following methods:
      1. an ETS model;
      2. an additive ETS model applied to a log transformed series;
      3. a seasonal naïve method;
      4. an STL decomposition applied to the log transformed data followed by an ETS model applied to the seasonally adjusted (transformed) data.
    5. Which method gives the best forecasts? Does it pass the residual tests?
    6. Compare the same four methods using time series cross-validation instead of using a training and test set. Do you come to the same conclusions?
    1. Apply cross-validation techniques to produce 1 year ahead ETS and seasonal naïve forecasts for Portland cement production (from aus_production). Use a stretching data window with initial size of 5 years, and increment the window by one observation.
    2. Compute the MSE of the resulting \(4\)-step-ahead errors. (Hint: make sure you remove missing values.) Why are there missing values? Comment on which forecasts are more accurate. Is this what you expected?
  12. Compare ETS(), SNAIVE() and decomposition_model(STL, ???) on the following six time series. You might need to use a Box-Cox transformation for the STL decomposition forecasts. Use a test set of three years to decide what gives the best forecasts.

    • Beer and bricks production from aus_production
    • Cost of drug subsidies for diabetes (ATC2 == "A10") and corticosteroids (ATC2 == "H02") from PBS
    • Total food retailing turnover for Australia from aus_retail.
    1. Use ETS() to select an appropriate model for the following series:

      tourism, gafa_stock, pelt.

      Does it always give good forecasts?

    2. Find an example where it does not work well. Can you figure out why?

  13. Show that the point forecasts from an ETS(M,A,M) model are the same as those obtained using Holt-Winters’ multiplicative method.

  14. Show that the forecast variance for an ETS(A,N,N) model is given by \[ \sigma^2\left[1+\alpha^2(h-1)\right]. \]

  15. Write down 95% prediction intervals for an ETS(A,N,N) model as a function of \(\ell_T\), \(\alpha\), \(h\) and \(\sigma\), assuming normally distributed errors.