ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Ajustează o regresie armonică numită fit pe setul de date taylor, 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ă pentru h.
  • 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
___
Editează și rulează codul