A est positivement lié à B.
C est le résultat de A et B, mais l'effet de A sur C est négatif et l'effet de B sur C est positif.
Cela peut-il arriver?
A est positivement lié à B.
C est le résultat de A et B, mais l'effet de A sur C est négatif et l'effet de B sur C est positif.
Cela peut-il arriver?
Réponses:
Les autres réponses sont vraiment merveilleuses - elles donnent des exemples concrets.
Je veux expliquer pourquoi cela peut arriver malgré notre intuition contraire.
La corrélation est le cosinus de l'angle entre les vecteurs. Essentiellement, vous demandez s'il est possible que
Oui bien sûr:
Dans cet exemple ( désigne la corrélation):
Cependant, votre surprise n'est pas déplacée.
L'angle entre les vecteurs est une métrique de distance sur la sphère unitaire, il satisfait donc l'inégalité du triangle:
ainsi, puisque ,
par conséquent (puisque est décroissante sur )
Alors,
Oui, deux conditions concomitantes peuvent avoir des effets opposés.
Par exemple:
J'ai entendu cette analogie de voiture qui s'applique bien à la question:
La clé ici est l'intention du conducteur de maintenir une vitesse constante (C), donc la corrélation positive entre A et B découle naturellement de cette intention. Vous pouvez ainsi construire des exemples sans fin de A, B, C avec cette relation.
L'analogie provient d'une interprétation du thermostat de Milton Friedman et d'une analyse intéressante de la politique monétaire et de l'économétrie, mais cela n'a rien à voir avec la question.
Oui, c'est trivial à démontrer avec une simulation:
Simulez 2 variables, A et B qui sont positivement corrélées:
> require(MASS)
> set.seed(1)
> Sigma <- matrix(c(10,3,3,2),2,2)
> dt <- data.frame(mvrnorm(n = 1000, rep(0, 2), Sigma))
> names(dt) <- c("A","B")
> cor(dt)
A B
A 1.0000000 0.6707593
B 0.6707593 1.0000000
Créez la variable C:
> dt$C <- dt$A - dt$B + rnorm(1000,0,5)
Voir:
> (lm(C~A+B,data=dt))
Coefficients:
(Intercept) A B
0.03248 0.98587 -1.05113
> set.seed(1)
> Sigma <- matrix(c(1,0.5,0.5,0.5,1,-0.5,0.5,-0.5,1),3,3)
> dt <- data.frame(mvrnorm(n = 1000, rep(0,3), Sigma, empirical=TRUE))
> names(dt) <- c("A","B","C")
> cor(dt)
A B C
A 1.0 0.5 0.5
B 0.5 1.0 -0.5
C 0.5 -0.5 1.0
cor(C, A)
et cor(C, B)
que lm(C ~ A + B)
ici. Nous nous intéressons, par exemple, à la relation incontrôlée de A et C plutôt qu'à cette relation contrôlée pour B.
puis
La covariance entre C et A pourrait alors être négative dans deux conditions: