我有一个包含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个变量的共线性的强大潜力的某种方法。
Score
变化”,这是我可能过于关注的句子。在强共线性的情况下,套索将无济于事,至少在对OP言论的更严格解释中。