Suavização exponencial

A suavização exponencial atribui pesos exponencialmente decrescentes às observações passadas: valores recentes importam mais do que os distantes. É um dos métodos de previsão mais usados na prática devido à sua simplicidade, adaptabilidade e forte desempenho empírico, particularmente em horizontes de curto prazo.

Suavização exponencial simples (SES)

Usada para séries sem tendência e sem sazonalidade. O valor suavizado \(\hat{y}_{t+1}\) é uma média ponderada da observação atual e da previsão anterior:

\[\hat{y}_{t+1} = \alpha y_t + (1-\alpha)\hat{y}_t, \qquad 0 < \alpha \leq 1\]

Expandindo recursivamente:

\[\hat{y}_{t+1} = \alpha y_t + \alpha(1-\alpha)y_{t-1} + \alpha(1-\alpha)^2 y_{t-2} + \cdots\]

Cada observação passada recebe peso \(\alpha(1-\alpha)^j\) na defasagem \(j\). Os pesos decrescem geometricamente: a observação de 5 períodos atrás recebe peso \(\alpha(1-\alpha)^5\).

O parâmetro de suavização \(\alpha\):

  • \(\alpha\) próximo de 1: peso alto na observação mais recente, pouca memória. Reage rapidamente, mas é ruidoso.
  • \(\alpha\) próximo de 0: adaptação lenta, suavização intensa. Reage lentamente às mudanças.
  • O \(\alpha\) ótimo é estimado minimizando a soma dos quadrados dos erros de previsão de um passo.

As previsões do SES são planas: \(\hat{y}_{T+h} = \hat{y}_{T+1}\) para todo \(h > 1\). Ele não consegue extrapolar uma tendência.

Suavização exponencial simples aplicada a uma série sem tendência mostrando o efeito de diferentes valores de alfa

\(\alpha\) alto (vermelho) acompanha os dados de perto, mas é ruidoso. \(\alpha\) baixo (verde) é mais suave, mas mais lento para se adaptar a mudanças reais.

Suavização exponencial dupla (método de Holt)

Estende o SES para séries com tendência, mas sem sazonalidade. Duas equações de suavização: uma para o nível \(\ell_t\) e outra para a tendência \(b_t\):

\[\ell_t = \alpha y_t + (1-\alpha)(\ell_{t-1} + b_{t-1})\]

\[b_t = \beta(\ell_t - \ell_{t-1}) + (1-\beta)b_{t-1}\]

\[\hat{y}_{t+h} = \ell_t + h \cdot b_t\]

\(\alpha \in (0,1)\) suaviza o nível; \(\beta \in (0,1)\) suaviza a tendência. A previsão de \(h\) passos extrapola linearmente a tendência estimada a partir do último nível suavizado.

O método de Holt assume uma tendência aditiva constante: previsões de longo horizonte divergem linearmente. Para tendências amortecidas (que costumam prever melhor), um parâmetro de amortecimento \(\phi \in (0,1)\) é adicionado: \(\hat{y}_{t+h} = \ell_t + (\phi + \phi^2 + \cdots + \phi^h)b_t\).

Suavização exponencial tripla (Holt-Winters)

Adiciona um componente sazonal ao método de Holt. Duas variantes:

Aditiva (amplitude sazonal constante):

\[\ell_t = \alpha(y_t - s_{t-m}) + (1-\alpha)(\ell_{t-1} + b_{t-1})\]

\[b_t = \beta(\ell_t - \ell_{t-1}) + (1-\beta)b_{t-1}\]

\[s_t = \gamma(y_t - \ell_{t-1} - b_{t-1}) + (1-\gamma)s_{t-m}\]

\[\hat{y}_{t+h} = \ell_t + h \cdot b_t + s_{t+h-m}\]

Multiplicativa (amplitude sazonal proporcional ao nível): substitui as operações aditivas por multiplicativas. Use quando as oscilações sazonais crescem com o nível.

\(m\) é a duração da estação (12 para dados mensais, 4 para trimestrais). Esse método é tratado em detalhe no post sobre Holt-Winters.

Comparação de SES, método de Holt e Holt-Winters aplicados à série de passageiros aéreos

O SES (cinza) produz uma previsão plana. Holt (laranja) captura a tendência, mas não a sazonalidade. Holt-Winters multiplicativo (vermelho) captura tanto a tendência quanto a amplitude sazonal crescente: o mais preciso para essa série.

O framework ETS

Todos os métodos de suavização exponencial são casos especiais do framework ETS (Error, Trend, Seasonality: Erro, Tendência, Sazonalidade), que fornece uma representação unificada em espaço de estados:

  • Erro: aditivo (A) ou multiplicativo (M).
  • Tendência: nenhuma (N), aditiva (A), aditiva amortecida (Ad).
  • Sazonalidade: nenhuma (N), aditiva (A), multiplicativa (M).

Exemplos: ETS(A,N,N) = SES; ETS(A,A,N) = método de Holt; ETS(M,A,M) = Holt-Winters multiplicativo.

O framework ETS permite a seleção do modelo por AIC e fornece intervalos de previsão adequados por meio da representação em espaço de estados. Ele é implementado na função ets() do R, que seleciona automaticamente o melhor modelo.

⚠️ A suavização exponencial não é adequada para todas as séries

A suavização exponencial funciona melhor para séries com uma estrutura estável (nível, tendência, sazonalidade) que muda lentamente. Ela pode ter desempenho inferior em:

  • Séries com quebras estruturais ou mudanças repentinas de tendência.
  • Séries cujo futuro é determinado por variáveis externas (use ARIMAX ou regressão em vez disso).
  • Séries com padrões de autocorrelação complexos que exigem modelagem AR/MA explícita.

Para séries com fatores externos claros (por exemplo, vendas impulsionadas por promoções, demanda impulsionada pela temperatura), modelos baseados em regressão ou ARIMAX são mais apropriados.

💡 Suavização exponencial em R

library(forecast)

# Simple exponential smoothing
ses(y, h = 12)

# Holt's method (trend, no seasonality)
holt(y, h = 12, damped = TRUE)  # damped trend often forecasts better

# Holt-Winters
hw(y, h = 12, seasonal = "multiplicative")  # or "additive"

# Automatic ETS model selection
fit <- ets(y)
summary(fit)
forecast(fit, h = 12)

A função ets() seleciona o melhor modelo ETS por AIC, escolhendo entre todas as combinações de componentes de erro, tendência e sazonalidade.