Holt Winters Forecasting – How to Avoid Negative Results in Time Series Forecasting

exponential-smoothingforecastingtime series

I understood that Holt Winters forecasting may results in negative values due to trending. I did reduce trending component value, but still forecast values are negative territory. Our data set will never be in negative values (like electricity data set, which never falls below ZERO).

What sort of post algorithm techniques we can apply to make this value as non-negative value? Any help would be appreciated.

This implementation is in Java, so I can't use ets() package at this point of time (and I am assuming ets() also can't avoid negative values).

enter image description here

Best Answer

When your data must be positive, you shouldn't fit a model that can go negative, and if you do, you shouldn't be surprised that it may forecast there.

If your values are all strictly $> 0$, one common approach is to take logarithms and fit (and forecast) a model on that scale.

There are other ways to approach this sort of problem, but that's probably the simplest place to start.

You do need to take care when transforming forecasts though - a mean forecast on the log scale, if you simply exponentiate it, won't be a mean after you transform it back (it may be a good estimate of the median, however, and if you must have a mean there's an adjustment that can be made).