EmpezarEmpieza gratis

Pronóstico de demanda eléctrica

También puedes modelar la demanda diaria de electricidad en función de la temperatura. Como habrás visto en tu factura de la luz, se consume más electricidad en los días calurosos por el aire acondicionado y en los fríos por la calefacción.

En este ejercicio, ajustarás un modelo de regresión cuadrática con error ARMA. Un año de datos diarios está almacenado en elecdaily, que incluye la demanda diaria total, una variable indicadora de días laborables (un día laborable se representa con 1 y un día no laborable con 0) y las temperaturas máximas diarias. Como hay estacionalidad semanal, la frequency se ha establecido en 7.

Echemos un vistazo a las tres primeras filas:

> 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 se ha precargado en tu espacio de trabajo.

Este ejercicio forma parte del curso

Forecasting en R

Ver curso

Instrucciones del ejercicio

  • Genera gráficos temporales de solo la demanda diaria y las temperaturas máximas usando facetting.
  • Configura una matriz de regresores para incluir MaxTemp para las temperaturas máximas, MaxTempSq, que representa el cuadrado de la temperatura máxima, y Workday, en ese orden. Evidentemente, el segundo argumento de cbind() requerirá un operador matemático sencillo.
  • Ajusta un modelo de regresión dinámica de la columna de demanda con errores ARIMA y llámalo fit.
  • Si el día siguiente es laborable (el indicador es 1) y la temperatura máxima prevista es de 20°C, ¿cuál es la demanda pronosticada? Completa los valores adecuados en cbind() para el argumento xreg en forecast().

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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(___, ___, ___))
Editar y ejecutar código