Pourquoi les promenades aléatoires sont-elles intercorrélées?

27

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.560.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.56au 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))
Adam
la source
Ma première pensée est qu'à mesure que la marche s'allonge, il est possible d'obtenir des valeurs de plus grande ampleur, et la corrélation s'accélère.
John Paul
Mais cela fonctionnerait avec n'importe quelle séquence aléatoire, si je vous comprends bien, mais seules les marches aléatoires ont cette corrélation constante.
Adam
4
Ce n'est pas n'importe quelle "séquence aléatoire": les corrélations sont extrêmement élevées, car chaque terme n'est qu'à un pas du précédent. Notez également que le coefficient de corrélation que vous calculez n'est pas celui des variables aléatoires impliquées: c'est un coefficient de corrélation pour les séquences (considéré simplement comme des données appariées), ce qui revient à une grande formule impliquant divers carrés et des différences de tous les termes dans la séquence.
whuber
10
Parlez-vous de corrélations entre des marches aléatoires (entre les séries et non dans une même série)? Si c'est le cas, c'est parce que vos marches aléatoires indépendantes sont intégrées mais pas cointégrées, ce qui est une situation bien connue où de fausses corrélations apparaissent.
Chris Haug
8
Si vous prenez une première différence, vous ne trouverez aucune corrélation. Le manque de stationnarité est la clé ici.
Paul

Réponses:

24

Vos processus indépendants ne sont pas corrélés! Si et Y t sont des marches aléatoires indépendantes:XtYt

  • Il n'existe pas de coefficient de corrélation inconditionnel au temps. (Ne parlez pas de .)Corr(X,Y)
  • Pour tout instant , Corr ( X t , Y t ) est bien 0.tCorr(Xt,Yt)
  • Mais les échantillons de statistiques basés sur des moyennes de séries chronologiques ne convergeront vers rien! L'échantillon de coefficient de corrélation que vous avez calculé sur la base de la moyenne de plusieurs observations dans le temps n'a pas de sens.

Intuitivement, vous pourriez deviner (à tort) que:

  1. L'indépendance entre deux processus et { Y t } implique qu'ils ont une corrélation nulle. (Pour deux promenades aléatoires, Corr ( X , Y ) n'existe pas.){Xt}{Yt}Corr(X,Y)
  2. La série temporelle, la corrélation échantillon ρ X Y ( par exemple le coefficient de corrélation calculé à l' aide des séries chronologiques, des statistiques telles que l' échantillon ^ μ X = 1ρ^XY) convergera vers le coefficient de corrélation de populationρXYcomme.μX^=1Tτ=1TXτρXYT

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:

  • Vous pouvez parler de la corrélation entre les processus et à deux moments particuliers (par exemple. est une déclaration parfaitement sensée.){Xt}{Yt}Corr(X2,Y3)
  • Mais cela n'a pas de sens de parler de corrélation entre les deux séries sans condition de temps! n'a pas de signification bien définie.Corr(X,Y)

Les problèmes dans le cas d'une marche aléatoire?

  1. Pour une marche aléatoire, les moments de population inconditionnels (c'est-à-dire qui ne dépendent pas du temps ), tels que , n'existent pas. (Dans un certain sens, ils sont infinis.) De même, le coefficient de corrélation inconditionnel entre deux marches aléatoires indépendantes n'est pas nul; ça n'existe en fait pas!tE[X]ρXY
  2. Les hypothèses des théorèmes ergodiques ne s'appliquent pas et diverses moyennes de séries chronologiques (par exemple ) ne convergent vers rien en tant que . 1TτXτT
    • Pour une séquence stationnaire, la moyenne de la série chronologique finira par converger vers la moyenne inconditionnelle du temps. Mais pour une séquence non stationnaire, il n'y a aucun moyen qui soit inconditionnel sur le temps!

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).X1X2Y1Y211

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=1t=T[1,1]ωΩ

  • Si et Y t se sont éloignés dans la même direction, vous détecterez une fausse relation positive.XtYt
  • Si et Y t se sont éloignés dans des directions différentes, vous détecterez une fausse relation négative.XtYt
  • Si et Y t s'avéraient assez éloignés l'un de l'autre, vous détecterez une relation proche de zéro.XtYt

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=xtxt1{Δ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}tNΩ

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)X1XtY1Yt

Vous pouvez définir une variable aléatoire comme:Zt

Zt=|ρ^XY(t)|

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 Ω .)0N(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:

  • Simulé deux marches aléatoires de 10 000 longueurs (avec des incréments normalement distribués tirés de ).N(0,1)
  • Calculé le coefficient de corrélation d'échantillon entre eux.

Ci-dessous, un histogramme montrant la distribution empirique sur les 10000 coefficients de corrélation calculés.

entrez la description de l'image ici

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]XY

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:

for i=1:10000 
  X = randn(10000,2); 
  Y = cumsum(X); 
  z(i) = corr(Y(:,1), Y(:,2));
