1. Learn
  2. /
  3. Курси
  4. /
  5. Prognozowanie w R

Connected

вправа

Prognozowanie danych tygodniowych

W przypadku danych tygodniowych obsługa sezonowości za pomocą modeli ETS lub ARIMA jest trudna, ponieważ długość okresu sezonowego jest zbyt duża (około 52). Zamiast tego można zastosować regresję harmoniczną, która modeluje sezonowość za pomocą sinusów i cosinusów.

Funkcja fourier() ułatwia generowanie wymaganych harmonicznych. Im wyższy rząd (\(K\)), tym bardziej „pofalowany" może być wzorzec sezonowy. Przy \(K=1\) jest to prosta krzywa sinusoidalna. Wartość \(K\) dobiera się, minimalizując wartość AICc. Jak widziałeś(-aś) w filmie, funkcja fourier() przyjmuje wymagany szereg czasowy, wymaganą liczbę wyrazów Fouriera do wygenerowania oraz opcjonalną liczbę wierszy do prognozowania:

> # 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)

Wstępnie załadowane dane gasoline zawierają tygodniowe dane dotyczące produktów z przetworzonej benzyny silnikowej w USA. W tym ćwiczeniu dopasuj regresję harmoniczną do tego zbioru danych i wyznacz prognozę na kolejne 3 lata.

Інструкції

100 XP
  • Utwórz macierz xreg o nazwie harmonics, używając funkcji fourier() na danych gasoline z rzędem \(K=13\), który został wybrany w celu minimalizacji AICc.
  • Dopasuj model regresji dynamicznej do obiektu fit. Ustaw xreg na harmonics, a seasonal na FALSE, ponieważ sezonowość jest obsługiwana przez regresory.
  • Utwórz nową macierz xreg o nazwie newharmonics w podobny sposób, a następnie oblicz prognozy na kolejne trzy lata i zapisz je jako fc.
  • Na koniec zwizualizuj prognozy fc.