相関行列を使用して回帰の予測変数を選択していますか?


17

数日前、私の心理学者である私の研究者は、線形回帰モデルに変数を選択する彼の方法について私に話しました。私はそれは良くないと思いますが、他の誰かに確かめてもらう必要があります。メソッドは次のとおりです。

すべての変数(従属変数Yを含む)間の相関行列を見て、Yと最も相関する予測子Xを選択します。

彼は基準について言及しなかった。 Q:彼は正しかったですか?

[この予測方法は間違っていると思う。なぜなら、どの予測変数を選択すべきか、あるいは変数バイアス(OVB)を省略すべきだという理論だからだ。]


タイトルを「相関行列を使用して回帰の予測変数を選択していますか?」に変更することをお勧めします。またはより有益なものに似た何か。あなたの質問に対する単純な反例は、従属変数と1の相関を持つ変数です-あなたはおそらくあなたのモデルでこれを使用したくないでしょう。
ティム

3
メソッドにはいくつかのロジックがありますが、1つのリグレッサを選択するように制限されている場合にのみ機能します。いくつか選択できる場合、このメソッドは機能しません。これは、Yとわずかに相関している少数のXの線形結合が、Yと強く相関している少数のXの線形結合よりもYとの相関が大きいためです。効果...
リチャードハーディ

1
相関 単に回帰勾配を標準化されている β 1=CoをVXY
ρX,Y=Cov(X,Y)σXσY
1つの独立変数との単回帰のために。したがって、このアプローチでは、勾配パラメーターの最大値を持つ独立変数を見つけることができますが、複数の独立変数を使用するとより複雑になります。
β^1=Cov(X,Y)σX
ティム

2
これらの応答は、この「方法」についての私の考えを確認し、まだ多くの心理学者は、:(変数選択のこの種を使用する
Lil'Lobster

これは'Leekasso'のように聞こえます。
-steveo'america

回答:


17

何らかの理由でモデルに変数を1つだけ含める場合、相関が最も高い予測変数を選択するといくつかの利点があります。予測子が1つだけの可能な回帰モデルのうち、このモデルは最も標準化された回帰係数が高く、(R 2単純な線形回帰のrの乗であるため)決定係数が最も高いモデルです。yR2r

ただし、複数のデータを使用できる場合、回帰モデルを1つの予測変数に制限する理由は明らかではありません。コメントで述べたように、モデルに複数の変数が含まれている可能性がある場合、相関関係を調べるだけでは機能しません。たとえば、この散布行列から、モデルに含める必要があるの予測子はx 1(相関0.824)とx 2(相関0.782)であるが、x 3(相関0.134)は有用な予測子ではないと考えるかもしれません。yx1x2x3

相関変数の散布図行列

ただし、この例では、は2つの独立変数x 1x 3に依存していますが、x 2に直接依存しているわけではありません。ただし、x 2x 1と高度に相関しており、これはyとの相関にもつながります。孤立してyx 2の相関を見ると、これはx 2yの良い予測子であることを示唆しているかもしれません。しかし、効果の後、X 1がされてpartialledを含むことにより、Xを1yx1x3x2x2x1yyx2x2yx1x1 モデルでは、そのような関係は残りません。

require(MASS) #for mvrnorm 
set.seed(42) #so reproduces same result

Sigma <- matrix(c(1,0.95,0,0.95,1,0,0,0,1),3,3)
N <- 1e4
x <- mvrnorm(n=N, c(0,0,0), Sigma, empirical=TRUE)
data.df <- data.frame(x1=x[,1], x2=x[,2], x3=x[,3])
# y depends on x1 strongly and x3 weakly, but not directly on x2
data.df$y <- with(data.df, 5 + 3*x1 + 0.5*x3) + rnorm(N, sd=2)

round(cor(data.df), 3)
#       x1    x2    x3     y
# x1 1.000 0.950 0.000 0.824
# x2 0.950 1.000 0.000 0.782
# x3 0.000 0.000 1.000 0.134
# y  0.824 0.782 0.134 1.000
# Note: x1 and x2 are highly correlated
# Since y is highly correlated with x1, it is with x2 too
# y depended only weakly on x3, their correlation is much lower

pairs(~y+x1+x2+x3,data=data.df, main="Scatterplot matrix")
# produces scatter plot above

model.lm <- lm(data=data.df, y ~ x1 + x2 + x3)
summary(model.lm)

# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)    
# (Intercept)  4.99599    0.02018 247.631   <2e-16 ***
# x1           3.03724    0.06462  47.005   <2e-16 ***
# x2          -0.02436    0.06462  -0.377    0.706    
# x3           0.49185    0.02018  24.378   <2e-16 ***

x1x2x2x1x3x3

そして、さらに悪い例があります:

Sigma <- matrix(c(1,0,0,0.5,0,1,0,0.5,0,0,1,0.5,0.5,0.5,0.5,1),4,4)
N <- 1e4
x <- mvrnorm(n=N, c(0,0,0,0), Sigma, empirical=TRUE)
data.df <- data.frame(x1=x[,1], x2=x[,2], x3=x[,3], x4=x[,4])
# y depends on x1, x2 and x3 but not directly on x4
data.df$y <- with(data.df, 5 + x1 + x2 + x3) + rnorm(N, sd=2)

round(cor(data.df), 3)
#       x1    x2    x3    x4     y
# x1 1.000 0.000 0.000 0.500 0.387
# x2 0.000 1.000 0.000 0.500 0.391
# x3 0.000 0.000 1.000 0.500 0.378
# x4 0.500 0.500 0.500 1.000 0.583
# y  0.387 0.391 0.378 0.583 1.000

pairs(~y+x1+x2+x3+x4,data=data.df, main="Scatterplot matrix")

model.lm <- lm(data=data.df, y ~ x1 + x2 + x3 +x4)
summary(model.lm)
# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)    
# (Intercept)  4.98117    0.01979 251.682   <2e-16 ***
# x1           0.99874    0.02799  35.681   <2e-16 ***
# x2           1.00812    0.02799  36.016   <2e-16 ***
# x3           0.97302    0.02799  34.762   <2e-16 ***
# x4           0.06002    0.03958   1.516    0.129

yx1x2x3x4x1x2x3x4yy 実際にはモデルにまったく属さない変数を見つけることができます。


しかし... ...この「仲間の心理学者」が、Yと非常に相関する10個の変数Xのうち4つ(相関係数<0.7)を選択し、適度に相関するかどうかに関係なく他の6つのXを選択すると、すべての考えが状況に適用されますか? Yとそんなに?
リロブスター

1
y

0

ステップワイズ回帰分析を実行し、F値に基づいてソフトウェアに変数を選択させることができます。また、毎回回帰を実​​行するときに調整済みR ^ 2値を調べて、モデルに寄与する新しい変数を追加するかどうかを確認することもできます。相関行列を使用して、強い相関を持つ変数を選択すると、モデルに多重共線性の問題が生じる場合があります。お役に立てれば!


6
ステップワイズ選択では、OPで説明されている方法と同じ問題が発生します。
ティム

2
これはモデル選択の非常に基本的な方法です-目標が厳密に分散の説明である場合、R2を段階的に使用するのが適切かもしれませんが、推論、予測、仮説検定などに興味がある場合は、R2を超えて考える必要があります(そしておそらくR2も無視します)。
robin.datadrivers
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.