end;
histogram(z,20);
mean(abs(z))
Matthew Gunn
la source
Étant donné que la taille de l'échantillon n'est évidemment pas finie, vos affirmations sur diverses quantités inexistantes sont déroutantes. Il est difficile de voir comment vos symboles s'appliquent à la situation décrite par le PO.
whuber
La taille de votre échantillon ne va JAMAIS à l'infini! Pas tant que vous dessinez des échantillons avec un ordinateur ( seulement en mathématiques pures, vous pouvez faire de telles hypothèses ). Et qu'est-ce que cela signifie: parce que vous avez une infinité de points, cela ne converge pas? Où avez-vous lu ça?
Mayou36
@whuber Espérons que cette version soit un peu plus claire. Je suppose que l'OP demande pourquoi le coefficient de corrélation d'échantillon (basé sur des moyennes de séries chronologiques) entre deux segments finis de marches aléatoires n'est pas nul, même pour des séries chronologiques d'une immense longueur. Un problème fondamental est que pour une marche aléatoire, divers moments de la population n'existent pas et les moyennes des séries chronologiques ne convergent en rien.
Matthew Gunn
Néanmoins, pour fixe, tout est fini. En outre, l'attente du coefficient de corrélation d'échantillon absolu ne converge que n augmente! Notons également que la question concerne la valeur absolue de ce coefficient. Son attente (évidemment) est nulle. nn
whuber
1
@whuber Voulez-vous dire que pour une série temporelle fixe , tout est fini? (oui, je suis d'accord avec cela.) L'espérance de la corrélation de l'échantillon est nulle (oui, je suis d'accord avec cela). Cependant, lorsque t augmente, la corrélation d'échantillon ne converge pas sur un seul point. Pour deux segments de marche aléatoires de longueur arbitraire, le coefficient de corrélation d'échantillon n'est pas si éloigné d'un tirage aléatoire de la distribution uniforme sur [0, 1] (voir histogramme). tt
Matthew Gunn
15

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/2n

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+1YX 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 .YYX01

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.15960

Figure

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)

V(x)=1n(xix¯)2.

Une bonne façon de calculer cette valeur est de prendre la moitié de la moyenne de toutes les différences au carré:

V(x)=1n(n1)j>i(xjxi)2.

xXn

E(V(X))=1n(n1)j>iE(XjXi)2.

Les différences sont des sommes de variables iid,

XjXi=Wi+1+Wi+2++Wj.

WkWkσ2

E((Wi+1+Wi+2++Wj2))=(ji)σ2.

Il s'ensuit facilement que

E(V(X))=1n(n1)j>i(ji)σ2=n+16σ2.

The covariance between two independent realizations x 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

E(C(X,Y)2)=3n62n53n2+2n480n2(n1)2σ4.

Consequently the expectation of the squared correlation coefficient between X and Y, taken out to n steps, is

ρ2(n)=E(C(X,Y)2)E(V(X))2=3403n32n2+3n2n3n.

Although this is not constant, it rapidly approaches a limiting value of 9/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.

Figure

This is the R code to produce the figure.

f <- function(n){
  m <- (2 - 3* n + 2* n^2 -3 * n^3)/(n - n^3) * 3/40 
}
n.sim <- 1e4
par(mfrow=c(1,4))
for (n in c(3, 10, 30, 100)) {
  u <- matrix(rnorm(n*n.sim), nrow=n)
  v <- matrix(rnorm(n*n.sim), nrow=n)
  x <- apply(u, 2, cumsum)
  y <- apply(v, 2, cumsum)
  sim <- rep(NA_real_, n.sim)
  for (i in 1:n.sim)
    sim[i] <- cor(x[,i], y[,i])^2
  z <- signif(sqrt(n.sim)*(mean(sim) - f(n)) / sd(sim), 3)
  hist(sim,xlab="rho(n)^2", main=paste("n =", n), sub=paste("Z =", z))
  abline(v=mean(sim), lwd=2, col="Red")
  abline(v=f(n), col="Blue", lwd=2, lty=3)
}
whuber
la source
My Monte-Carlo simulation based estimate of E[ρ2] for T=100 is about .24 (which appears to agree with your results). I agree with your analysis here. You might be getting at how the OP come to his number (though I calculate about .42, not .56).
Matthew Gunn
If you can take repeated draws from Ω, there's nothing particularly special about time-series analysis. Issues (eg. ergodicity, stationarity etc...) develop when you can only observe new values of X by advancing time t which I assumed was what the OP was trying to get at... (but maybe not).
Matthew Gunn
1
+1 but what is the intuition about why there is this positive asymptotic value 9/40, whereas naively one would expect that if one takes two very long random walks they should have near-zero correlation, i.e. naively one would expect the distribution of correlations to shrink to zero as n grows?
amoeba says Reinstate Monica
@amoeba First, I don't fully believe the value of 9/40, but I know it's close to correct. For the intuition, consider that two independent walks Xt and Yt are a random walk (Xt,Yt) in two dimensions. Take any random scatterplot in 2D and measure its eccentricity somehow. It will be rare for it to be perfectly circular. Thus, we expect the mean eccentricity to be positive. That there is a limiting distribution for random walks merely reflects the self-similar "fractal" nature of this 2D walk.
whuber
2
An asymptotic analysis of the issues discussed here may be found in Phillips (1986), Theorem 1e.
Christoph Hanck