Prévision de la demande d'électricité
Vous pouvez aussi modéliser la demande quotidienne d'électricité en fonction de la température. Comme vous l'avez sans doute remarqué sur votre facture d'électricité, on consomme plus d'électricité lors des journées chaudes à cause de la climatisation, et lors des journées froides à cause du 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 et comprend la demande quotidienne totale, une variable indicatrice pour les jours ouvrables (un jour ouvrable est représenté par 1, et un jour non ouvrable par 0), ainsi que les températures maximales quotidiennes. Comme il y a une saisonnalité hebdomadaire, la frequency a été fixée à 7.
Jetons un coup d'œil aux 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 espace de travail.
Cette activité fait partie du cours
Prévision en R
Instructions de l’exercice
- Produisez des graphiques temporels de la demande quotidienne et des températures maximales seulement, avec des facettes.
- Créez une matrice de régressions pour inclure, dans cet ordre,
MaxTemppour les températures maximales,MaxTempSqqui représente la valeur au carré de la température maximale, etWorkday. Évidemment, le deuxième argument decbind()nécessitera un simple opérateur mathématique. - Ajustez un modèle de régression dynamique de la colonne de la demande avec des erreurs ARIMA et nommez-le
fit. - Si le lendemain est un jour ouvrable (indicateur à 1) avec une température maximale prévue de 20 °C, quelle est la demande prévue? Remplissez les valeurs appropriées dans
cbind()pour l'argumentxregdansforecast().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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(___, ___, ___))