Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Principle:Online ml River Holt Winters Forecasting

From Leeroopedia


Knowledge Sources Domains Last Updated
River River Docs Online Machine Learning, Time Series Forecasting, Exponential Smoothing 2026-02-08 16:00 GMT

Overview

Online exponential smoothing method that decomposes time series into level, trend, and seasonal components with smoothing parameters controlling adaptation speed.

Description

Holt-Winters forecasting (also known as Triple Exponential Smoothing) is a classical time series method that models three structural components of a time series:

  • Level (l_t): The smoothed baseline value of the series at time t
  • Trend (b_t): The smoothed rate of change (slope) of the series
  • Seasonal (s_t): The smoothed seasonal deviation at position t mod m within the season

Each component is updated incrementally via exponential smoothing equations, where the smoothing parameters (alpha, beta, gamma) control the trade-off between responsiveness to new data and stability. This makes Holt-Winters naturally suited for online learning: each new observation triggers a simple, constant-time update of the three components.

The method supports both additive and multiplicative seasonality:

  • Additive: Seasonal effects are constant regardless of the series level
  • Multiplicative: Seasonal effects scale proportionally with the series level

Usage

Use Holt-Winters when:

  • The time series exhibits trend and/or seasonality with known period
  • You want an interpretable decomposition of the series into level, trend, and seasonal effects
  • Computational simplicity is important (constant-time updates per observation)
  • You want direct control over adaptation speed via smoothing parameters
  • The series is relatively well-behaved (homoskedastic for additive, heteroskedastic for multiplicative)

Theoretical Basis

Component Update Equations (Additive)

Given a new observation y_t at time t:

Level update:

l_t = alpha * (y_t - s_{t-m}) + (1 - alpha) * (l_{t-1} + b_{t-1})

Trend update:

b_t = beta * (l_t - l_{t-1}) + (1 - beta) * b_{t-1}

Seasonal update:

s_t = gamma * (y_t - l_{t-1} - b_{t-1}) + (1 - gamma) * s_{t-m}

Component Update Equations (Multiplicative)

Level update:

l_t = alpha * (y_t / s_{t-m}) + (1 - alpha) * (l_{t-1} + b_{t-1})

Seasonal update:

s_t = gamma * (y_t / (l_{t-1} + b_{t-1})) + (1 - gamma) * s_{t-m}

Forecast Equation

For h steps ahead:

Additive:

hat{y}_{t+h} = l_t + h * b_t + s_{t+h-m}

Multiplicative:

hat{y}_{t+h} = (l_t + h * b_t) * s_{t+h-m}

Smoothing Parameters

  • alpha (level smoothing, 0 < alpha < 1): Higher values make the level more responsive to recent observations
  • beta (trend smoothing, 0 < beta < 1): Higher values make the trend estimate adapt faster
  • gamma (seasonal smoothing, 0 < gamma < 1): Higher values cause seasonal factors to update more aggressively

Special Cases

  • beta = None: No trend component (reduces to Single Exponential Smoothing with optional seasonality)
  • gamma = None, seasonality = 0: No seasonality (reduces to Holt's linear trend method if beta is set, or Simple Exponential Smoothing if beta is also None)

Initialization

The first k = max(2, seasonality) values are used to initialize the components:

  • Level: Mean of the first k values
  • Trend: Mean of successive differences over the first k values
  • Seasonal factors: Each initial observation divided by the initial level

References

  • Hyndman, R.J. and Athanasopoulos, G. — Forecasting: Principles and Practice, Chapter 7: Exponential Smoothing

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment