Que montre le graphique d'autocorrélation (pandas)?


12

Je suis débutant et j'essaie de comprendre ce que montre un graphique d'autocorrélation.

J'ai lu plusieurs explications de différentes sources telles que cette page ou la page Wikipédia connexe entre autres que je ne cite pas ici.

J'ai ce code très simple, où j'ai des dates dans mon index pour un an et les valeurs augmentent simplement de 0 à 365 pour chaque index .. ( 1984-01-01:0, 1984-01-02:1 ... 1984-12-31:365)

import numpy as np
import pandas as pd
from pandas.plotting import autocorrelation_plot
import matplotlib.pyplot as plt

dr = pd.date_range(start='1984-01-01', end='1984-12-31')

df = pd.DataFrame(np.arange(len(dr)), index=dr, columns=["Values"])
autocorrelation_plot(df)
plt.show()

où le graphique imprimé sera

entrez la description de l'image ici

Je peux comprendre et voir pourquoi le graphique commence 1.00depuis:

L'autocorrélation avec décalage nul est toujours égale à 1, car cela représente l'autocorrélation entre chaque terme et lui-même. La valeur et la valeur avec décalage zéro seront toujours les mêmes.

C'est bien, mais pourquoi ce graphique au décalage 50 a une valeur autour de 0,65 par exemple? Et pourquoi tombe-t-il en dessous de 0? Si je n'avais pas montré le code que je possède, serait-il possible de déduire que ce graphique d'autocorrélation montre une série temporelle de valeurs croissantes? Si oui, pouvez-vous essayer d'expliquer à un débutant comment vous pouvez le déduire?

Réponses:


12

Il pourrait être utile d'examiner l'estimateur de la fonction d'autocovariance au décalage (notez que la fonction d'autocorrélation est simplement une version réduite de la fonction d'autocovariance).h

γ^(h)=1nt=1nh(xt+hx¯)(xtx¯)

L'idée est que, pour chaque décalage , nous parcourons la série et vérifions si le point de données s'écarte des covariables positivement ou négativement (c'est-à-dire lorsque dépasse la moyenne de la série, va- également au-dessus ou au-dessous ?).hhtt+h

Votre série est une série à croissance monotone, et a une moyenne de . Voyons ce qui se passe lorsque .183h=130

Tout d'abord, notons que nous ne pouvons calculer la fonction d'autocovariance que jusqu'au moment 234, car lorsque , .t=234t+h=365

De plus, notons que de jusqu'à , nous avons que est également inférieur à la moyenne (puisque 53 + 130 = 183 qui est la moyenne de la série).t=1t=53t+h

Et puis, de à , la corrélation estimée sera négative puisqu'elles covarient négativement.t=54t=182

Enfin, de à , la corrélation estimée sera à nouveau positive, puisque et seront tous deux supérieurs à la moyenne.t=183t=234tt+h

Voyez-vous comment cela se traduirait par une moyenne de corrélation en raison des contributions à peu près égales à la fonction d'autocovariance des points de covariation positive et des points de covariation négative?

Vous remarquerez peut-être qu'il y a plus de points qui covarient négativement que de points qui covarient positivement. Cependant, intuitivement, les points de covariation positive sont de plus grande ampleur (car ils sont plus éloignés de la moyenne) tandis que les points de covariation négative contribuent de plus petite ampleur à la fonction d'autocovariance car ils se rapprochent de la moyenne. Ainsi, cela se traduit par une fonction d'autocovariance d'environ zéro.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.