Comment calculer l’autocorrélation dans R



L’autocorrélation mesure le degré de similarité entre une série temporelle et une version décalée d’elle-même sur des intervalles de temps successifs.

On l’appelle aussi parfois « corrélation en série » ou « corrélation décalée », car elle mesure la relation entre les valeurs actuelles d’une variable et ses valeurs historiques.

Lorsque l’autocorrélation dans une série chronologique est élevée, il devient facile de prédire les valeurs futures en se référant simplement aux valeurs passées.

Comment calculer l’autocorrélation dans R

Supposons que nous ayons la série chronologique suivante dans R qui montre la valeur d’une certaine variable pendant 15 périodes différentes :

#define data
x <- c(22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51)

Nous pouvons calculer l’autocorrélation pour chaque décalage de la série chronologique en utilisant la fonction acf() de la bibliothèque tseries :

library(tseries)

#calculate autocorrelations
acf(x, pl=FALSE)

     0      1      2      3      4      5      6      7      8      9     10 
 1.000  0.832  0.656  0.491  0.279  0.031 -0.165 -0.304 -0.401 -0.458 -0.450 
    11 
-0.369 

La façon d’interpréter le résultat est la suivante :

  • L’autocorrélation au décalage 0 est 1 .
  • L’autocorrélation au décalage 1 est de 0,832 .
  • L’autocorrélation au décalage 2 est de 0,656 .
  • L’autocorrélation au décalage 3 est de 0,491 .

Et ainsi de suite.

On peut également spécifier le nombre de décalages à afficher avec l’argument lag :

#calculate autocorrelations up to lag=5
acf(x, lag=5, pl=FALSE)

Autocorrelations of series 'x', by lag

    0     1     2     3     4     5 
1.000 0.832 0.656 0.491 0.279 0.031 

Comment tracer la fonction d’autocorrélation dans R

Nous pouvons tracer la fonction d’autocorrélation pour une série temporelle dans R en n’utilisant simplement pas l’argument pl=FALSE :

#plot autocorrelation function
acf(x)

Autocorrélation dans R

L’axe des x affiche le nombre de décalages et l’axe des y affiche l’autocorrélation à ce nombre de décalages. Par défaut, le tracé commence à lag = 0 et l’autocorrélation sera toujours de 1 à lag = 0.

Vous pouvez également spécifier un titre différent pour l’intrigue en utilisant l’argument principal :

#plot autocorrelation function with custom title
acf(x, main='Autocorrelation by Lag')

Tracé d'autocorrélation dans R

Ressources additionnelles

Comment calculer l’autocorrélation en Python
Comment calculer l’autocorrélation dans Excel

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *