1
$\begingroup$

I have a simple example time series:

enter image description here

Data:

 Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov   Dec
2000 200.1 199.5 199.4 198.9 199.0 200.2 198.6 200.0 200.3 201.2 201.6 201.5
2001 201.5 203.5 204.9 207.1 210.5 210.5 209.8 208.8 209.5 213.2 213.7 215.1
2002 218.7 219.8 220.5 223.8 222.8 223.8 221.7 222.3 220.8 219.4 220.1 220.6
2003 218.9 217.8 217.7 215.0 215.3 215.9 216.7 216.7 217.7 218.7 222.9 224.9
2004 222.2 220.7 220.0 218.7 217.0 215.9 215.8 214.1 212.3 213.9 214.6 213.6
2005 212.1 211.4 213.1 212.9 213.3 211.5 212.3 213.0 211.0 210.7 210.1 211.4
2006 210.0 209.7 208.8 208.8 208.8 210.6 211.9 212.8 212.5 214.8 215.3 217.5
2007 218.8 220.7 222.2 226.7 228.4 233.2 235.7 237.1 240.6 243.8 245.3 246.0
2008 246.3 247.7 247.6 247.8 249.4 249.0 249.9 250.5 251.5 249.0 247.6 248.8
2009 250.4 250.7 253.0 253.7 255.0 256.2 256.0 257.4 260.4 260.0 261.3 260.4
2010 261.6 260.8 259.8 259.0 258.9 257.4 257.7 257.9 257.4 257.3 257.6 258.9
2011 257.8 257.7 257.2 257.5 256.8 257.5 257.0 257.6 257.3 257.5 259.6 261.1
2012 262.9 263.3 262.8 261.8 262.2 262.7                    

I then ran 4 different time series forecast models: Holt Winters smoothing, TBATS Smoothing, ARIMA, and AR Neural Nets with the following functions in R, using the "forecast" package: HoltWinters, tbats, auto.arima, nnetar

I forecasted 36 periods (3 years) ahead. The following results:

enter image description here

enter image description here

enter image description here

enter image description here

My question is why does the HoltWinters seem to be the only meaningful forecast. I have enough data that getting flat lines for all the other forecasts seems odd. Like something is breaking or I am not understanding something. Especially since TBATS is a generalized form of Holt Winters. And just looking at the series ARIMA should output something more than a straight average? Right? The (1,1,1) even implies its taking a difference into account. Also none of the models seem to fail and return a null model. Very curious why I am seeing these results and how to interpret.

Any help or explanation is much appreciated!

demand is a ts object by the way. Below is my code:

> hw_test = HoltWinters(demand)
> hw_forecast = forecast(hw_test, h=36)
> plot(hw_forecast)
> arima_test = auto.arima(demand)
> arima_forecast = forecast(arima_test, h=36)
> plot(arima_forecast)
> tbats_test = tbats(demand)
> tbats_forecast = forecast(tbats_test, h=36)
> plot(tbats_forecast)
> nn_test = nnetar(demand)
> nn_forecast = forecast(nn_test, h=36)
> plot(nn_forecast)
$\endgroup$
  • 2
    $\begingroup$ Arguably, any forecast that isn't flat would be the non-meaningful one, because it would have to be making some strong implicit assumptions in order to project such details into the future. Your first three forecasts make that very clear: within the limits of the prediction bands they show, they are all the same. $\endgroup$ – whuber Sep 8 '17 at 22:41
  • $\begingroup$ Interesting and good point. I guess I am used to the holt winters output where the output at least resembles the original series (with large bands) as opposed to just a flat trend (with large bands). Thanks for the input. On the off chance, do you have any suggestions for the best type of Time Series forecast for length of the prediction horizon? I.e what generally performs best as accurate predictions longer into the future? $\endgroup$ – Stevens Sep 8 '17 at 23:27
  • $\begingroup$ Tautologically, the method whose model is most faithful to the underlying process will tend to forecast best. Although that's a shallow observation, it suggests that thinking about the underlying model and its assumptions (rather than examining actual forecasts and their prediction bands), and testing them, might be a better way to identify superior forecasting methods. $\endgroup$ – whuber Sep 9 '17 at 13:49
1
$\begingroup$

Au contraire , you have a fairly complex time series which can't be (easily) solved with simple tools. Your data set suggests a change in the error variance at period 93 enter image description here . This is confirmed visually visually (if you look real close ) enter image description here as the series is highly autocorrelated lag 1. Analysis suggests a change in the model error variance at on around period 93 enter image description here ..

There are three time trends in addition to a first order differencing and an ma(1) .enter image description here . The residual plot suggests near randomness except for a possible level shift in the time range 78-96 enter image description here which is confirmed by the residual acf enter image description here culminating in a very reasonable upwards trending forecast enter image description here . The interesting thing to me there are no anomalies(pulses) that need remedying. I used AUTOBOX ( my tool of choice which i have helped to develop ) .

To find out what is wrong with the models you have tried , look at the residuals to assess thoroughness or the effectiveness of the equation to separate signal and noise.

The actual/fit and forecast is here enter image description here . Note that the AUTOBOX forecast is quite similar to your HW forecast without the false seasonal component (model injected).

$\endgroup$
  • 1
    $\begingroup$ Upward forecast?i would still call your forecast as flat because it hours only by may be 3 points up from 262 to 265 may be 266. $\endgroup$ – forecaster Sep 11 '17 at 23:24
  • $\begingroup$ slightly upwards forecast as result of the three trend components . Nothing aggressive just an upwards bend/tilt . $\endgroup$ – IrishStat Sep 12 '17 at 1:45
  • $\begingroup$ Echoing @whuber "' it suggests that thinking about the underlying model and its assumptions " can possibly be translated to examining the residuals to see whether or not any "signal" remains in the residuals or was inadvertently injected . $\endgroup$ – IrishStat Sep 12 '17 at 2:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.