Я хотел бы предположить, что это явление (незначительного общего теста, несмотря на значительную индивидуальную переменную) можно понимать как некий совокупный «маскирующий эффект» и что, хотя оно предположительно может возникнуть из мультиколлинеарных объясняющих переменных, оно не должно это вообще. Также оказывается, что это происходит не из-за множественных корректировок сравнения. Таким образом, этот ответ добавляет некоторые уточнения к уже появившимся ответам, которые, наоборот, предполагают, что виновниками являются либо мультиколлинеарность, либо множественные сравнения.
Чтобы установить правдоподобие этих утверждений, давайте сгенерируем набор совершенно ортогональных переменных - как можно более неколлинеарных - и зависимой переменной, которая явно определяется только первым из объяснений (плюс большое количество случайных ошибок независимо от всего остального). В R
это можно сделать (воспроизводимым, если вы хотите экспериментировать) , как
set.seed(17)
p <- 5 # Number of explanatory variables
x <- as.matrix(do.call(expand.grid, lapply(as.list(1:p), function(i) c(-1,1))))
y <- x[,1] + rnorm(2^p, mean=0, sd=2)
Неважно, что объясняющие переменные являются двоичными; важна их ортогональность, которую мы можем проверить, чтобы убедиться, что код работает должным образом, что можно сделать, проверив их корреляции. Действительно, корреляционная матрица интересна : предполагаемые малые коэффициенты y
имеют мало общего с какой-либо из переменных, кроме первой (которая является расчетной), а недиагональные нули подтверждают ортогональность объясняющих переменных:
> cor(cbind(x,y))
Var1 Var2 Var3 Var4 Var5 y
Var1 1.00 0.000 0.000 0.000 0.00 0.486
Var2 0.00 1.000 0.000 0.000 0.00 0.088
Var3 0.00 0.000 1.000 0.000 0.00 0.044
Var4 0.00 0.000 0.000 1.000 0.00 -0.014
Var5 0.00 0.000 0.000 0.000 1.00 -0.167
y 0.49 0.088 0.044 -0.014 -0.17 1.000
Давайте запустим серию регрессий , используя только первую переменную, затем первые две и так далее. Для краткости и удобства сравнения в каждом из них я показываю только строку для первой переменной и общий F-критерий:
>temp <- sapply(1:p, function(i) print(summary(lm(y ~ x[, 1:i]))))
# Estimate Std. Error t value Pr(>|t|)
1 x[, 1:i] 0.898 0.294 3.05 0.0048 **
F-statistic: 9.29 on 1 and 30 DF, p-value: 0.00478
2 x[, 1:i]Var1 0.898 0.298 3.01 0.0053 **
F-statistic: 4.68 on 2 and 29 DF, p-value: 0.0173
3 x[, 1:i]Var1 0.8975 0.3029 2.96 0.0062 **
F-statistic: 3.05 on 3 and 28 DF, p-value: 0.0451
4 x[, 1:i]Var1 0.8975 0.3084 2.91 0.0072 **
F-statistic: 2.21 on 4 and 27 DF, p-value: 0.095
5 x[, 1:i]Var1 0.8975 0.3084 2.91 0.0073 **
F-statistic: 1.96 on 5 and 26 DF, p-value: 0.118
Посмотрите, как (а) значение первой переменной практически не изменяется, (а ') первая переменная остается значимой (р <0,05) даже при корректировке нескольких сравнений ( например , примените Бонферрони, умножив номинальное значение р на (число объяснительных переменных), (б) коэффициент первой переменной почти не изменяется, но (в) общая значимость растет в геометрической прогрессии, быстро увеличиваясь до незначительного уровня.
Я интерпретирую это как демонстрацию того, что включение объясняющих переменных, которые в значительной степени не зависят от зависимой переменной, может «маскировать» общее значение р регрессии. Когда новые переменные ортогональны существующим и зависимой переменной, они не изменят отдельные p-значения. (Небольшие изменения, наблюдаемые здесь, связаны с тем, что добавленная случайная ошибка y
, случайно, слегка коррелирует со всеми другими переменными.) Из этого следует извлечь урок: скупость полезна : использование как можно меньшего количества переменных может усилить значение результаты.
Я не говорю, что это обязательно происходит с набором данных в вопросе, о котором мало что было раскрыто. Но знание того, что этот маскирующий эффект может произойти, должно послужить основой для нашей интерпретации результатов, а также для наших стратегий выбора переменных и построения моделей.