Как добавление второго IV может сделать первое IV значимым?


64

У меня, наверное, простой вопрос, но он меня сейчас озадачивает, поэтому я надеюсь, что вы мне поможете.

У меня есть модель регрессии наименьших квадратов, с одной независимой переменной и одной зависимой переменной. Отношения не значительны. Теперь я добавляю вторую независимую переменную. Теперь связь между первой независимой переменной и зависимой переменной становится существенной.

Как это работает? Это, вероятно, демонстрирует некоторую проблему с моим пониманием, но для меня, но я не вижу, как добавление этой второй независимой переменной может сделать первую значимой.


4
Это очень широко обсуждаемая тема на этом сайте. Вероятно, это связано с коллинеарностью. Сделайте поиск для "коллинеарности", и вы найдете десятки соответствующих тем. Предлагаю прочитать некоторые ответы на stats.stackexchange.com/questions/14500/…
Макрос

3
возможные дубликаты значимых предикторов становятся незначимыми при множественной логистической регрессии . Есть много тем, которые фактически являются дубликатами - это было самое близкое, что я мог найти менее чем за две минуты
Макрос

3
Это своего рода проблема, противоположная той, которая только что найдена в потоке @macro, но причины очень схожи.
Питер Флом - Восстановить Монику

3
@ Макро, я думаю, что вы правы, что это может быть дубликат, но я думаю, что проблема здесь немного отличается от 2 вопросов выше. ОП не относится ни к значению модели в целом, ни к переменным, становящимся несущественными с дополнительными IV. Я подозреваю, что речь идет не о мультиколлинеарности, а о силе или, возможно, подавлении.
gung - Восстановить Монику

3
Кроме того, @gung, подавление в линейных моделях происходит только при наличии коллинеарности - различие заключается в интерпретации, поэтому «речь идет не о мультиколлинеарности, а о возможном подавлении», что вводит в заблуждение дихотомией
Макро

Ответы:


78

Хотя коллинеарность (переменных предикторов) является возможным объяснением, я хотел бы предположить, что это не вдохновляющее объяснение, потому что мы знаем, что коллинеарность связана с «общей информацией» среди предикторов, поэтому в этой стороне нет ничего таинственного или нелогичного эффект от введения второго коррелированного предиктора в модель.

Затем давайте рассмотрим случай двух предикторов, которые действительно ортогональны : между ними нет абсолютно никакой коллинеарности. Значительное изменение в значении все еще может произойти.

Определите переменные предиктора и X 2 и позвольте Y назвать предиктор . Регрессия Y против X 1 не будет существенной, когда изменение Y вокруг его среднего значения не будет заметно уменьшено, когда X 1 используется в качестве независимой переменной. Когда это изменение в значительной степени связано со второй переменной X 2 , однако, ситуация меняется. Напомним, что множественная регрессия Y против X 1 и X 2 эквивалентнаX1X2YYX1YX1X2YX1X2

  1. Отдельно регрессируйте и X 1 против X 2 .YX1X2

  2. Регресс остатков против остатков X 1 .YX1

Остатки от первого шага убрали эффект . Когда X 2 тесно коррелирует с Y , это может выявить относительно небольшое количество изменений, которые ранее были замаскированы. Если это изменение связано с X 1 , мы получаем значительный результат.X2X2YX1


Возможно, все это можно пояснить на конкретном примере. Для начала давайте Rсгенерируем две ортогональные независимые переменные вместе с некоторой независимой случайной ошибкой :ε

n <- 32
set.seed(182)
u <-matrix(rnorm(2*n), ncol=2)
u0 <- cbind(u[,1] - mean(u[,1]), u[,2] - mean(u[,2]))
x <- svd(u0)$u
eps <- rnorm(n)

(Этот svdшаг гарантирует, что два столбца матрицы x(представляющие и X 2 ) ортогональны, исключая коллинеарность как возможное объяснение любых последующих результатов.)X1X2

Затем создайте как линейную комбинацию X и ошибки. Я скорректировал коэффициенты, чтобы получить нелогичное поведение:YX

