Harmonische Regression bei mehrfacher Saisonalität
Harmonische Regressionen sind auch hilfreich, wenn Zeitreihen mehrere saisonale Muster aufweisen. Zum Beispiel enthält taylor den halbstündlichen Strombedarf in England und Wales über einige Monate im Jahr 2000. Die saisonalen Perioden sind 48 (tägliche Saisonalität) und 7 x 48 = 336 (wöchentliche Saisonalität). Für jährliche Saisonalität gibt es nicht genug Daten.
auto.arima() würde bei einer so langen Zeitreihe lange zum Schätzen brauchen, daher passt du stattdessen ein Standard-Regressionsmodell mit Fourier-Termen mithilfe der Funktion tslm() an. Diese ist lm() sehr ähnlich, wurde aber speziell für Zeitreihen entwickelt. Bei mehrfacher Saisonalität musst du die Ordnung \(K\) für jede der saisonalen Perioden angeben.
# Das Argument formula ist eine symbolische Beschreibung
# des zu schätzenden Modells
> args(tslm)
function (formula, ...)
tslm() ist hier neu eingeführt, daher solltest du dem vorgegebenen Code größtenteils folgen können. Die taylor-Daten sind in deinem Workspace geladen.
Diese Übung ist Teil des Kurses
Prognosen mit R
Anleitung zur Übung
- Passe eine harmonische Regression namens
fitantayloran und verwende Ordnung 10 für jede Art von Saisonalität. - Prognostiziere 20 Arbeitstage voraus als
fc. Denk daran, dass die Daten halbstündlich sind, um den richtigen Wert fürhzu setzen. - Erstelle ein Zeitdiagramm der Prognosen.
- Prüfe die Residuen deines angepassten Modells. Wie du siehst, hätte
auto.arima()hier vermutlich bessere Ergebnisse geliefert.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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
___