9つの連続した独立変数を持つデータセットがあります。私はこれらの変数の中から選択して、モデルを単一のパーセンテージ(従属)変数に適合させようとしていますScore
。残念ながら、いくつかの変数の間には深刻な共線性があることがわかっています。
私はstepAIC()
変数選択のためにR の関数を使用しようとしましたが、奇妙なことに、その方法は変数が方程式にリストされている順序に敏感なようです...
Rコードは次のとおりです(パーセンテージデータであるため、スコアにはロジット変換を使用します)。
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の発言のより厳密な解釈では、投げ縄はそれを助けません。