y <-  x %*% c(0.05, 1) + eps * 0.01

Это реализация модели с n = 32 случаями.YiidN(0.05X1+1.00X2,0.012)n=32

Посмотрите на две регрессии в вопросе. Во-первых , регрессируйте против X 1 :YX1

> summary(lm(y ~ x[,1]))
...
             Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.002576   0.032423  -0.079    0.937
x[, 1]       0.068950   0.183410   0.376    0.710

Высокое значение p, равное 0,710, показывает, что является полностью несущественным.X1

Затем регрессируйте против X 1 и X 2 :YX1X2

> summary(lm(y ~ x))
...
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.002576   0.001678  -1.535    0.136    
x1           0.068950   0.009490   7.265 5.32e-08 ***
x2           1.003276   0.009490 105.718  < 2e-16 ***

Внезапно, в присутствии , X 1 становится очень значительным, на что указывают почти нулевые p-значения для обеих переменных.X2X1

Мы можем визуализировать это поведение с помощью матрицы рассеяния переменных , X 2 и Y вместе с остатками, использованными в двухэтапной характеристике множественной регрессии, описанной выше. Поскольку X 1 и X 2 являются ортогональными, остатки X 1 будут такими же, как X 1, и, следовательно, их не нужно перерисовывать. Мы включим невязки Y против X 2 в матрицу диаграммы рассеяния, давая эту цифру:X1X2YX1X2X1X1YX2

lmy <- lm(y ~ x[,2])
d <- data.frame(X1=x[,1], X2=x[,2], Y=y, RY=residuals(lmy))
plot(d)

Вот его рендеринг (с небольшим предварительным подтверждением):

SPM

Эта матрица графики имеет четыре строки и четыре столбца, которые я буду отсчитывать сверху вниз и слева направо.

Обратите внимание:

  • (X1,X2)

  • (X1,Y)YX1ρ0.07

  • (X2,Y)Y0.996

  • YX2

    • YX2

    • X1ρ=0.80X2

    • X2

    • Yρ=0.09YX1

X10.068950.05X1X2


X1X2X2X1X1X2

n=32

23

Я думаю, что этот вопрос довольно подробно обсуждался ранее на этом сайте, если вы просто знали, где искать. Поэтому я, вероятно, добавлю комментарий позже с некоторыми ссылками на другие вопросы или могу отредактировать его, чтобы дать более полное объяснение, если я не смогу найти какой-либо.

Есть две основные возможности: во-первых, другой IV может поглотить некоторую остаточную изменчивость и, таким образом, увеличить мощность статистического теста первоначального IV. Вторая возможность заключается в том, что у вас есть переменная подавителя. Это очень нелогичная тема, но вы можете найти некоторую информацию здесь *, здесь или в этой отличной ветке резюме .

* Обратите внимание, что вам нужно прочитать весь путь до конца, чтобы перейти к части, которая объясняет переменные-подавители, вы можете просто пропустить это, но вам лучше всего будет прочитать все это.


Редактировать: как и обещал, я добавляю более полное объяснение своей точки зрения относительно того, как другой IV может поглотить некоторую остаточную изменчивость и, таким образом, увеличить мощность статистического теста первоначального IV. @whuber добавил впечатляющий пример, но я подумал, что могу добавить дополнительный пример, который объясняет это явление по-другому, что может помочь некоторым людям более ясно понять это явление. Кроме того, я демонстрирую, что второй IV не должен быть более тесно связан (хотя на практике это почти всегда будет происходить для этого явления).

tFt

SourceSSdfMSFx1(y^iy¯)21SSx1dfx1MSx1MSresResidual(yiy^i)2N(1+1)SSresdfresTotal(yiy¯)2N1

y¯yyiyiy^iiN

SourceSSdfMSFx1(y^x1ix¯2y¯)21SSx1dfx1MSx1MSresx2(y^x¯1x2iy¯)21SSx2dfx2MSx2MSresResidual(yiy^i)2N(2+1)SSresdfresTotal(yiy¯)2N1

