Regresie armonică pentru sezonalitate multiplă
Regresiile armonice sunt utile și atunci când seriile de timp prezintă mai multe tipare sezoniere. De exemplu, taylor conține cererea de energie electrică la jumătate de oră în Anglia și Țara Galilor, pe câteva luni din anul 2000. Perioadele sezoniere sunt 48 (sezonalitate zilnică) și 7 x 48 = 336 (sezonalitate săptămânală). Nu există suficiente date pentru a lua în considerare sezonalitatea anuală.
auto.arima() ar necesita mult timp pentru a se potrivi pe o serie de timp lungă precum aceasta, așadar vei folosi în schimb un model de regresie standard cu termeni Fourier, utilizând funcția tslm(). Aceasta este foarte similară cu lm(), dar este concepută pentru serii de timp. În cazul sezonalității multiple, trebuie să specifici ordinul \(K\) pentru fiecare dintre perioadele sezoniere.
# The formula argument is a symbolic description
# of the model to be fitted
> args(tslm)
function (formula, ...)
tslm() este o funcție introdusă recent, deci ar trebui să poți urmări codul pre-scris fără dificultăți. Datele taylor sunt încărcate în spațiul tău de lucru.
Acest exercițiu face parte din cursul
Prognoze în R
Instrucțiuni pentru exercițiu
- Ajustează o regresie armonică numită
fitpe setul de datetaylor, folosind ordinul 10 pentru fiecare tip de sezonalitate. - Prognozează cu 20 de zile lucrătoare înainte și salvează rezultatul ca
fc. Ține cont că datele sunt semiorare atunci când stabilești valoarea corectă pentruh. - Creează un grafic temporal al prognozelor.
- Verifică reziduurile modelului ajustat. După cum poți observa,
auto.arima()ar fi produs rezultate mai bune.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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
___