您要询问的主题是multicolinearality。您可能要阅读CV上归类于multicollinearity标签下的一些线程。上面链接的 @whuber 答案特别值得您花时间。
断言“如果两个预测变量相关,并且两个预测变量都包含在模型中,那么一个变量将不重要”,这是不正确的。如果存在变量的实际影响,则变量将具有显着性的概率是几件事情的函数,例如影响的大小,误差方差的大小,变量本身的方差,数据量以及模型中其他变量的数量。变量是否相关也很重要,但是不会覆盖这些事实。考虑以下简单演示R
:
library(MASS) # allows you to generate correlated data
set.seed(4314) # makes this example exactly replicable
# generate sets of 2 correlated variables w/ means=0 & SDs=1
X0 = mvrnorm(n=20, mu=c(0,0), Sigma=rbind(c(1.00, 0.70), # r=.70
c(0.70, 1.00)) )
X1 = mvrnorm(n=100, mu=c(0,0), Sigma=rbind(c(1.00, 0.87), # r=.87
c(0.87, 1.00)) )
X2 = mvrnorm(n=1000, mu=c(0,0), Sigma=rbind(c(1.00, 0.95), # r=.95
c(0.95, 1.00)) )
y0 = 5 + 0.6*X0[,1] + 0.4*X0[,2] + rnorm(20) # y is a function of both
y1 = 5 + 0.6*X1[,1] + 0.4*X1[,2] + rnorm(100) # but is more strongly
y2 = 5 + 0.6*X2[,1] + 0.4*X2[,2] + rnorm(1000) # related to the 1st
# results of fitted models (skipping a lot of output, including the intercepts)
summary(lm(y0~X0[,1]+X0[,2]))
# Estimate Std. Error t value Pr(>|t|)
# X0[, 1] 0.6614 0.3612 1.831 0.0847 . # neither variable
# X0[, 2] 0.4215 0.3217 1.310 0.2075 # is significant
summary(lm(y1~X1[,1]+X1[,2]))
# Estimate Std. Error t value Pr(>|t|)
# X1[, 1] 0.57987 0.21074 2.752 0.00708 ** # only 1 variable
# X1[, 2] 0.25081 0.19806 1.266 0.20841 # is significant
summary(lm(y2~X2[,1]+X2[,2]))
# Estimate Std. Error t value Pr(>|t|)
# X2[, 1] 0.60783 0.09841 6.177 9.52e-10 *** # both variables
# X2[, 2] 0.39632 0.09781 4.052 5.47e-05 *** # are significant
N
X1X2R2X11/(1−R2)X110X110×X1
考虑一下如果同时包含两个相关变量而只包含一个相关变量,将会发生什么,但是比上述方法稍微复杂一些。这是因为不包括变量意味着模型使用的自由度较小,从而改变了残差方差和由此计算出的所有值(包括回归系数的方差)。另外,如果未包含的变量确实与响应相关联,则由于该变量导致的响应方差将被包含在残差中,从而使其大于其他情况。因此,几件事同时改变(变量与另一个变量相关或不相关,以及剩余方差),删除/包括另一个变量的精确效果将取决于这些变量如何权衡。
有了对VIF的理解,以下是您的问题的答案:
- 因为如果回归系数的采样分布与模型中的其他变量相关,则回归系数的采样分布的方差将更大(是VIF的一个因素),因此p值将比其他情况更高(即不那么显着)。 。
- 如已经讨论的,回归系数的方差将更大。
- Y
- 预测值及其方差将如何变化非常复杂。这取决于变量之间的关联程度以及它们与数据中的响应变量关联的方式。关于这个问题,它可能会帮助您在这里阅读我的答案:“控制”和“忽略”多元回归中的其他变量之间是否有区别?