Electriciteitsvraag voorspellen
Je kunt de dagelijkse electriciteitsvraag ook modelleren als een functie van temperatuur. Zoals je misschien op je energierekening hebt gezien, wordt er op hete dagen meer elektriciteit verbruikt door airconditioning en op koude dagen door verwarming.
In deze oefening pas je een kwadratisch regressiemodel met een ARMA-fout toe. Eén jaar aan dagelijkse data staat in elecdaily, met daarin de totale dagelijkse vraag, een indicatorvariabele voor werkdagen (een werkdag is 1, een niet-werkdag is 0), en de dagelijkse maximumtemperaturen. Omdat er wekelijkse seizoenspatronen zijn, is de frequency ingesteld op 7.
Laten we de eerste drie rijen bekijken:
> 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 is alvast in je werkruimte geladen.
Deze oefening maakt deel uit van de cursus
Voorspellen in R
Oefeninstructies
- Maak tijdplots van alleen de dagelijkse vraag en de maximumtemperaturen met facetten.
- Stel een matrix met regressoren op met
MaxTempvoor de maximumtemperaturen,MaxTempSqvoor het kwadraat van de maximumtemperatuur, enWorkday, in die volgorde. Duidelijk is dat het tweede argument vancbind()een eenvoudige wiskundige bewerking vereist. - Pas een dynamisch regressiemodel toe op de kolom met vraag met ARIMA-fouten en noem dit
fit. - Als de volgende dag een werkdag is (indicator is 1) met een verwachte maximumtemperatuur van 20°C, wat is dan de voorspelde vraag? Vul de juiste waarden in
cbind()in voor hetxreg-argument inforecast().
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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(___, ___, ___))