A está positivamente relacionado con B.
C es el resultado de A y B, pero el efecto de A sobre C es negativo y el efecto de B sobre C es positivo.
Puede suceder esto?
A está positivamente relacionado con B.
C es el resultado de A y B, pero el efecto de A sobre C es negativo y el efecto de B sobre C es positivo.
Puede suceder esto?
Respuestas:
Las otras respuestas son realmente maravillosas: dan ejemplos de la vida real.
Quiero explicar por qué esto puede suceder a pesar de nuestra intuición de lo contrario.
La correlación es el coseno del ángulo entre los vectores. Esencialmente, usted pregunta si es posible que
Sí, por supuesto:
En este ejemplo ( denota correlación):
Sin embargo, su sorpresa no está fuera de lugar.
El ángulo entre vectores es una métrica de distancia en la esfera de la unidad, por lo que satisface la desigualdad del triángulo:
Asi que,
Sí, dos condiciones concurrentes pueden tener efectos opuestos.
Por ejemplo:
He escuchado esta analogía del automóvil que se aplica bien a la pregunta:
La clave aquí es la intención del conductor de mantener una velocidad constante (C), por lo tanto, la correlación positiva entre A y B se deduce naturalmente de esa intención. Puede construir ejemplos interminables de A, B, C con esta relación así.
La analogía proviene de una interpretación del termostato de Milton Friedman y proviene de un análisis interesante de la política monetaria y la econometría, pero eso es irrelevante para la pregunta.
Sí, esto es trivial para demostrar con una simulación:
Simule 2 variables, A y B que se correlacionan positivamente:
> 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
Crear variable C:
> dt$C <- dt$A - dt$B + rnorm(1000,0,5)
Mirad:
> (lm(C~A+B,data=dt))
Coefficients:
(Intercept) A B
0.03248 0.98587 -1.05113
Editar: Alternativamente (como lo sugirió Kodiologist), solo simulando desde una normalidad multivariada tal que , y
> 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)
y cor(C, B)
que lm(C ~ A + B)
aquí. Estamos interesados en, por ejemplo, la relación incontrolada de A y C en lugar de esta relación controlada por B.
then
Then covariance between C and A could be negative in two conditions: