即使在模型中保留效价,您仍然可以看到组 + 时间点 + 可预测性的影响及其相互作用。请记住,解释连续变量的交互项非常难以解释。
独立的条件是我们假设我们的数据是来自感兴趣人群的随机样本。作为与此条件的对比,假设我们对拼图游戏中的块数以及完成它所需的时间感兴趣。如果我们所有的数据都来自一个人(例如,多个拼图),那么他恰好非常擅长拼图。那么我们对这条线的估计会比它应该的低很多,因为这个人会很快完成所有的谜题,即小值是的一世. 然而,如果我们的数据是独立的,那么我们也有机会找到一个非常不擅长拼图游戏的人,甚至以某种方式解决问题。
所以你需要问自己的是,遗漏化合价是否违反了从感兴趣的总体中获取随机样本的可能性?(答案是不。)
如果您的目标是建立一个线性模型,我建议您只执行某种类型的子集模型选择。antoniom 建议逐步回归,这将工作......
library(MASS)
fit <- lm(y~(x1+x2+x3)^2 + x4, data = mydata)
step <- stepAIC(fit, direction="both")
step$anova # display results
其他选项可能是嵌套的 F 测试向后选择...
lm1 <- lm(y~(x1+x2+x3)^2 + x4, data = mydata)
drop1(lm1, test = "F")
如果您的目标是预测,您可以使用最佳子集进行 CV...
library(leaps)
regfit.best=regsubsets(y~(x1+x2+x3)^2 + x4,data=Hitters[train ,], nvmax=)
test.mat=model.matrix(Salary∼.,data=Hitters [test ,])
val.errors =rep(NA ,nvmax)
for(i in 1:nvmax){coefi=coef(regfit.best ,id=i)
pred=test.mat[,names(coefi)]%*%coefi
val.errors[i]=mean(( Hitters$Salary[test]-pred)^2)
}
which.min(val.errors)
这给出了最佳子集模型的系数数量,然后找到模型......
coef(regfit.best ,which.min(val.errors))
所有这些方法都会告诉你关于变量之间关系的有价值的信息,而不必在一开始就去除化合价。