Quel est l'effet d'avoir des prédicteurs corrélés dans un modèle de régression multiple?


45

J'ai appris dans ma classe de modèles linéaires que si deux prédicteurs sont corrélés et que les deux sont inclus dans un modèle, un sera insignifiant. Par exemple, supposons que la taille d’une maison et le nombre de chambres à coucher soient corrélés. Lors de la prévision du coût d'une maison à l'aide de ces deux prédicteurs, l'un d'entre eux peut être supprimé, car ils fournissent beaucoup d'informations identiques. Intuitivement, cela a du sens, mais j'ai quelques questions plus techniques:

  1. Comment cet effet se manifeste-t-il dans les valeurs p des coefficients de régression lorsque l'on n'inclut qu'un seul prédicteur ou que les deux prédicteurs sont inclus dans le modèle?
  2. Comment la variance des coefficients de régression est-elle affectée par l'inclusion des deux prédicteurs dans le modèle ou par le fait d'en avoir un?
  3. Comment savoir quel prédicteur le modèle choisira d'être moins significatif?
  4. Comment l'inclusion d'un seul prédicteur ou des deux prédicteurs modifie-t-elle la valeur / la variance de mon coût prévisionnel?

6
Des réponses à certaines de vos questions sont apparues dans d'autres discussions, comme à l' adresse stats.stackexchange.com/a/14528 , qui décrit une situation dans laquelle chacun d'un ensemble de prédicteurs faiblement corrélés semble être insignifiant même s'ils appartiennent collectivement. dans le modèle. C'est un bon ensemble de questions, mais conduit à un grand nombre de considérations et de techniques; des livres entiers ont été écrits à leur sujet. Voir, par exemple, les stratégies de modélisation par régression de Frank Harrell .
whuber

1
En utilisant la taille de la maison et les chambres, vous pouvez constater que l'insignifiance n'est pas garantie si la corrélation est différente de 1 ou -1. Il existe en réalité des maisons de deux chambres et de trois chambres de même taille et leurs coûts peuvent être (considérablement) différents, ce qui rend les deux prédicteurs significatifs. Toutefois, la taille en mètres carrés et la taille en pieds carrés ont une corrélation = 1 et l’un d’eux peut toujours être supprimé.
Pere

Réponses:


38

Le sujet dont vous parlez est la multicolinéarité . Vous voudrez peut-être lire certaines des discussions sur le CV classées sous la balise . La réponse de @ whuber liée ci-dessus en particulier vaut également votre temps.


L'affirmation selon laquelle "si deux prédicteurs sont corrélés et si les deux sont inclus dans un modèle, un sera insignifiant", n'est pas correcte. S'il existe un effet réel d'une variable, la probabilité que cette variable soit significative dépend de plusieurs facteurs, tels que l'ampleur de l'effet, l'ampleur de la variance d'erreur, la variance de la variable elle-même, la quantité de données vous avez, et le nombre d'autres variables dans le modèle. Que les variables soient corrélées est également pertinent, mais cela ne remplace pas ces faits. Considérez la démonstration simple suivante dans 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

La corrélation entre les deux variables est la plus faible dans le premier exemple et la plus élevée dans la troisième, mais aucune de ces variables n'est significative dans le premier exemple et les deux le sont dans le dernier exemple. L'ampleur des effets est identique dans les trois cas et les variances des variables et des erreurs doivent être similaires (elles sont stochastiques mais proviennent de populations présentant la même variance). La tendance que nous voyons ici est due principalement à ma manipulation des pour chaque cas. N


Le concept clé à comprendre pour résoudre vos questions est le facteur d'inflation de la variance (FIV). La VIF est la mesure dans laquelle la variance de votre coefficient de régression est supérieure à ce qu'elle aurait été si la variable avait été complètement décorrélée de toutes les autres variables du modèle. Notez que le VIF est un facteur multiplicatif, si la variable en question est décorrélée du VIF = 1. Une compréhension simple du VIF est la suivante: vous pouvez adapter un modèle prédisant une variable (par exemple, ) à partir de toutes les autres variables de votre modèle (par exemple, ) et obtenir un multiple . Le VIF pour serait . Disons que le VIF pour était deX 2 R 2 X 1 1 / ( 1 - R 2 ) X 1 10 X 1 10 × X 1X1X2R2X11/(1R2)X110(souvent considéré comme un seuil de multicolinéarité excessive), la variance de la distribution d'échantillonnage du coefficient de régression pour serait supérieure à ce qu'elle aurait été si avait été complètement décorrélé avec toutes les autres variables du modèle. X110×X1

Réfléchissez à ce qui se produirait si vous incluiez les deux variables corrélées par rapport à une seule, mais similaire, mais légèrement plus compliquée que celle présentée ci-dessus. En effet, le fait de ne pas inclure de variable signifie que le modèle utilise moins de degrés de liberté, ce qui modifie la variance résiduelle et tout ce qui en découle (y compris la variance des coefficients de régression). De plus, si la variable non incluse est réellement associée à la réponse, la variance de la réponse due à cette variable sera incluse dans la variance résiduelle, ce qui la rendra plus grande qu'elle ne le serait autrement. Ainsi, plusieurs choses changent simultanément (la variable est corrélée ou non avec une autre variable et la variance résiduelle), et l’effet précis de supprimer / inclure l’autre variable dépendra de la façon dont elles sont échangées.


