Régression harmonique pour une saisonnalité multiple
Les régressions harmoniques sont également utiles lorsque les séries temporelles présentent plusieurs schémas saisonniers. Par exemple, taylor contient la demande d’électricité en Angleterre et au Pays de Galles, relevée toutes les demi-heures sur quelques mois de l’année 2000. Les périodes saisonnières sont 48 (saisonnalité quotidienne) et 7 x 48 = 336 (saisonnalité hebdomadaire). Il n’y a pas assez de données pour envisager une saisonnalité annuelle.
auto.arima() prendrait beaucoup de temps à ajuster une longue série comme celle-ci. À la place, vous allez ajuster un modèle de régression standard avec des termes de Fourier en utilisant la fonction tslm(). Elle est très similaire à lm(), mais conçue pour gérer les séries temporelles. En présence de plusieurs saisonnalités, vous devez spécifier l’ordre \(K\) pour chacune des périodes saisonnières.
# L’argument formula est une description symbolique
# du modèle à ajuster
> args(tslm)
function (formula, ...)
tslm() est une fonction nouvellement introduite ; vous devriez donc pouvoir suivre en grande partie le code pré-écrit. Les données taylor sont chargées dans votre espace de travail.
Cet exercice fait partie du cours
Prévision en R
Instructions
- Ajustez une régression harmonique appelée
fitàtayloren utilisant l’ordre 10 pour chaque type de saisonnalité. - Prévisionnez 20 jours ouvrés à l’avance sous le nom
fc. N’oubliez pas que les données sont demi-horaires afin de définir la bonne valeur pourh. - Créez un graphique temporel des prévisions.
- Vérifiez les résidus de votre modèle ajusté. Comme vous pouvez le voir,
auto.arima()aurait fait un meilleur travail.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Fit a harmonic regression using order 10 for each type of seasonality
fit <- tslm(taylor ~ fourier(___, K = c(10, 10)))
# Forecast 20 working days ahead
fc <- forecast(___, newdata = data.frame(fourier(___, K = ___, h = ___)))
# Plot the forecasts
___
# Check the residuals of fit
___