Prévision de la demande d’électricité
Vous pouvez aussi modéliser la demande d’électricité quotidienne en fonction de la température. Comme vous l’avez sans doute constaté sur votre facture d’électricité, on consomme davantage les jours de forte chaleur (climatisation) et les jours de grand froid (chauffage).
Dans cet exercice, vous allez ajuster un modèle de régression quadratique avec une erreur ARMA. Une année de données quotidiennes est stockée dans elecdaily, qui contient la demande totale quotidienne, une variable indicatrice pour les jours travaillés (un jour travaillé est représenté par 1, un jour non travaillé par 0) et les températures maximales quotidiennes. En raison de la saisonnalité hebdomadaire, la frequency a été fixée à 7.
Regardons les trois premières lignes :
> 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 été préchargé dans votre environnement de travail.
Cet exercice fait partie du cours
Prévision en R
Instructions
- Produisez des graphiques temporels uniquement de la demande quotidienne et des températures maximales avec facettage.
- Créez une matrice de régresseurs incluant
MaxTemppour les températures maximales,MaxTempSqqui correspond au carré de la température maximale, etWorkday, dans cet ordre. Clairement, le deuxième argument decbind()nécessitera un opérateur mathématique simple. - Ajustez un modèle de régression dynamique de la colonne de demande avec des erreurs ARIMA et nommez-le
fit. - Si le lendemain est un jour travaillé (indicateur égal à 1) avec une température maximale prévue de 20 °C, quelle est la demande prévue ? Renseignez les valeurs appropriées dans
cbind()pour l’argumentxregdeforecast().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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(___, ___, ___))