Solved – Prediction intervals exponential smoothing statsmodels

exponential-smoothingprediction intervaltime series

I've been reading through Forecasting: Principles and Practice. I am working through the exponential smoothing section attempting to model my own data with python instead of R. I am confused about how to get prediction intervals for forecasts using ExponentialSmoothing in statsmodels. Is this something I have to build a custom state space model using MLEModel for? This is as far as I've gotten.

from statsmodels.tsa.holtwinters import ExponentialSmoothing
ses_seas_trend = ExponentialSmoothing(train.Volume,
                                  trend='add',
                                  damped=True,
                                  seasonal='add', 
                                  seasonal_periods=12)

ses_st_model = ses_seas_trend.fit()
yhat = ses_st_model.predict(start='2018-07', end='2020-02')

Best Answer

Statsmodels will now calculate the prediction intervals for exponential smoothing models. As of now, direct prediction intervals are only available for additive models. Multiplicative models can still be calculated via the regular ExponentialSmoothing class. Prediction intervals for multiplicative models can still be calculated via statespace, but this is much more difficult as the state space form must be specified manually. Here are some additional notes on the differences between the exponential smoothing options.