Prognoza cererii de energie electrică
Poți modela și cererea zilnică de energie electrică în funcție de temperatură. După cum ai putut observa poate pe factura de electricitate, consumul este mai mare în zilele călduroase – din cauza aerului condiționat – și în zilele reci – din cauza încălzirii.
În acest exercițiu, vei ajusta un model de regresie pătratică cu eroare ARMA. Un an de date zilnice este stocat în elecdaily și include cererea zilnică totală, o variabilă indicatoare pentru zilele lucrătoare (1 pentru o zi lucrătoare, 0 pentru o zi nelucrătoare) și temperaturile maxime zilnice. Deoarece există o sezonalitate săptămânală, frequency a fost setat la 7.
Să aruncăm o privire la primele trei rânduri:
> 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 a fost pre-încărcat în spațiul tău de lucru.
Acest exercițiu face parte din cursul
Prognoze în R
Instrucțiuni pentru exercițiu
- Generează reprezentări grafice temporale doar pentru cererea zilnică și temperaturile maxime, cu facetare.
- Construiește o matrice de regresori care să includă
MaxTemppentru temperaturile maxime,MaxTempSqpentru valoarea la pătrat a temperaturii maxime șiWorkday, în această ordine. Cel de-al doilea argument alcbind()va necesita un operator matematic simplu. - Ajustează un model de regresie dinamică pe coloana cererii cu erori ARIMA și numește-l
fit. - Dacă ziua următoare este o zi lucrătoare (indicatorul este 1) cu o temperatură maximă prognozată de 20°C, care este cererea prognozată? Completează valorile corespunzătoare în
cbind()pentru argumentulxregdinforecast().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(___, ___, ___))