Traitement d'une autocorrélation avec R
L’autocorrélation est un phénomène fréquemment observé sur les séries chronologiques. Alors pour vous être agréable, nous l’illustrons ici avec des données réelles…
Données
Soit la série de nombres mensuels de nuitées d’hôtel en France entre 2013 et 2019. Les données figurent en page de traitement d'une série chronologique avec stats (stats est un package de R). Le graphique montre une saisonnalité très marquée.

Afin d’étudier l’autocorrélation, nous utiliserons le package stat de R.
Corrélogramme
Écrivons le script pour tracer le corrélogramme.
library(readxl)
nuitées_pour_R <- read_excel("nuitées pour R.xlsx")
# Création de la série temporelle
serie <- ts(
nuitées_pour_R$Nuitées,
start = c(2013, 1),
frequency = 12
)
# Corrélogramme
acf(
serie,
main = "Corrélogramme des nuitées hôtelières",
xlab = "Décalage (lag)"
)
Nous obtenons ceci :

La lecture de ce corrélogramme n’est pas immédiate car les abscisses sont en années (donc, 0.5 = 6 mois) et ce n’est pas l’objet de cette page de peaufiner un graphique avec R (désolé !).
La première barre est sans intérêt. Ensuite, on observe le schéma classique d’une saisonnalité annuelle.
Si après la création de serie on écrit le script suivant…
resultat_acf <- acf(
serie,
plot = FALSE
)
tableau_acf <- data.frame(
Mois = round(as.numeric(resultat_acf$lag) * 12),
Autocorrelation = as.numeric(resultat_acf$acf)
)
tableau_acf
… alors obtient la liste des coefficients d’autocorrélation.

Le coefficient au lag 12 est particulièrement élevé ! Et comme on peut s’y attendre, le lag 6 est proche de -1.
Tendance
On remarque aussi qu’un lag \(n\) est souvent moins significatif que le lag \(n-12.\) Ceci peut suggérer une tendance de long terme (ou des amplitudes différentes de saisonnalité). Comme le graphique d’évolution des valeurs montre une légère tendance haussière, il peut être intéressant de la supprimer pour mieux isoler les variations saisonnières.

Pour être tout à fait sûr, visualisons cette tendance :

Par soustraction, on obtient une série où la tendance est retirée ; elle est centrée sur zéro :

On peut alors adapter notre script pour tracer le corrélogramme de cette nouvelle série.
