Comment fonctionne la formule de génération de variables aléatoires corrélées?


19

Si nous avons 2 variables aléatoires normales non corrélées X1,X2 nous pouvons créer 2 variables aléatoires corrélées avec la formule

Y=ρX1+1ρ2X2

puis aura une corrélation ρ avec X 1 .YρX1

Quelqu'un peut-il expliquer d'où vient cette formule?


1
Une discussion approfondie de ce problème et des problèmes connexes apparaît dans ma réponse sur stats.stackexchange.com/a/71303 . Entre autres choses, il est clair que (1) l'hypothèse de normalité n'est pas pertinente et (2) vous devez faire des hypothèses supplémentaires: les variances de et X 2 doivent être égales pour que la corrélation de Y avec X 1 soit ρ . X1X2YX1ρ
whuber

Lien très intéressant. Je ne suis pas sûr de comprendre ce que vous entendez par normalité non pertinente. Si ou X 2 n'est pas normal, et il devient plus difficile de contrôler la densité de Y via l'algorithme de Kaiser-Dickman. C'est la raison pour laquelle des algorithmes spécialisés génèrent des données corrélées non normales (par exemple, Headrick, 2002; Ruscio et Kaczetow, 2008; Vale et Maurelli, 1983) Par exemple, imaginez que votre objectif est de générer X ~ normal, Y ~ uniforme , avec ρ = 0,5. L'utilisation de X 2 ~ uniforme donne un Y qui n'est pas uniforme ( Y finit par être une combinaison linéaire d'une normale et uniforme).X1X2YXYρX2YY
Anthony

@Anthony La question ne concerne que la corrélation , qui est purement fonction des premier et deuxième moments. La réponse ne dépend d'aucune autre propriété des distributions. Ce dont vous discutez est un tout autre sujet.
whuber

Réponses:


17

Supposons que vous vouliez trouver une combinaison linéaire de et X 2 telle queX1X2

corr(αX1+βX2,X1)=ρ

Notez que si vous multipliez à la fois et β par la même constante (non nulle), la corrélation ne changera pas. Ainsi, nous allons ajouter une condition pour conserver la variance: var ( α X 1 + β X 2 ) = varαβvar(αX1+βX2)=var(X1)

Cela équivaut à

ρ=cov(αX1+βX2,X1)var(αX1+βX2)var(X1)=αcov(X1,X1)=var(X1)+βcov(X2,X1)=0var(αX1+βX2)var(X1)=αvar(X1)α2var(X1)+β2var(X2)

Assuming both random variables have the same variance (this is a crucial assumption!) (var(X1)=var(X2)), we get

ρα2+β2=α

There are many solutions to this equation, so it's time to recall variance-preserving condition:

var(X1)=var(αX1+βX2)=α2var(X1)+β2var(X2)α2+β2=1

And this leads us to

α=ρβ=±1ρ2

UPD. Regarding the second question: yes, this is known as whitening.


9

The equation is a simplified bivariate form of Cholesky decomposition. This simplified equation is sometimes called the Kaiser-Dickman algorithm (Kaiser & Dickman, 1962).

Note that X1 and X2 must have the same variance for this algorithm to work properly. Also, the algorithm is typically used with normal variables. If X1 or X2 are not normal, Y might not have the same distributional form as X2.

References:

Kaiser, H. F., & Dickman, K. (1962). Sample and population score matrices and sample correlation matrices from an arbitrary population correlation matrix. Psychometrika, 27(2), 179-182.


2
I suppose you don't need standardized normal variables, just having the same variance should be enough.
Artem Sobolev

2
No, the distribution of Y is not a mixture distribution as you claim.
Dilip Sarwate

Point taken, @Dilip Sarwate. If either X1 or X2 is nonnormal, then Y becomes a linear combination of two variables that might not result in the desired distribution. This is the reason for specialized algorithms (instead of Kaiser-Dickman) for generated non-normal correlated data.
Anthony

3

Correlation coefficient is the cos between two series if they are treated as vectors (with nth data point being nth dimension of a vector). The above formula simply creates a decomposition of a vector into its cosθ, sinθ components (with respect to X1,X2).
if ρ=cosθ , then 1ρ2=±sinθ.

Because if X1,X2 are uncorrelated, the angle between them is a right angle (ie, they can be considered as orthogonal, albeit non-normalized, basis vectors ).


2
Welcome to our site! I believe your post will get more attention if you mark up the mathematical expressions using TEX: enclose them between dollar signs. There's help available when you're editing.
whuber
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.