1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Forecasting v R

Connected

cvičení

Předpovídání týdenních dat

U týdenních dat je obtížné modelovat sezónnost pomocí ETS nebo ARIMA, protože délka sezóny je příliš velká (přibližně 52). Místo toho můžeš použít harmonickou regresi, která sezónnost modeluje pomocí sinů a kosinů.

Funkce fourier() usnadňuje generování potřebných harmonických členů. Čím vyšší je řád (\(K\)), tím více může být sezónní vzor „klikatý". Pro \(K=1\) jde o jednoduchou sinusovou křivku. Hodnotu \(K\) vybereš minimalizací kritéria AICc. Jak jsi viděl/a ve videu, funkce fourier() přijímá povinný časový řad, povinný počet Fourierových členů a volitelný počet řádků pro předpověď:

> # fourier(x, K, h = NULL)

> fit <- auto.arima(cafe, xreg = fourier(cafe, K = 6),
                    seasonal = FALSE, lambda = 0)
> fit %>%
    forecast(xreg = fourier(cafe, K = 6, h = 24)) %>%
    autoplot() + ylim(1.6, 5.1)

Předpřipravená data gasoline obsahují týdenní údaje o spotřebě motorových benzínů v USA. V tomto cvičení na tato data natrénuješ harmonickou regresi a sestavíš předpověď na následující 3 roky.

Pokyny

100 XP
  • Vytvoř matici xreg s názvem harmonics pomocí funkce fourier() aplikované na gasoline s řádem \(K=13\), který byl zvolen tak, aby minimalizoval AICc.
  • Natrénuj model dynamické regrese do proměnné fit. Nastav xreg na harmonics a seasonal na FALSE, protože sezónnost je zachycena regresory.
  • Podobným způsobem vytvoř novou matici xreg s názvem newharmonics a pak na jejím základě vypočítej předpovědi na další tři roky jako fc.
  • Nakonec vykresli předpovědi fc.