Si vous souhaitez suivre notre cours Introduction to Time Series Analysis in R, voici le lien.
Calcul des autocorrélations
Les autocorrélations, ou corrélations décalées, servent à évaluer si une série temporelle dépend de son passé. Pour une série x de longueur n, on considère les n-1 paires d’observations séparées d’une unité de temps. La première paire est (x[2],x[1]), puis (x[3],x[2]), etc. Chaque paire a la forme (x[t],x[t-1]) où t est l’indice d’observation, variant ici de 2 à n. L’autocorrélation au décalage 1 (lag-1) de x peut être estimée par la corrélation empirique de ces paires (x[t], x[t-1]).
De manière générale, on peut créer ces paires manuellement. Créez d’abord deux vecteurs, x_t0 et x_t1, chacun de longueur n-1, de sorte que les lignes correspondent aux paires (x[t], x[t-1]). Appliquez ensuite la fonction cor() pour estimer l’autocorrélation au décalage 1.
Heureusement, la commande acf() offre un raccourci. En appliquant acf(..., lag.max = 1, plot = FALSE) à une série x, le calcul de l’autocorrélation au décalage 1 est automatique.
Notez enfin que les deux estimations diffèrent légèrement, car elles utilisent des normalisations différentes pour la covariance empirique, 1/(n-1) contre 1/n. Bien que la seconde soit biaisée, elle est privilégiée en analyse de séries temporelles, et les estimations d’autocorrélation ne diffèrent que d’un facteur (n-1)/n.
Dans cet exercice, vous pratiquerez à la fois le calcul manuel et automatique d’une autocorrélation au décalage 1. La série temporelle x et sa longueur n (150) ont déjà été chargées. La série est affichée dans le graphique à droite.
Instructions
- Créez deux vecteurs,
x_t0 et x_t1, chacun de longueur n-1, de sorte que les lignes correspondent aux paires (x[t], x[t-1]).
- Confirmez que
x_t0 et x_t1 forment bien des paires (x[t], x[t-1]) à l’aide du code préécrit.
- Utilisez
plot() pour afficher le nuage de points de x_t0 et x_t1.
- Utilisez
cor() pour afficher la corrélation entre x_t0 et x_t1.
- Utilisez
acf() avec x pour calculer automatiquement l’autocorrélation au décalage 1. Définissez l’argument lag.max à 1 pour ne produire qu’un seul décalage et plot à FALSE.
- Confirmez que le facteur de différence est
(n-1)/n à l’aide du code préécrit.
# Define x_t0 as x[-1]
x_t0 <-
# Define x_t1 as x[-n]
x_t1 <-
# Confirm that x_t0 and x_t1 are (x[t], x[t-1]) pairs
head(cbind(x_t0, x_t1))
# Plot x_t0 and x_t1
plot(___, ___)
# View the correlation between x_t0 and x_t1
cor(___, ___)
# Use acf with x
acf(___, lag.max = ___, plot = ___)
# Confirm that difference factor is (n-1)/n
cor(x_t1, x_t0) * (n-1)/n
Si tout est clair, passez à l’exercice suivant ! Sinon, voici une vidéo d’aperçu.
Vidéo d’aperçu sur l’autocorrélation
La fonction d’autocorrélation
On peut estimer les autocorrélations à de nombreux décalages pour mieux évaluer la relation d’une série temporelle avec son passé. Nous nous intéressons généralement le plus à la relation avec le passé immédiat.
La fonction acf(..., lag.max = ..., plot = FALSE) estime toutes les autocorrélations pour les décalages 0, 1, 2, …, jusqu’à la valeur indiquée par l’argument lag.max. Dans l’exercice précédent, vous vous êtes concentré sur l’autocorrélation au décalage 1 en fixant lag.max à 1.
Dans cet exercice, vous explorerez d’autres usages de la commande acf(). Là encore, la série temporelle x est préchargée et affichée dans le graphique à droite.
Instructions
- Utilisez
acf() pour afficher les autocorrélations de la série x de 0 à 10. Définissez lag.max à 10 et laissez plot à FALSE.
- Copiez-collez l’estimation de l’autocorrélation (ACF) au décalage 10.
- Copiez-collez l’estimation de l’autocorrélation (ACF) au décalage 5.
# Generate ACF estimates for x up to lag-10
acf(___, lag.max = ___, plot = FALSE)
# Type the ACF estimate at lag-10
# Type the ACF estimate at lag-5
Visualiser la fonction d’autocorrélation
Estimer la fonction d’autocorrélation (ACF) à de nombreux décalages permet d’évaluer la relation d’une série x avec son passé. Les valeurs numériques sont utiles pour des calculs détaillés, mais il est également précieux de visualiser l’ACF en fonction du décalage.
En réalité, la commande acf() produit par défaut une figure. Elle choisit aussi une valeur par défaut pour lag.max, le nombre maximal de décalages à afficher.
Trois séries temporelles x, y et z ont été chargées dans votre environnement R et sont tracées à droite. La série x montre une forte persistance : la valeur actuelle est étroitement liée à celles qui la précèdent. La série y présente une périodicité avec un cycle d’environ quatre observations : la valeur actuelle est relativement proche de l’observation située quatre pas en arrière. La série z ne présente pas de motif clair.
Dans cet exercice, vous tracerez l’ACF estimée de chaque série. Dans les graphiques produits par acf(), le décalage de chaque estimation est indiqué en abscisse, et l’estimation elle‑même par la hauteur des barres verticales. Rappel : l’ACF au décalage 0 vaut toujours 1.
Enfin, chaque graphique ACF affiche une paire de lignes bleues horizontales en pointillé représentant des intervalles de confiance à 95 % par décalage, centrés sur zéro. Ils servent à déterminer la significativité statistique d’une estimation d’autocorrélation donnée par rapport à la valeur nulle zéro, c’est‑à‑dire l’absence d’autocorrélation à ce décalage.
Instructions
Utilisez trois appels à la fonction acf() pour afficher les ACF estimées de chacune de vos trois séries temporelles (x, y et z). Il n’est pas nécessaire de préciser d’arguments supplémentaires dans vos appels à acf().
# View the ACF of x
acf(___)
# View the ACF of y
# View the ACF of z
Pour en apprendre davantage avec ce cours, voici le lien.
Découvrez notre Time Series Analysis using R: Tutorial.
Si vous souhaitez suivre notre cours Introduction to Time Series Analysis in R, voici le lien.
Calcul des autocorrélations
Les autocorrélations, ou corrélations décalées, servent à évaluer si une série temporelle dépend de son passé. Pour une série
xde longueurn, on considère lesn-1paires d’observations séparées d’une unité de temps. La première paire est(x[2],x[1]), puis(x[3],x[2]), etc. Chaque paire a la forme(x[t],x[t-1])où t est l’indice d’observation, variant ici de 2 à n. L’autocorrélation au décalage 1 (lag-1) de x peut être estimée par la corrélation empirique de ces paires(x[t], x[t-1]).De manière générale, on peut créer ces paires manuellement. Créez d’abord deux vecteurs,
x_t0etx_t1, chacun de longueur n-1, de sorte que les lignes correspondent aux paires(x[t], x[t-1]). Appliquez ensuite la fonctioncor()pour estimer l’autocorrélation au décalage 1.Heureusement, la commande acf() offre un raccourci. En appliquant
acf(..., lag.max = 1, plot = FALSE)à une sériex, le calcul de l’autocorrélation au décalage 1 est automatique.Notez enfin que les deux estimations diffèrent légèrement, car elles utilisent des normalisations différentes pour la covariance empirique,
1/(n-1)contre1/n. Bien que la seconde soit biaisée, elle est privilégiée en analyse de séries temporelles, et les estimations d’autocorrélation ne diffèrent que d’un facteur(n-1)/n.Dans cet exercice, vous pratiquerez à la fois le calcul manuel et automatique d’une autocorrélation au décalage 1. La série temporelle
xet sa longueurn(150) ont déjà été chargées. La série est affichée dans le graphique à droite.Instructions
x_t0etx_t1, chacun de longueurn-1, de sorte que les lignes correspondent aux paires(x[t], x[t-1]).x_t0etx_t1forment bien des paires(x[t], x[t-1])à l’aide du code préécrit.plot()pour afficher le nuage de points dex_t0etx_t1.cor()pour afficher la corrélation entrex_t0etx_t1.acf()avecxpour calculer automatiquement l’autocorrélation au décalage 1. Définissez l’argumentlag.maxà1pour ne produire qu’un seul décalage etplotàFALSE.(n-1)/nà l’aide du code préécrit.Si tout est clair, passez à l’exercice suivant ! Sinon, voici une vidéo d’aperçu.
Vidéo d’aperçu sur l’autocorrélation
La fonction d’autocorrélation
On peut estimer les autocorrélations à de nombreux décalages pour mieux évaluer la relation d’une série temporelle avec son passé. Nous nous intéressons généralement le plus à la relation avec le passé immédiat.
La fonction
acf(..., lag.max = ..., plot = FALSE)estime toutes les autocorrélations pour les décalages 0, 1, 2, …, jusqu’à la valeur indiquée par l’argumentlag.max. Dans l’exercice précédent, vous vous êtes concentré sur l’autocorrélation au décalage 1 en fixantlag.maxà1.Dans cet exercice, vous explorerez d’autres usages de la commande
acf(). Là encore, la série temporellexest préchargée et affichée dans le graphique à droite.Instructions
acf()pour afficher les autocorrélations de la sériexde 0 à 10. Définissezlag.maxà10et laissezplotàFALSE.Visualiser la fonction d’autocorrélation
Estimer la fonction d’autocorrélation (ACF) à de nombreux décalages permet d’évaluer la relation d’une série
xavec son passé. Les valeurs numériques sont utiles pour des calculs détaillés, mais il est également précieux de visualiser l’ACF en fonction du décalage.En réalité, la commande
acf()produit par défaut une figure. Elle choisit aussi une valeur par défaut pourlag.max, le nombre maximal de décalages à afficher.Trois séries temporelles
x,yetzont été chargées dans votre environnement R et sont tracées à droite. La sériexmontre une forte persistance : la valeur actuelle est étroitement liée à celles qui la précèdent. La sérieyprésente une périodicité avec un cycle d’environ quatre observations : la valeur actuelle est relativement proche de l’observation située quatre pas en arrière. La sériezne présente pas de motif clair.Dans cet exercice, vous tracerez l’ACF estimée de chaque série. Dans les graphiques produits par
acf(), le décalage de chaque estimation est indiqué en abscisse, et l’estimation elle‑même par la hauteur des barres verticales. Rappel : l’ACF au décalage 0 vaut toujours 1.Enfin, chaque graphique ACF affiche une paire de lignes bleues horizontales en pointillé représentant des intervalles de confiance à 95 % par décalage, centrés sur zéro. Ils servent à déterminer la significativité statistique d’une estimation d’autocorrélation donnée par rapport à la valeur nulle zéro, c’est‑à‑dire l’absence d’autocorrélation à ce décalage.
Instructions
Utilisez trois appels à la fonction
acf()pour afficher les ACF estimées de chacune de vos trois séries temporelles (x,yetz). Il n’est pas nécessaire de préciser d’arguments supplémentaires dans vos appels àacf().Pour en apprendre davantage avec ce cours, voici le lien.
Découvrez notre Time Series Analysis using R: Tutorial.