Prognozowanie zapotrzebowania na energię elektryczną
Dzienne zapotrzebowanie na energię elektryczną można również modelować jako funkcję temperatury. Jak pewnie wiesz z rachunków za prąd, w upalne dni zużywa się więcej energii na klimatyzację, a w zimne – na ogrzewanie.
W tym ćwiczeniu dostosujesz kwadratowy model regresji z błędem ARMA. Roczne dane dzienne są przechowywane jako elecdaily i obejmują łączne dzienne zapotrzebowanie, zmienną wskaźnikową dla dni roboczych (dzień roboczy jest oznaczony wartością 1, a dzień wolny – wartością 0) oraz dzienne maksymalne temperatury. Ze względu na sezonowość tygodniową parametr frequency został ustawiony na 7.
Przyjrzyjmy się pierwszym trzem wierszom:
> 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 został wcześniej wczytany do twojego środowiska pracy.
To ćwiczenie jest częścią kursu
Prognozowanie w R
Instrukcje do ćwiczenia
- Stwórz wykresy czasowe wyłącznie dla dziennego zapotrzebowania i maksymalnych temperatur z podziałem na panele (facetting).
- Zbuduj macierz regresorów zawierającą:
MaxTempdla maksymalnych temperatur,MaxTempSqreprezentujący kwadrat maksymalnej temperatury orazWorkday– w tej kolejności. Drugi argumentcbind()będzie wymagał prostego operatora matematycznego. - Dopasuj dynamiczny model regresji kolumny zapotrzebowania z błędami ARIMA i nazwij go
fit. - Jeśli następny dzień jest dniem roboczym (wskaźnik wynosi 1), a prognozowana maksymalna temperatura wynosi 20°C, jakie jest prognozowane zapotrzebowanie? Uzupełnij odpowiednie wartości w
cbind()dla argumentuxregw funkcjiforecast().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(___, ___, ___))