J'ai un ensemble de données avec 9 variables indépendantes continues. Je suis en train de choisir parmi ces variables pour ajuster un modèle à un pourcentage unique variable ( en fonction), Score
. Malheureusement, je sais qu'il y aura une colinéarité sérieuse entre plusieurs des variables.
J'ai essayé d'utiliser la stepAIC()
fonction dans R pour la sélection des variables, mais cette méthode, curieusement, semble sensible à l'ordre dans lequel les variables sont répertoriées dans l'équation ...
Voici mon code R (parce que ce sont des données en pourcentage, j'utilise une transformation logit pour 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)
Pour une raison quelconque, j'ai trouvé que les variables répertoriées au début de l'équation finissent par être sélectionnées par la stepAIC()
fonction, et le résultat peut être manipulé en listant, par exemple, d' Var9
abord (en suivant le tilde).
Quelle est la manière la plus efficace (et la moins controversée) d'adapter un modèle ici? Je ne suis pas vraiment déterminé à utiliser la régression linéaire: la seule chose que je veux est de pouvoir comprendre laquelle des 9 variables est vraiment à l'origine de la variation de la Score
variable. De préférence, ce serait une méthode qui prend en compte le fort potentiel de colinéarité de ces 9 variables.
Score
variable", qui est la phrase sur laquelle j'ai peut-être trop insisté. En présence d'une forte colinéarité, le lasso ne va pas aider à cela, du moins dans les interprétations plus strictes de la remarque du PO.