IniziaInizia gratis

Prevedere la domanda di elettricità

Puoi anche modellare la domanda giornaliera di elettricità in funzione della temperatura. Come avrai notato sulla bolletta, si consuma più elettricità nei giorni caldi per l’aria condizionata e nei giorni freddi per il riscaldamento.

In questo esercizio, adatterai un modello di regressione quadratica con errore ARMA. Un anno di dati giornalieri è memorizzato in elecdaily e include la domanda totale giornaliera, una variabile indicatrice per i giorni lavorativi (un giorno lavorativo è rappresentato con 1, un giorno non lavorativo con 0) e le temperature massime giornaliere. Poiché c’è stagionalità settimanale, la frequency è stata impostata a 7.

Diamo un’occhiata alle prime tre righe:

> 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 è stato caricato in anticipo nel tuo workspace.

Questo esercizio fa parte del corso

Previsioni in R

Visualizza il corso

Istruzioni dell'esercizio

  • Produci i grafici temporali di sole la domanda giornaliera e delle temperature massime con facetting.
  • Prepara una matrice di regressori includendo MaxTemp per le temperature massime, MaxTempSq, che rappresenta il valore al quadrato della temperatura massima, e Workday, in quest’ordine. Chiaramente, il secondo argomento di cbind() richiederà un semplice operatore matematico.
  • Adatta un modello di regressione dinamica della colonna della domanda con errori ARIMA e chiamalo fit.
  • Se il giorno successivo è lavorativo (indicatore 1) con temperatura massima prevista di 20°C, qual è la domanda prevista? Compila i valori appropriati in cbind() per l’argomento xreg in forecast().

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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(___, ___, ___))
Modifica ed esegui il codice