📊 Holt-Winters Method (Additive Seasonality)

Created by Dr. Pedram Jahangiry | Enhanced with Claude

Interactive Teaching Tool - Understanding Level, Trend, and Seasonal Components

🎯 Forecast Equation

ŷt+h|t = ℓt + h·bt + st+h-m(k+1)
Level + Trend + Seasonal component

📊 Level Equation

t = α·(yt - st-m) + (1-α)·(ℓt-1 + bt-1)
Deseasonalized smoothing

📈 Trend Equation

bt = β*·(ℓt - ℓt-1) + (1-β*)·bt-1
Trend smoothing (same as Holt)

🌊 Seasonal Equation

st = γ·(yt - ℓt-1 - bt-1) + (1-γ)·st-m
Updates seasonal factor for current period

🔍 Holt-Winters: The Complete Model

SES: Only level → Flat forecasts

Holt: Level + Trend → Linear forecasts

Holt-Winters: Level + Trend + Seasonality → Captures repeating patterns!

⚙️ Smoothing Parameters

0.30
0.10
0.20

📈 Initial Level and Trend

112
2.0
500ms

🌊 Initial Seasonal Components (s-11 to s0)

Time Step

0

Current Level

-

Current Trend

-

Current Season

-

Training RMSE

-

Test RMSE

-

📚 Parameter Guide: Understanding Alpha (α), Beta* (β*), and Gamma (γ)

🎯 Triple Parameter Control: Level, Trend, and Seasonal Components

📊 Alpha (α) - Level

Deseasonalized level adaptation:

  • Low α: Stable, noise-resistant
  • High α: Quick adaptation

📈 Beta* (β*) - Trend

Trend direction changes:

  • Low β*: Stable trend
  • High β*: Adaptive slope

🔄 Gamma (γ) - Seasonal

Seasonal pattern evolution:

  • Low γ: Fixed seasonality
  • High γ: Evolving patterns

🎯 Complete Forecast: ŷt+h|t = ℓt + h·bt + st+h-m(k+1)

The forecast combines all three components: current level + trend × horizon + appropriate seasonal factor.

  • Level (ℓt): Where the deseasonalized series currently is
  • Trend (h·bt): Linear growth component extending into future
  • Seasonal (st+h-m(k+1)): Cyclical pattern repeating every 12 months

⚡ High γ Benefits

Seasonal patterns can evolve over time. High γ allows adaptation to changing seasonal behavior (e.g., climate change affecting tourism patterns).

⚠️ High γ Risks

Too-responsive seasonal factors can overfit to noise, creating unrealistic seasonal fluctuations that don't represent true patterns.

🔬 Deseasonalization Process

The key insight: t = α·(yt - st-m) + (1-α)·(ℓt-1 + bt-1). By removing the seasonal component before updating the level, Holt-Winters prevents seasonal peaks from being confused with genuine level changes. This separation enables each component to capture its own distinct pattern in the data.

Experiment with all three parameters above to see how α, β*, and γ independently control different aspects of forecasting behavior!