我有一个包含 9 个连续自变量的数据集,我试图在这些变量之间进行选择,以使模型适合单个百分比(因)变量:Score。
不幸的是,我知道几个变量之间会有严重的共线性。
我尝试在 R 中使用 stepAIC 函数进行变量选择,但奇怪的是,该方法似乎对方程中列出变量的顺序很敏感......
这是我的 R 代码(b/c 是百分比数据,我使用 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 个变量中潜在的共线性的一些方法。
我知道这是一个棘手的问题,但我真的很感谢你花时间来看看它......
最好的,朱莉