А положительно связан с Б.
C является результатом A и B, но влияние A на C отрицательно, а влияние B на C положительно.
Может ли это случиться?
А положительно связан с Б.
C является результатом A и B, но влияние A на C отрицательно, а влияние B на C положительно.
Может ли это случиться?
Ответы:
Другие ответы поистине изумительны - они дают примеры из реальной жизни.
Я хочу объяснить, почему это может произойти, несмотря на нашу интуицию об обратном.
Корреляция - это косинус угла между векторами. По сути, вы спрашиваете, возможно ли, что
Да, конечно:
В этом примере ( обозначает корреляцию):
Тем не менее, ваш сюрприз не теряется.
Угол между векторами является метрикой расстояния на единичной сфере, поэтому он удовлетворяет неравенству треугольника:
таким образом, поскольку ,
Поэтому (так является уменьшение на )[ 0 , π ]
Так,
Да, два сопутствующих условия могут иметь противоположные эффекты.
Например:
Я слышал эту автомобильную аналогию, которая хорошо подходит к вопросу:
Ключевым моментом здесь является намерение водителя поддерживать постоянную скорость (C), поэтому положительная корреляция между A и B естественно вытекает из этого намерения. Таким образом, вы можете построить бесконечные примеры A, B, C.
Аналогия исходит из интерпретации термостата Милтона Фридмана и интересного анализа денежно-кредитной политики и эконометрики, но это не имеет отношения к вопросу.
Да, это несложно продемонстрировать с помощью симуляции:
Смоделируйте 2 переменные, A и B, которые положительно коррелируют:
> 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
Создайте переменную C:
> dt$C <- dt$A - dt$B + rnorm(1000,0,5)
Вот:
> (lm(C~A+B,data=dt))
Coefficients:
(Intercept) A B
0.03248 0.98587 -1.05113
Изменить: В качестве альтернативы (в соответствии с предложением Kodiologist), просто имитируя из многомерного нормального так, что , и
> 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)
и cor(C, B)
чем lm(C ~ A + B)
здесь. Нас интересуют, например, неконтролируемые отношения А и С, а не эти отношения, контролируемые для Б.
Тогда ковариация между C и A может быть отрицательной в двух условиях: