Zacznij terazZacznij za darmo

Regresja harmoniczna dla wielokrotnej sezonowości

Regresje harmoniczne sprawdzają się również wtedy, gdy szereg czasowy wykazuje wiele wzorców sezonowych. Na przykład zbiór taylor zawiera półgodzinne dane dotyczące zapotrzebowania na energię elektryczną w Anglii i Walii na przestrzeni kilku miesięcy roku 2000. Okresy sezonowe wynoszą 48 (sezonowość dobowa) oraz 7 x 48 = 336 (sezonowość tygodniowa). Danych jest zbyt mało, aby uwzględnić sezonowość roczną.

Dopasowanie auto.arima() do tak długiego szeregu czasowego zajęłoby dużo czasu. Zamiast tego dopasujesz standardowy model regresji z członami Fouriera, korzystając z funkcji tslm(). Działa ona podobnie do lm(), ale jest zaprojektowana z myślą o szeregach czasowych. W przypadku wielokrotnej sezonowości należy podać rząd \(K\) dla każdego z okresów sezonowych.

# Argument formula to symboliczny opis
# modelu, który ma zostać dopasowany

> args(tslm)
function (formula, ...)

tslm() to nowo wprowadzona funkcja – w dużej mierze będziesz mógł śledzić gotowy kod. Zbiór danych taylor jest już wczytany do twojego środowiska pracy.

To ćwiczenie jest częścią kursu

Prognozowanie w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Dopasuj regresję harmoniczną o nazwie fit do danych taylor, używając rzędu 10 dla każdego typu sezonowości.
  • Wygeneruj prognozę fc na 20 dni roboczych naprzód. Pamiętaj, że dane są półgodzinne – uwzględnij to przy ustawianiu wartości h.
  • Stwórz wykres czasowy prognoz.
  • Sprawdź reszty dopasowanego modelu. Jak widać, auto.arima() poradziłoby sobie z tym lepiej.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Fit a harmonic regression using order 10 for each type of seasonality
fit <- tslm(taylor ~ fourier(___, K = c(10, 10)))

# Forecast 20 working days ahead
fc <- forecast(___, newdata = data.frame(fourier(___, K = ___, h = ___)))

# Plot the forecasts
___

# Check the residuals of fit
___
Edytuj i uruchom kod