J'ai observé qu'en moyenne, la valeur absolue du coefficient de corrélation de Pearson est une constante proche de n'importe quelle paire de marches aléatoires indépendantes, quelle que soit la longueur de la marche.0.56
0.42
Quelqu'un peut-il expliquer ce phénomène?
Je m'attendais à ce que les corrélations diminuent à mesure que la longueur de la marche augmente, comme avec toute séquence aléatoire.
Pour mes expériences, j'ai utilisé des marches gaussiennes aléatoires avec une moyenne de pas 0 et un écart-type de pas 1.
MISE À JOUR:
J'ai oublié de centrer les données, c'est pourquoi c'était 0.56
au lieu de 0.42
.
Voici le script Python pour calculer les corrélations:
import numpy as np
from itertools import combinations, accumulate
import random
def compute(length, count, seed, center=True):
random.seed(seed)
basis = []
for _i in range(count):
walk = np.array(list(accumulate( random.gauss(0, 1) for _j in range(length) )))
if center:
walk -= np.mean(walk)
basis.append(walk / np.sqrt(np.dot(walk, walk)))
return np.mean([ abs(np.dot(x, y)) for x, y in combinations(basis, 2) ])
print(compute(10000, 1000, 123))
Réponses:
Vos processus indépendants ne sont pas corrélés! Si et Y t sont des marches aléatoires indépendantes:Xt Yt
Intuitivement, vous pourriez deviner (à tort) que:
Le problème est qu'aucune de ces affirmations n'est vraie pour les promenades aléatoires! (Ils sont vrais pour des processus mieux comportés.)
Pour les processus non stationnaires:
Les problèmes dans le cas d'une marche aléatoire?
Si vous avez diverses observations de deux marches aléatoires indépendantes au fil du temps (par exemple , , etc ... et , , ....) et que vous calculez le coefficient de corrélation d'échantillon, vous obtiendrez un nombre compris entre et . Mais ce ne sera pas une approximation du coefficient de corrélation de la population (qui n'existe pas).X1 X2 Y1 Y2 −1 1
Au lieu de ρ X Y ( T ) (calculée à partir des moyennes de séries chronologiques à partir de t = 1 à t = T ) va être essentiellement une variable aléatoire (à valeurs dans [ - 1 , 1 ] ) , qui reflète les deux chemins particuliers les promenades aléatoires ont pris par hasard (c'est-à-dire les chemins définis par le tirage tirés de l'espace échantillon .) Parler de façon extrêmement lâche (et imprécise):ρ^XY(T) t=1 t=T [−1,1] ω Ω
Vous pouvez en savoir plus sur Google avec les termes
spurious regression random walk
.Une marche aléatoire n'est pas stationnaire et la prise de moyennes dans le temps ne convergera pas sur ce que vous obtiendriez en effectuant des tirages iid ω dans l'espace d'échantillonnage Ω . Comme mentionné dans les commentaires ci-dessus, vous pouvez prendre les premières différences Δ x t = x t - x t - 1 et pour une marche aléatoire, ce processus { Δ x t } est stationnaire.t ω Ω Δxt=xt−xt−1 {Δxt}
Grande idée:
De multiples observations au fil du temps NE SONT PAS les mêmes que des tirages multiples à partir d'un espace échantillon!
Rappelons qu'un processus stochastique à temps discret est fonction à la fois du temps ( t ∈ N ) et d'un espace échantillon Ω .{Xt} t∈N Ω
Pour que les moyennes sur le temps convergent vers les attentes sur un échantillon d'espace Ω , vous avez besoin de stationnarité et d' ergodicité . C'est un problème central dans de nombreuses analyses de séries chronologiques. Et une marche aléatoire n'est pas un processus stationnaire.t Ω
Lien avec la réponse de WHuber:
Si vous pouvez faire des moyennes sur plusieurs simulations (c'est-à-dire prendre plusieurs tirages de ) au lieu d'être forcé de prendre des moyennes sur le temps t , un certain nombre de vos problèmes disparaissent.Ω t
Vous pouvez définir des cours ρ X Y ( t ) que le coefficient de corrélation de l' échantillon calculé sur X 1 ... X t et Y 1 ... Y t et ce sera aussi un processus stochastique.ρ^XY(t) X1…Xt Y1…Yt
Vous pouvez définir une variable aléatoire comme:Zt
Pour deux marches aléatoires commençant à avec N ( 0 , 1 ) incréments, il est facile de trouver E [ Z 10000 ] par simulation (c'est-à-dire en prenant plusieurs tirages de Ω .)0 N(0,1) E[Z10000] Ω
Ci-dessous, j'ai exécuté une simulation de 10 000 calculs d'un échantillon de coefficient de corrélation de Pearson. Chaque fois que je:
Ci-dessous, un histogramme montrant la distribution empirique sur les 10000 coefficients de corrélation calculés.
Vous pouvez clairement observer que la variable aléatoire de X Y ( 10000 ) peut être un peu partout dans l'intervalle [ - 1 , 1 ] . Pour deux chemins fixes de X et Y , le coefficient de corrélation d'échantillon ne converge vers rien lorsque la longueur de la série chronologique augmente.ρ^XY(10000) [−1,1] X Y
D'autre part, pour un moment donné (par exemple. ), le coefficient de corrélation de l' échantillon est une variable aléatoire avec etc ... Si je finis moyenne la valeur absolue et de calculer la moyenne sur toutes les simulations, Je calcule environ 0,42. Je ne sais pas pourquoi vous voulez faire cela ou pourquoi cela a du sens, mais bien sûr vous pouvez.t=10,000
Code:
la source
Les calculs nécessaires pour obtenir un résultat exact sont compliqués, mais nous pouvons dériver une valeur exacte pour le coefficient de corrélation au carré attendu sans douleur. Il aide à expliquer pourquoi une valeur proche de continue d' afficher et pourquoi augmenter la longueur n de la marche aléatoire ne changera pas les choses.1/2 n
Il existe un risque de confusion concernant les termes standard. La corrélation absolue mentionnée dans la question, ainsi que les statistiques qui la composent - variances et covariances - sont des formules que l'on peut appliquer à n'importe quelle paire de réalisations de marches aléatoires. La question concerne ce qui se passe quand on regarde de nombreuses réalisations indépendantes. Pour cela, nous devons prendre des attentes sur le processus de marche aléatoire.
(Modifier)
Avant de poursuivre, je souhaite partager avec vous quelques informations graphiques. Une paire de marches aléatoires indépendantes est une marche aléatoire en deux dimensions. Nous pouvons tracer le chemin qui passe de chacun ( X t , Y t ) à X t + 1 , Y t + 1 . Si ce chemin tend vers le bas (de gauche à droite, tracé sur les axes XY habituels), alors pour étudier la valeur absolue de la corrélation , nions toutes les valeurs Y. Tracez les marches sur des axes dimensionnés pour donner le X et(X,Y) (Xt,Yt) Xt+1,Yt+1 Y X valeurs égales etécartstypes superposer les moindres carrés correspondent de Y à X . Les pentes de ces droites seront les valeurs absolues des coefficients de corrélation, toujours comprises entre 0 et 1 .Y Y X 0 1
Cette figure montre ces promenades, chacune de longueur 960 (avec des différences normales normales). De petits cercles ouverts marquent leurs points de départ. Les cercles noirs marquent leur emplacement final.15 960
Ces pentes ont tendance à être assez grandes. Des diagrammes de dispersion parfaitement aléatoires de ce nombre de points auraient toujours des pentes très proches de zéro. Si nous devions décrire les modèles qui émergent ici, nous pourrions dire que la plupart des promenades aléatoires 2D migrent progressivement d'un endroit à un autre. (Ce ne sont pas nécessairement leurs emplacements de départ et de fin, cependant!) Environ la moitié du temps, alors, cette migration se produit dans une direction diagonale - et la pente est donc élevée.
Le reste de cet article esquisse une analyse de cette situation.
Une marche aléatoire est une séquence de sommes partielles de ( W 1 , W 2 , … , W n ) où les W i sont des variables à moyenne nulle indépendantes et identiquement distribuées. Soit leur variance commune σ 2 .(Xi) (W1,W2,…,Wn) Wi σ2
Dans une réalisation d'une telle marche, la "variance" serait calculée comme s'il s'agissait d'un ensemble de données:x=(x1,…,xn)
Une bonne façon de calculer cette valeur est de prendre la moitié de la moyenne de toutes les différences au carré:
Les différences sont des sommes de variables iid,
Il s'ensuit facilement que
The covariance between two independent realizationsx and y --again in the sense of datasets, not random variables--can be computed with the same technique (but it requires more algebraic work; a quadruple sum is involved). The result is that the expected square of the covariance is
Consequently the expectation of the squared correlation coefficient betweenX and Y , taken out to n steps, is
Although this is not constant, it rapidly approaches a limiting value of9/40 . Its square root, approximately 0.47 , therefore approximates the expected absolute value of ρ(n) (and underestimates it).
I am sure I have made computational errors, but simulations bear out the asymptotic accuracy. In the following results showing the histograms ofρ2(n) for 1000 simulations each, the vertical red lines show the means while the dashed blue lines show the formula's value. Clearly it's incorrect, but asymptotically it is right. Evidently the entire distribution of ρ2(n) is approaching a limit as n increases. Similarly, the distribution of |ρ(n)| (which is the quantity of interest) will approach a limit.
This is the
R
code to produce the figure.la source