Computing Library › Machine Learning
Machine Learning

Exponential Smoothing

Exponential smoothing forecasts by averaging past values with weights that decay geometrically into the past.

Recent past matters most

Exponential smoothing forecasts a series as a weighted average of its history where recent observations count more, with weights decaying geometrically. A single parameter alpha, between zero and one, sets how fast old data is forgotten: near one the forecast tracks recent values closely, near zero it responds slowly and stays smooth. The simplest form suits data with no trend or seasonality.

The Holt-Winters family

Kronos motion — lego machine

Real series usually have trend and season, so the method is extended. Holt linear smoothing adds a second equation that smooths the trend with its own parameter beta. Holt-Winters adds a third that smooths a seasonal component with parameter gamma, in either an additive form (seasonal swings of constant size) or a multiplicative form (swings that grow with the level).

python
# Simple exponential smoothing
level = x[0]
for t in range(1, len(x)):
    level = alpha * x[t] + (1 - alpha) * level
forecast = level  # flat forward projection

State-space view

The Holt-Winters methods correspond to a formal class of state-space models known as ETS (Error, Trend, Seasonal). Casting them this way gives maximum-likelihood parameter estimation, automatic model selection among the additive and multiplicative combinations, and principled prediction intervals rather than point forecasts alone.

Why it endures

Exponential smoothing is fast, needs little data, and is hard to beat on many short seasonal series. It is closely related to ARIMA: simple exponential smoothing is equivalent to a particular ARIMA model. Alongside the seasonal-naive baseline, ETS is a standard reference that more elaborate forecasters, including neural sequence models, must outperform to earn their added complexity.