重回帰モデルに相関する予測変数を持つことの効果は何ですか?


45

線形モデルクラスで、2つの予測変数が相関していて、両方がモデルに含まれている場合、1つは重要ではないことを学びました。たとえば、家のサイズと寝室の数が相関しているとします。これら2つの予測変数を使用して家のコストを予測する場合、どちらも同じ情報を大量に提供しているため、どちらか一方を削除できます。直感的には、これは理にかなっていますが、さらに技術的な質問があります。

  1. モデルに予測子を1つだけ含めるか、両方の予測子を含める場合、この効果は回帰係数のp値にどのように現れますか?
  2. モデルに両方の予測変数を含めるか、1つの予測変数のみを含めると、回帰係数の分散にどのような影響がありますか?
  3. モデルがそれほど重要でないと判断する予測変数を知るにはどうすればよいですか?
  4. 予測子を1つだけ含めるか、両方の予測子を含めると、予測コストの値/分散がどのように変化しますか?

6
stats.stackexchange.com/a/14528など、いくつかの質問への回答が他のスレッドに登場しました。これは、わずかに相関している予測子のセットのすべてが、それらが集合的に属しているにもかかわらず重要ではないように見える状況を説明していますモデル内。これは一連の優れた質問ですが、多くの考慮事項と手法につながります。それらについて本全体が書かれています。たとえば、フランクハレルの回帰モデリング戦略を参照してください。
whuber

1
家のサイズと寝室を使用すると、相関が1または-1と異なる場合、重要性が保証されないことがわかります。実際には、同じサイズの2ベッドルームと3ベッドルームの家が存在し、それらのコストは(大幅に)異なる場合があり、両方の予測変数が重要になります。ただし、平方メートルのサイズと平方フィートのサイズには相関関係があり、そのうちの1つはいつでも削除できます。
ペール

回答:


38

あなたが尋ねているトピックは多重共線性です。タグの下に分類されたCVのスレッドの一部を読むことができます。特に上記リンクされている @whuberの答えもあなたの時間の価値があります。


「2つの予測子が相関し、両方がモデルに含まれている場合、一方は重要ではない」という主張は正しくありません。変数の実際の効果がある場合、変数が重要になる確率は、効果の大きさ、誤差分散の大きさ、変数自体の分散、データ量など、いくつかのことの関数ですあなたが持っている、およびモデル内の他の変数の数。変数が相関しているかどうかも関係しますが、これらの事実を無効にすることはありません。次の簡単なデモを検討してくださいR

library(MASS)    # allows you to generate correlated data
set.seed(4314)   # makes this example exactly replicable

# generate sets of 2 correlated variables w/ means=0 & SDs=1
X0 = mvrnorm(n=20,   mu=c(0,0), Sigma=rbind(c(1.00, 0.70),    # r=.70
                                            c(0.70, 1.00)) )
X1 = mvrnorm(n=100,  mu=c(0,0), Sigma=rbind(c(1.00, 0.87),    # r=.87
                                            c(0.87, 1.00)) )
X2 = mvrnorm(n=1000, mu=c(0,0), Sigma=rbind(c(1.00, 0.95),    # r=.95
                                            c(0.95, 1.00)) )
y0 = 5 + 0.6*X0[,1] + 0.4*X0[,2] + rnorm(20)    # y is a function of both
y1 = 5 + 0.6*X1[,1] + 0.4*X1[,2] + rnorm(100)   #  but is more strongly
y2 = 5 + 0.6*X2[,1] + 0.4*X2[,2] + rnorm(1000)  #  related to the 1st

# results of fitted models (skipping a lot of output, including the intercepts)
summary(lm(y0~X0[,1]+X0[,2]))
#             Estimate Std. Error t value Pr(>|t|)    
# X0[, 1]       0.6614     0.3612   1.831   0.0847 .     # neither variable
# X0[, 2]       0.4215     0.3217   1.310   0.2075       #  is significant
summary(lm(y1~X1[,1]+X1[,2]))
#             Estimate Std. Error t value Pr(>|t|)    
# X1[, 1]      0.57987    0.21074   2.752  0.00708 **    # only 1 variable
# X1[, 2]      0.25081    0.19806   1.266  0.20841       #  is significant
summary(lm(y2~X2[,1]+X2[,2]))
#             Estimate Std. Error t value Pr(>|t|)    
# X2[, 1]      0.60783    0.09841   6.177 9.52e-10 ***   # both variables
# X2[, 2]      0.39632    0.09781   4.052 5.47e-05 ***   #  are significant

