Kom igångKom igång gratis

Prognostisering av elförbrukning

Det går också att modellera daglig elförbrukning som en funktion av temperaturen. Som du kanske har sett på din elräkning förbrukas mer el varma dagar på grund av luftkonditionering och kalla dagar på grund av uppvärmning.

I den här övningen anpassar du en kvadratisk regressionsmodell med ett ARMA-fel. Ett års dagliga data finns lagrade i elecdaily, och inkluderar total daglig efterfrågan, en indikatorvariabel för arbetsdagar (en arbetsdag representeras med 1 och en icke-arbetsdag med 0) samt dagliga maximitemperaturer. Eftersom det finns veckosäsongsvariationer har frequency satts till 7.

Här är de tre första raderna:

> 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 har förinslästs i din arbetsmiljö.

Den här övningen är en del av kursen

Prognoser i R

Visa kurs

Övningsinstruktioner

  • Skapa tidsplottar för enbart den dagliga efterfrågan och maximitemperaturerna med facettering.
  • Sätt upp en matris med regressorer som inkluderar MaxTemp för maximitemperaturerna, MaxTempSq som representerar det kvadrerade värdet av maximitemperaturen, och Workday, i den ordningen. Den andra argumentet i cbind() kräver en enkel matematisk operator.
  • Anpassa en dynamisk regressionsmodell av efterfrågekolumnen med ARIMA-fel och kalla denna fit.
  • Om nästa dag är en arbetsdag (indikator är 1) med en prognostiserad maxtemperatur på 20°C, vad är den prognostiserade efterfrågan? Fyll i lämpliga värden i cbind() för argumentet xreg i forecast().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(___, ___, ___))
Redigera och kör kod