我有一个包含 9 个连续自变量的数据集。我正在尝试在这些变量中进行选择,以使模型适合单个百分比(因)变量,Score
. 不幸的是,我知道几个变量之间会有严重的共线性。
我尝试使用stepAIC()
R 中的函数进行变量选择,但奇怪的是,该方法似乎对方程中列出变量的顺序很敏感......
这是我的 R 代码(因为它是百分比数据,所以我对分数使用了 logit 转换):
library(MASS)
library(car)
data.tst = read.table("data.txt",header=T)
data.lm = lm(logit(Score) ~ Var1 + Var2 + Var3 + Var4 + Var5 + Var6 + Var7 +
Var8 + Var9, data = data.tst)
step = stepAIC(data.lm, direction="both")
summary(step)
出于某种原因,我发现等式开头列出的变量最终被stepAIC()
函数选择,并且可以通过列出来操纵结果,例如,Var9
首先(在波浪号之后)。
在这里拟合模型的更有效(且争议更少)的方法是什么?我实际上并没有死心塌地使用线性回归:我唯一想要的是能够理解 9 个变量中的哪个变量真正推动了Score
变量的变化。最好是考虑到这 9 个变量中潜在的共线性的一些方法。