2つの変数間の相関は、最初の例で最も低く、3番目の例で最も高くなりますが、最初の例ではどちらの変数も重要ではなく、最後の例では両方とも有意です。効果の大きさは3つすべてのケースで同一であり、変数と誤差の分散は類似している必要があります(これらは確率的ですが、同じ分散の母集団から得られます)。ここで見られるパターンは、主に各ケースで操作することによるものです。 N


質問を解決するために理解すべき重要な概念は、分散インフレーション係数(VIF)です。VIFは、変数がモデル内の他のすべての変数と完全に無相関だった場合に、回帰係数の分散がどれだけ大きいかを示します。問題の変数が無相関の場合、VIFはVIF = 1であることに注意してください。VIFの簡単な理解は次のとおりです。モデル(たとえば)をモデル内の他のすべての変数(たとえば)から予測し、複数のを取得できます。用VIFあろう。のVIF がだったとしましょうX 2 R 2 X 1 1 /1 R 2X 1 10 X 1 10 × X 1X1X2R2X11/(1R2)バツ110(多くの場合、過度の多重共用の閾値と考えられ)、その後の回帰係数のサンプリング分布の分散なりならば、それはあったであろうよりも大きな完全にモデル内の他のすべての変数と相関していました。 バツ110×バツ1

両方の相関変数と1つだけを含めるとどうなるかを考えるのは似ていますが、上記のアプローチよりも少し複雑です。これは、変数を含めないということは、モデルが使用する自由度が低くなり、残差分散とそれから計算されるすべて(回帰係数の分散を含む)が変わるためです。さらに、含まれていない変数が実際に応答に関連付けられている場合、その変数による応答の分散は残差分散に含まれ、そうでない場合よりも大きくなります。したがって、いくつかの事柄が同時に変化し(変数は別の変数と相関しているかどうか、および残差分散)、他の変数をドロップ/インクルードする正確な効果は、それらのトレードオフに依存します。


VIFを理解した上で、質問に対する答えを以下に示します。

  1. モデル内の他の変数と相関している場合、回帰係数のサンプリング分布の分散は(VIFの係数によって)大きくなるため、p値はそうでない場合よりも高くなります(つまり、有意性が低くなります) 。
  2. すでに説明したように、回帰係数の分散は大きくなります。
  3. 一般的に、これはモデルを解かない限り知ることは困難です。通常、2つのうち1つだけが有意である場合、 2変量相関がより強いものになります。 Y
  4. 予測値とその分散がどのように変化するかは非常に複雑です。それは、変数がどれだけ強く相関しているか、およびデータ内の応答変数に関連付けられているように見える方法に依存します。この問題については、ここで私の答えを読むのに役立つかもしれません:重回帰の他の変数を「制御する」と「無視する」の間に違いはありますか?

5

これはもっとコメントですが、グラフとコードを含めたいと思いました。

「2つの予測子が相関していて、両方がモデルに含まれている場合、どちらも重要ではない」という記述は、「1つだけ」を意味する場合は偽だと思います。バイナリ統計的有意性は変数選択に使用できません。

これは、太もも周囲、皮膚のfoldの厚さ*、および中腕周囲の体脂肪率の回帰を使用した私の反例です:

. webuse bodyfat, clear
(Body Fat)

. reg bodyfat thigh triceps midarm

      Source |       SS       df       MS              Number of obs =      20
-------------+------------------------------           F(  3,    16) =   21.52
       Model |  396.984607     3  132.328202           Prob > F      =  0.0000
    Residual |  98.4049068    16  6.15030667           R-squared     =  0.8014
