У меня есть набор данных с 9 непрерывными независимыми переменными. Я пытаюсь выбрать среди этих переменных, чтобы подогнать модель к одной процентной (зависимой) переменной Score
. К сожалению, я знаю, что между несколькими переменными будет серьезная коллинеарность.
Я пытался использовать stepAIC()
функцию в R для выбора переменных, но этот метод, как ни странно, кажется чувствительным к порядку, в котором переменные перечислены в уравнении ...
Вот мой код R (поскольку это процентные данные, я использую логит-преобразование для Score):
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
переменной», - на этом предложении я мог бы сосредоточиться. При наличии сильной коллинеарности лассо не поможет с этим, по крайней мере, в более строгих интерпретациях замечания ОП.