LoslegenKostenlos loslegen

Prognose des Strombedarfs

Du kannst den täglichen Strombedarf auch als Funktion der Temperatur modellieren. Wie du vielleicht von deiner Stromrechnung kennst, wird an heißen Tagen wegen Klimaanlagen und an kalten Tagen wegen Heizung mehr Strom verbraucht.

In dieser Übung passt du ein quadratisches Regressionsmodell mit einem ARMA-Fehler an. Ein Jahr täglicher Daten ist als elecdaily gespeichert, einschließlich der gesamten täglichen Nachfrage, einer Indikatorvariablen für Arbeitstage (ein Arbeitstag wird mit 1 dargestellt, ein arbeitsfreier Tag mit 0) und den täglichen Maximaltemperaturen. Da es eine wöchentliche Saisonalität gibt, wurde die frequency auf 7 gesetzt.

Schauen wir uns die ersten drei Zeilen an:

> elecdaily[1:3, ]
       Demand Temperature Workday
[1,] 174.8963        26.0       0
[2,] 188.5909        23.0       1
[3,] 188.9169        22.2       1

elecdaily wurde bereits in deinem Workspace geladen.

Diese Übung ist Teil des Kurses

Prognosen mit R

Kurs anzeigen

Anleitung zur Übung

  • Erzeuge Zeitreihenplots von nur der täglichen Nachfrage und den Maximaltemperaturen mit Facetting.
  • Richte eine Regressormatrix ein, die MaxTemp für die Maximaltemperaturen, MaxTempSq als Quadrat der Maximaltemperatur und Workday enthält, in genau dieser Reihenfolge. Offensichtlich benötigt das zweite Argument von cbind() einen einfachen mathematischen Operator.
  • Passe ein dynamisches Regressionsmodell der Spalte mit der Nachfrage mit ARIMA-Fehlern an und nenne es fit.
  • Wenn der nächste Tag ein Arbeitstag ist (Indikator ist 1) und die maximale Temperatur auf 20 °C prognostiziert wird, wie lautet die Nachfrageprognose? Trage die entsprechenden Werte in cbind() für das Argument xreg in forecast() ein.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Time plots of demand and temperatures
autoplot(elecdaily[, c(___, ___)], facets = ___)

# Matrix of regressors
xreg <- cbind(MaxTemp = elecdaily[, "Temperature"],
              MaxTempSq = ___,
              Workday = ___)

# Fit model
fit <- auto.arima(___, xreg = xreg)

# Forecast fit one day ahead
forecast(___, xreg = cbind(___, ___, ___))
Code bearbeiten und ausführen