Solved – getting flat time series forecasts from most of the techniques

arimaexponential-smoothingforecastingrtime series

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)

Best Answer

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).