y^x1ix¯2ix1x2x2x¯2 x2для некоторого наблюдения, в этом случае не нужно вносить никаких корректировок, но обычно это не так. Обратите внимание, что этот метод для создания таблицы ANOVA действителен, только если все переменные являются ортогональными; это очень упрощенный случай, созданный для пояснительных целей.

x2yy¯x1x2SSx1x2SSx1SSresdfx2dfres

Fx1MSx1MSresMSx1MSresx2x2Ftx2x2MSresFx1p

x2x1ppR

x1 = rep(1:3, times=15)
x2 = rep(1:3, each=15)
cor(x1, x2)     # [1] 0
set.seed(11628)
y       = 0 + 0.3*x1 + 0.3*x2 + rnorm(45, mean=0, sd=1)
model1  = lm(y~x1)
model12 = lm(y~x1+x2)

anova(model1)
#  ...
#           Df Sum Sq Mean Sq F value  Pr(>F)  
# x1         1  5.314  5.3136  3.9568 0.05307 .
# Residuals 43 57.745  1.3429                  
#  ...
anova(model12)
#  ...
#           Df Sum Sq Mean Sq F value  Pr(>F)  
# x1         1  5.314  5.3136  4.2471 0.04555 *
# x2         1  5.198  5.1979  4.1546 0.04785 *
# Residuals 42 52.547  1.2511                  
#  ...

x2

set.seed(1201)
y       = 0 + 0.3*x1 + 0.3*x2 + rnorm(45, mean=0, sd=1)
anova(model1)
# ...
#           Df Sum Sq Mean Sq F value  Pr(>F)  
# x1         1  3.631  3.6310  3.8461 0.05636 .
# ...
anova(model12)
# ...
#           Df Sum Sq Mean Sq F value  Pr(>F)  
# x1         1  3.631  3.6310  4.0740 0.04996 *
# x2         1  3.162  3.1620  3.5478 0.06656 .
# ...

По общему признанию, это не что иное, как драматический пример в посте @ whuber, но они могут помочь людям понять, что здесь происходит.


1
(+1) для «Во-первых, другой IV может поглотить некоторую остаточную изменчивость и, таким образом, увеличить мощность статистического теста первоначального IV», который @whuber привел хороший пример
Макрос

(+1) В начале вы даете три ссылки. Первый (внешний), к сожалению, сломан (ошибка 404). Кроме того: вы говорите, что есть «две основные возможности»: добавленная вторая IV увеличивает мощность для тестирования первой IV (и это именно та ситуация, которая описана Уубером и Уэйном в их ответах) или существует переменная супрессора (который, кстати, первый или второй?). Мой вопрос: действительно ли это две разные ситуации? Или это, по сути, одно и то же, может быть, немного иначе? Было бы здорово, если бы вы могли расширить это.
говорит амеба: восстанови монику


@ Gung, спасибо за ответ. Ttnphns начинается с предоставления ссылки на статью, в которой обсуждается подавление и некоторые другие связанные с этим эффекты, и в этой статье утверждается, что «наиболее общепринятое определение переменной-подавителя (Tzelgov & Henik, 1991) [является]« переменной, которая увеличивает предсказательную достоверность другой переменной (или набора переменных) путем ее включения в уравнение регрессии »». Это похоже на то, о чем здесь спрашивал ОП, поэтому я смутился, когда вы сказали, что могут быть две разные причины.
амеба говорит восстановить Монику

1
@amoeba, дело в том, что у вас есть 2 разных механизма. То есть у вас есть 2 разных базовых DAG. Внешнее проявление может быть схожим, и дополнительная мощность может быть больше или меньше, но причина, по которой 2-я переменная помогает, отличается, потому что отношение 2-й переменной к x1 & y отличается. Если это не ясно, возможно, вам придется задать новый вопрос; трудно сделать слишком много в комментариях.
gung - Восстановить Монику

17

Такое ощущение, что вопрос ОП можно интерпретировать двумя различными способами:

  1. Математически, как работает OLS, так что добавление независимой переменной может неожиданно изменить результаты?

  2. Как изменение моей модели путем добавления одной переменной может изменить эффект другой независимой переменной в модели?

