ÎncepețiÎncepe gratuit

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

Vezi cursul

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ă MaxTemp pentru temperaturile maxime, MaxTempSq pentru valoarea la pătrat a temperaturii maxime și Workday, în această ordine. Cel de-al doilea argument al cbind() 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 argumentul xreg din forecast().

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(___, ___, ___))
Editează și rulează codul