liveBook · Manning

Holt-Winters exponential smoothing

As explained in Statistics Every Programmer Needs

A Holt–Winters exponential smoothing model is an exponential-smoothing model that accounts for level, trend, and seasonal components in time-series data.

Holt-Winters exponential smoothing, also called triple exponential smoothing, forecasts time series by modeling level, trend, and seasonality together. It suits data with recurring seasonal patterns, including monthly sales or daily stock prices, and offers additive and multiplicative seasonal forms for constant or changing seasonal variation. section 7.4.4 section 7.4.7

Choose the exponential-smoothing form according to the observed structure:

  • Use simple exponential smoothing for data without a clear trend or seasonal pattern. section 7.4.4
  • Use double exponential smoothing when the series has a trend but no seasonal pattern. section 7.4.4
  • Use Holt-Winters when both trend and seasonal variation matter; specify additive seasonality for constant variation or multiplicative seasonality for changing variation. section 7.4.4 section 7.5

Exponential smoothing applies exponentially decaying weights to past observations rather than explicitly modeling the underlying data-generating structure. In Python, statsmodels can fit the model with chosen trend, seasonal, and seasonal-period settings. Evaluate fit with AIC and BIC, then compare forecasts with alternatives such as ARIMA; lower AIC and BIC indicate the better fit among the compared models. section 7.4.1 section 7.4.7 section 7.4.5

>>> hw_model = ExponentialSmoothing(train,
>>>                                 trend = 'add',
>>>                                 seasonal = 'add',
>>>                                 seasonal_periods = 5).fit()

Fit an additive Holt-Winters model with statsmodels by selecting additive trend and seasonality and setting a five-observation seasonal period. section 7.4.7

Apple closing-price forecast

A Holt-Winters model forecasts Apple closing prices through April 2024 from prices observed between October 1, 2023, and April 30, 2024. The plotted Holt-Winters forecast is slightly more accurate than the corresponding ARIMA forecast. section 7.4.7

How Statistics Every Programmer Needs covers it

How deep it goes
Explains level, trend, seasonality, exponential weighting, model variants, Python fitting, and AIC/BIC comparison without detailing derivations.
Examples
Uses monthly sales, recurring daily stock-price cycles, and Apple closing-price forecasts to illustrate seasonal modeling and evaluation.
What it assumes
Builds on simple and double exponential smoothing while treating level, trend, and seasonal components as the central modeling concepts.
What you can do after
Apply it via statsmodels to fit seasonal forecasts, compare AIC and BIC, and inspect predictions against actual observations.
How it connects
Connects simple exponential smoothing, double exponential smoothing, seasonal decomposition, and ARIMA through model choice and forecast comparison.

Also explained in

Compare how 2 books explain Holt-Winters exponential smoothing →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Statistics Every Programmer Needs. The section links point to the parts of the book it draws on.