На вопрос № 1 уже есть несколько хороших ответов. И вопрос № 2 может быть настолько очевидным для экспертов, что они предполагают, что ФП должен задавать вопрос № 1. Но я думаю, что вопрос № 2 заслуживает ответа, который был бы что-то вроде:

Давайте начнем с примера. Скажем, у вас были рост, возраст, пол и т. Д. Нескольких детей, и вы хотели сделать регрессию, чтобы предсказать их рост.

Вы начинаете с наивной модели, которая использует пол в качестве независимой переменной. И это не является статистически значимым. (Как это может быть, вы смешиваете 3-летних и подростков.)

Затем вы добавляете возраст, и вдруг возраст становится не только значимым, но и полом. Как это может быть?

Конечно, в моем примере вы можете ясно видеть, что возраст является важным фактором роста ребенка / подростка. Вероятно, самый важный фактор, о котором у вас есть данные. Пол также может иметь значение, особенно для детей старшего возраста и взрослых, но только пол является плохой моделью того, каков рост ребенка.

Возраст плюс пол - разумная (хотя, конечно, упрощенная) модель, подходящая для этой задачи Если вы добавите другие данные - взаимодействие возраста и пола, рацион питания, рост родителей и т. Д. - вы могли бы сделать еще лучшую модель, которая, конечно, все еще будет упрощена по сравнению с множеством факторов, которые фактически определяют рост ребенка, но опять же все модели являются упрощенной версией реальности. (Карта мира в масштабе 1: 1 не слишком полезна для путешественника.)

Ваша оригинальная модель (только пол) слишком упрощена - настолько упрощена, что по сути сломана. Но это не значит, что пол не полезен в лучшей модели.

РЕДАКТИРОВАТЬ: добавлено предложение gung о: термин взаимодействия возраста и пола.


1
+1, нб, возраст и пол, вероятно, также потребуется термин взаимодействия.
gung - Восстановить Монику

1
+1 Это отличный пример, потому что он настолько прост и интуитивно понятен, и в то же время точно соответствует ситуации, описанной гораздо более подробно, но только абстрактно @whuber в принятом здесь ответе.
амеба говорит восстановить монику

10

В этой теме уже три отличных ответа (+1 к каждому). Мой ответ - это расширенный комментарий и иллюстрация к высказыванию @gung (что заняло у меня некоторое время, чтобы понять):

Есть две основные возможности: во-первых, другой IV может поглотить некоторую остаточную изменчивость и, таким образом, увеличить мощность статистического теста первоначального IV. Вторая возможность заключается в том, что у вас есть переменная подавителя.

x1x2ynRnyx1x2(с «шляпной матрицей» просто являющейся проектором). Читатели, незнакомые с этим подходом, могут посмотреть, например, «Элементы статистического обучения» , раздел 3.2, или во многих других книгах.

"Enhancement"

На следующем рисунке показаны обе возможности, перечисленные @gung. Сначала рассмотрим только синюю часть (т.е. игнорируем все красные линии):

Улучшение и подавление

x1x2Xyy^

x2yx1α90yx1x1

x2x1x2x1x2x2yβα90x1

Другой способ выразить это состоит в том, что тест сравнивает длину OF с OG, а не с OC, как раньше; OF является крошечным и «незначительным» по сравнению с OC, но достаточно большим, чтобы быть «значительным» по сравнению с OG.

Это именно ситуация представлена @whuber, @gung и @Wayne в своих ответах. Я не знаю, имеет ли этот эффект стандартное название в литературе по регрессии, поэтому я назову его «улучшение».

подавление

α=90β=90x1

Не так в подавлении.

x3x1x2x3Xx1x3x1Xy

x1x1y


1
Я нашел, что ваш ответ легче всего понять с помощью геометрической интерпретации. Superb!
zsljulius

1
α=0yx1yx1cor(x1,y)=1x1yyx1
Кохелет

α=90
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.