IST 230 Exercise on Forecasting Recurrences
Use Excel or OpenOffice to forecast the Airline Sales and US Interest Rate data in the data spreadsheet (data.xls or data.ods). You'll see that I started this for you for the airline data. There's also a tutorial in the exercise directory which you may find helpful.
Smooth the data using exponential smoothing. If you think the time series does not have a long-term trend up or down, use simple exponential smoothing. If you think the time series does have a long-term trend up or down, use trend-adjusted exponential smoothing for each of these time series. Note that this requires that you first do the simple exponential smoothing, and then compute the trend as the smoothed difference between successive forecasts. Finally, compute the trend-adjusted forecast as the sum of these two. Your objective should be to get a fairly smooth (hence the term “smoothing”) curve that follows the trend and runs as closely as possible through the middle of the data. This will usually give an RMS error as small as possible without following the cycles.
Add some type of cyclical adjustment. My usual approach is to compute a ratio the actual data and the exponentially smoothed forecast – a so-called “cyclical index” (or if it follows a calendar-year pattern, it's called a “seasonal index”.) You'll find additional info in the tutorial.
For both time series (airline-sales and interest-rates), forecast 12 periods ahead (h=12), starting from the beginning of your data, and extrapolate your forecast 12 periods past where you have actual data, based on your latest trend estimate and your cyclical index. Note you won't be able to assess the forecast for these, since you don't have actual data.
Use the exponential smoothing formulae given below.
Compute the mean-squared error by summing the squared differences between the forecast values and the actual values.
Your deliverable a one or two page executive summary of your results in a PDF document entitled exercise8-flastname.pdf, where flastname is your first initial and last name (e.g., for me, dmudgett). In your summary, present
- A brief one-sentence statement of your problem plus an explanation of how you
selected alpha, beta, and figured out the cyclical pattern. (1 paragraph)
- Graphs of your forecast and actual data for your final choices of alpha and beta
(should be just 2 graphs)
- A table of RMS forecast error for at least 3 choices of alpha and beta, for each time
Here are the exponential smoothing formulae (carefully read the explanation of n-periods ahead forecasting).
Simple Exponential Smoothing:
The simple exponential smoothing forecast is given by:
F(t+1) = F(t) + alpha*(A(t) - F(t)) = (1-alpha)*F(t) + alpha*A(t) (1)
F(t+1) = the one-period-ahead forecast for period t+1
F(t) = the forecast for period t
A(t) = the actual value in period t
alpha is known as the smoothing constant, a constant in the range (0,1)
Trend-Adjusted Exponential Smoothing:
The trend-adjusted exponentially smoothed forecast is given by:
FT(t+1) = F(t+1) + T(t) (2)
where F(t+1) = the one-period-ahead exponentially smoothed forecast for period t+1
T(t) = the trend correction in period t, which is given by:
T(t) = beta*(F(t)-F(t-1)) + (1-beta)*T(t-1) (3)
and beta is the smoothing constant for the trend estimation, also a constant in the range (0,1).
NOTE: Equation (2) is *not* a recurrence. Compute the recurrences (1) and (3) first, then use equation (2).
You can think of beta exactly the same way as you think about alpha for simple exponential smoothing. In fact, it's probably a good idea to set beta = alpha, unless you have a reason to think it should be different.
Comment: alpha and beta are usually determined by experimentation, to see what works best on the time-series you're forecasting. To give you some idea what the affect is, think about it this way:
alpha/beta equivalent n-period moving average
0.1 about 12 periods
0.2 about 6 periods
0.3 about 4 periods
0.5 about 3 periods
0.7 about 2 periods
These are just rough equivalences, but give you an idea how fast the smoother reacts to a major change in the data pattern.
Final point: Extrapolating the smoothed forecast more than one time-period ahead.
For simple exponential smoothing, forecasting more than one period ahead is no big deal. Just use the h-period-ahead formula (h is called the forecasting horizon):
F(t+h) = F(t+1) = (1-alpha)*F(t) + alpha*A(t) (4)
You also compute the trend exactly as before - use equation (3) completely unmodified. But equation (2) may change, depending on how many periods you want to extrapolate the trend. For example, if you want to forecast h-periods ahead and also extrapolate the trend h periods ahead, then change equation (2) to
FT(t+h) = F(t+h) + h*T(t) (5)
As a practical matter, a forecaster may not want to extrapolate the trend all the way through the forecast horizon. Let's say, for example that you want to forecast 6 periods ahead, and aren't sure the trend will continue all 6 periods. Let's say a retailer wants to use a forecast to decide how much of a product they needed 6 months down the line. If they extrapolate the trend all 6 months and it doesn't happen, they'll wind up with too much stock. In this case it may make sense to be more conservative and extrapolate the trend *less then* the total number of periods in the forecast horizon.
Either way - once you decide how many periods you want to extrapolate the forecast - call that integer m - then the trend-adjusted forecast is given by this slightly modified equation 5:
FT(t+k) = F(t+k) + min(k,m)*T(t) (6)