-------------+------------------------------           Adj R-squared =  0.7641
       Total |  495.389513    19  26.0731323           Root MSE      =    2.48

------------------------------------------------------------------------------
     bodyfat |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
       thigh |  -2.856842   2.582015    -1.11   0.285    -8.330468    2.616785
     triceps |   4.334085   3.015511     1.44   0.170    -2.058512    10.72668
      midarm |  -2.186056   1.595499    -1.37   0.190    -5.568362     1.19625
       _cons |   117.0844   99.78238     1.17   0.258    -94.44474    328.6136
------------------------------------------------------------------------------

. corr bodyfat thigh triceps midarm 
(obs=20)

             |  bodyfat    thigh  triceps   midarm
-------------+------------------------------------
     bodyfat |   1.0000
       thigh |   0.8781   1.0000
     triceps |   0.8433   0.9238   1.0000
      midarm |   0.1424   0.0847   0.4578   1.0000


. ellip thigh triceps, coefs plot( (scatteri `=_b[thigh]' `=_b[triceps]'), yline(0, lcolor(gray)) xline(0, lcolor(gray)) legend(off))

ここに画像の説明を入力してください

回帰表からわかるように、p値は少し異なりますが、すべては重要ではありません。

最後のStataコマンドは、2つの回帰係数(おなじみの信頼区間の2次元アナログ)の信頼領域を、ポイント推定(赤い点)とともにグラフ化します。皮膚のthicknessの厚さと太もも周囲係数の信頼楕円は、リグレッサーの共線性を反映して長く、狭く、傾斜しています。推定係数の間には高い負の共分散があります。楕円は、垂直軸と水平軸の一部をカバーします。つまり、がゼロであるという個別の仮説を拒否することはできませんが、楕円が原点をカバーしないため、両方のジョイントnullを拒否できます。言い換えれば、太もも上腕三頭筋のいずれかが体脂肪に関連していますが、どちらが犯人であるかを判断することはできません。β

それでは、どの予測変数がそれほど重要でないかをどのようにして知るのでしょうか?リグレッサーのバリエーションは、2つのタイプに分類できます。

  1. 各リグレッサーに固有のバリエーション
  2. リグレッサーによって共有されるバリエーション

各リグレッサの係数の推定では、最初のリグレッサのみが使用されます。予測および計算に使用されますが、一般的なバリエーションは割り当てられないため無視されます。固有の情報がほとんどない場合、信頼性は低くなり、係数の分散は高くなります。多重共線性が高いほど、固有の変動は小さくなり、分散は大きくなります。 R2


*皮膚のひだとは、上腕三頭筋を覆う皮膚のひだの幅で、キャリパーを使用して測定されます。


私はあなたの例が好きですが、厳密に言えば、元の質問の文が「if [...]、one only only not insignificant」と言っていたら反例になりますが、「only」という単語はありません。
アメーバは2014

@amoebaそれは素晴らしい点です。コメントを修正します。
Dimitriy V. Masterov 14

さらに説明するためには、いくつかの式を提供することができます:「各説明変数の係数の推定では、初回のみが使用されます、それを割り当てることができないので、一般的な変動が無視されます。」
マック

3

@whuberが指摘したように、これは複雑な質問です。ただし、投稿の最初の文は非常に単純化されています。多くの場合、2つ(またはそれ以上)の変数が相関関係にあり、両方とも従属変数に関連しています。重要であるかどうかは、エフェクトサイズとセルサイズの両方に依存します。

あなたの例では、与えられたサイズの家について、人々がより少ない部屋を好むと仮定します(少なくともニューヨークでは、これは不合理ではありません-それは古い建物、より堅い壁などを示し、近所のマーカーかもしれません)。それから、両方が反対方向で重要になる可能性があります!

または、2つの変数が家のサイズと近所であると仮定します。これらは、より良い近所の大きな家と相関しますが、それらは両方とも重要であり、両方とも家の価格に関連します。

また、「相関」マスクのみを使用すると、複雑さがマスクされます。変数は相関せずに強く関連付けることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.