Armé d'une compréhension du VIF, voici les réponses à vos questions:

  1. Étant donné que la variance de la distribution d'échantillonnage du coefficient de régression serait plus grande (d'un facteur du VIF) si elle était corrélée à d'autres variables du modèle, les valeurs p seraient plus élevées (c'est-à-dire moins significatives) qu'elles ne le seraient autrement. .
  2. Les variances des coefficients de régression seraient plus grandes, comme cela a déjà été discuté.
  3. En général, c'est difficile à savoir sans résoudre le modèle. En règle générale, si un seul des deux est importante, ce sera celui qui avait la corrélation bivariée plus forte avec . Y
  4. La manière dont les valeurs prédites et leur variance changeraient est assez compliquée. Cela dépend de la corrélation forte entre les variables et de la manière dont elles semblent être associées à votre variable de réponse dans vos données. En ce qui concerne cette question, cela peut vous aider de lire ma réponse ici: Existe - t-il une différence entre "contrôler pour" et "ignorer" d'autres variables dans la régression multiple?

5

C’est plutôt un commentaire, mais je voulais inclure un graphique et du code.

Je pense que l'affirmation "si deux prédicteurs sont corrélés et si les deux sont inclus dans un modèle, un sera insignifiant" est fausse si vous voulez dire "un seul". La signification statistique binaire ne peut pas être utilisée pour la sélection de variables.

Voici mon contre-exemple utilisant une régression du pourcentage de graisse corporelle sur le tour de cuisse, l'épaisseur du pli cutané * et le tour de bras:

. 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))

entrez la description de l'image ici

Comme vous pouvez le constater dans le tableau de régression, tout n’est pas significatif, bien que les valeurs p varient un peu.

La dernière commande Stata représente graphiquement la région de confiance pour 2 des coefficients de régression (un analogue bidimensionnel des intervalles de confiance connus) avec les estimations ponctuelles (point rouge). L'ellipse de confiance pour l'épaisseur du pli cutané et les coefficients du périmètre de la cuisse est longue, étroite et inclinée, reflétant la colinéarité des régresseurs. Il existe une covariance négative élevée entre les coefficients estimés. L'ellipse recouvre des parties des axes vertical et horizontal, ce qui signifie que nous ne pouvons pas rejeter les hypothèses individuelles selon lesquelles les s sont égales à zéro, bien que nous puissions rejeter la jointure null qu'ils sont tous deux puisque l'ellipse ne couvre pas l'origine. En d'autres termes, la cuisse et les triceps sont pertinents pour la graisse corporelle, mais vous ne pouvez pas déterminer lequel est le coupable.β

Alors, comment savoir quels prédicteurs seraient moins significatifs? La variation dans un régresseur peut être classée en deux types:

  1. Variation unique à chaque régresseur
  2. Variation partagée par les régresseurs

Pour estimer les coefficients de chaque régresseur, seul le premier sera utilisé. La variation commune est ignorée puisqu'elle ne peut pas être attribuée, bien qu'elle soit utilisée dans la prédiction et le calcul de . Lorsqu'il y a peu d'informations uniques, la confiance sera faible et les variances de coefficient seront élevées. Plus la multicolinéarité est élevée, plus la variation unique est petite et plus les variances sont grandes. R2


* Le pli cutané correspond à la largeur d'un pli cutané recouvrant le triceps et mesuré à l'aide d'un pied à coulisse.


J'aime votre exemple, mais à proprement parler, ce serait un contre-exemple si l'énoncé de la question initiale disait "si [...] un seul sera insignifiant", mais il ne contient pas le mot "seulement".
Amibe dit de réintégrer Monica le

@ amoeba C'est un excellent point. Je vais modifier mon commentaire.
Dimitriy V. Masterov

Pouvez-vous fournir une formule pour illustrer davantage: "Dans l'estimation des coefficients de chaque régresseur, seul le premier sera utilisé. La variation commune est ignorée car elle ne peut pas être attribuée"
mac

3

Comme @whuber l'a noté, il s'agit d'une question complexe. Cependant, la première phrase de votre message est une vaste simplification. Il arrive souvent que deux variables (ou plus) soient corrélées et toutes les deux liées à la variable dépendante. Leur importance ou non dépend à la fois de la taille de l'effet et de la taille de la cellule.

Dans votre exemple, supposons que, pour une taille de maison donnée, les gens préfèrent moins de pièces (du moins à New York, cela n’est pas déraisonnable - cela indiquerait des bâtiments plus anciens, des murs plus solides, etc., et pourrait constituer un marqueur de voisinage). Alors les deux pourraient être importants, dans des directions opposées!

Ou supposons que les deux variables soient la taille de la maison et le quartier - elles seraient sûrement corrélées, les maisons plus grandes dans les meilleurs quartiers - mais elles pourraient tout de même être importantes et seraient sûrement liées au prix de la maison.

De plus, l’utilisation de masques "en corrélation" seulement rend la complexité plus complexe. Les variables peuvent être fortement liées sans être corrélées.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.