¿Cuál es el efecto de tener predictores correlacionados en un modelo de regresión múltiple?

45

Aprendí en mi clase de modelos lineales que si dos predictores están correlacionados y ambos están incluidos en un modelo, uno será insignificante. Por ejemplo, suponga que el tamaño de una casa y el número de dormitorios están correlacionados. Al predecir el costo de una casa utilizando estos dos predictores, uno de ellos puede descartarse porque ambos proporcionan mucha información similar. Intuitivamente, esto tiene sentido, pero tengo algunas preguntas más técnicas:

  1. ¿Cómo se manifiesta este efecto en los valores p de los coeficientes de regresión cuando se incluye solo uno o ambos predictores en el modelo?
  2. ¿Cómo se ve afectada la varianza de los coeficientes de regresión al incluir ambos predictores en el modelo o simplemente tener uno?
  3. ¿Cómo sé qué predictor elegirá el modelo para que sea menos significativo?
  4. ¿De qué manera incluir solo uno o ambos predictores cambia el valor / la variación de mi costo pronosticado?
Vivek Subramanian
fuente
66
Las respuestas a algunas de sus preguntas han aparecido en otros hilos, como en stats.stackexchange.com/a/14528 , que describe una situación en la que cada uno de un conjunto de predictores levemente correlacionados parece ser insignificante a pesar de que pertenecen colectivamente en el modelo Es un buen conjunto de preguntas, pero lleva a una gran cantidad de consideraciones y técnicas; Se han escrito libros enteros sobre ellos. Ver, por ejemplo, Estrategias de modelado de regresión de Frank Harrell .
whuber
1
Usando el tamaño de la casa y las habitaciones, puede ver que la insignificancia no está garantizada si la correlación es diferente de 1 o -1. En realidad, existen casas de 2 y 3 dormitorios con el mismo tamaño, y sus costos pueden ser (significativamente) diferentes, lo que hace que ambos predictores sean significativos. Sin embargo, el tamaño en metros cuadrados y el tamaño en pies cuadrados tienen correlación = 1 y uno de ellos siempre se puede descartar.
Pere

Respuestas:

38

El tema que está preguntando es la multicolinealidad . Es posible que desee leer algunos de los hilos en CV categorizados bajo la etiqueta de . La respuesta de @ whuber vinculada anteriormente en particular también vale la pena.


La afirmación de que "si dos predictores están correlacionados y ambos están incluidos en un modelo, uno será insignificante", no es correcta. Si hay un efecto real de una variable, la probabilidad de que la variable sea significativa es una función de varias cosas, como la magnitud del efecto, la magnitud de la varianza del error, la varianza de la variable en sí, la cantidad de datos tienes, y el número de otras variables en el modelo. Si las variables están correlacionadas también es relevante, pero no anula estos hechos. Considere la siguiente demostración simple en 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 correlación entre las dos variables es más baja en el primer ejemplo y más alta en el tercero, pero ninguna de las variables es significativa en el primer ejemplo y ambas están en el último. La magnitud de los efectos es idéntica en los tres casos, y las variaciones de las variables y los errores deben ser similares (son estocásticos, pero provienen de poblaciones con la misma variación). El patrón que vemos aquí se debe principalmente a mi manipulación de las s para cada caso. N


El concepto clave que debe comprender para resolver sus preguntas es el factor de inflación de varianza (VIF). El VIF es cuánto es mayor la varianza de su coeficiente de regresión de lo que hubiera sido de otra manera si la variable no hubiera estado completamente correlacionada con todas las demás variables del modelo. Tenga en cuenta que el VIF es un factor multiplicativo, si la variable en cuestión no está correlacionada, el VIF = 1. Una comprensión simple del VIF es la siguiente: podría ajustar un modelo que predice una variable (por ejemplo, ) de todas las demás variables en su modelo (por ejemplo, ) y obtener un múltiple . El VIF para sería . Digamos que el VIF para fueX 2 R 2 X 1 1 / ( 1 - R 2 ) X 1 10 X 1 10 × X 1X1X2R2X11/(1R2)X110(a menudo considerado un umbral para una multicolinealidad excesiva), entonces la varianza de la distribución de muestreo del coeficiente de regresión para sería mayor de lo que hubiera sido si estuviera completamente correlacionado con todas las demás variables del modelo. X110×X1

Pensar en lo que sucedería si incluyera ambas variables correlacionadas versus solo una es similar, pero un poco más complicado que el enfoque discutido anteriormente. Esto se debe a que no incluir una variable significa que el modelo usa menos grados de libertad, lo que cambia la varianza residual y todo lo que se calcula a partir de eso (incluida la varianza de los coeficientes de regresión). Además, si la variable no incluida realmente está asociada con la respuesta, la varianza en la respuesta debida a esa variable se incluirá en la varianza residual, haciéndola más grande de lo que sería. Por lo tanto, varias cosas cambian simultáneamente (la variable está correlacionada o no con otra variable y la varianza residual), y el efecto preciso de descartar / incluir la otra variable dependerá de cómo se intercambien.


Armado con una comprensión de la VIF, aquí están las respuestas a sus preguntas:

  1. Debido a que la varianza de la distribución de muestreo del coeficiente de regresión sería mayor (por un factor del VIF) si se correlacionara con otras variables en el modelo, los valores de p serían más altos (es decir, menos significativos) de lo que serían de otra manera .
  2. Las variaciones de los coeficientes de regresión serían mayores, como ya se discutió.
  3. En general, esto es difícil de saber sin resolver el modelo. Típicamente, si sólo uno de dos es significativo, será el que tenía la correlación bivariante más fuerte con . Y
  4. Cómo cambiarían los valores pronosticados y su varianza es bastante complicado. Depende de cuán fuertemente correlacionadas estén las variables y de la manera en que parecen estar asociadas con su variable de respuesta en sus datos. Con respecto a este tema, puede ayudarlo a leer mi respuesta aquí: ¿Hay alguna diferencia entre 'controlar para' e 'ignorar' otras variables en regresión múltiple?
gung - Restablece a Monica
fuente
5

Esto es más un comentario, pero quería incluir un gráfico y algo de código.

Creo que la afirmación "si dos predictores están correlacionados y ambos están incluidos en un modelo, uno será insignificante" es falso si quiere decir "solo uno". La significación estadística binaria no se puede utilizar para la selección de variables.

Aquí está mi contraejemplo usando una regresión del porcentaje de grasa corporal en la circunferencia del muslo, el grosor del pliegue de la piel * y la circunferencia del brazo medio:

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

ingrese la descripción de la imagen aquí

Como puede ver en la tabla de regresión, todo es insignificante, aunque los valores p varían un poco.

El último comando Stata representa gráficamente la región de confianza para 2 de los coeficientes de regresión (un análogo bidimensional de los intervalos de confianza familiares) junto con las estimaciones puntuales (punto rojo). La elipse de confianza para el grosor del pliegue de la piel y los coeficientes de circunferencia del muslo es larga, estrecha e inclinada, lo que refleja la colinealidad en los regresores. Hay una alta covarianza negativa entre los coeficientes estimados. La elipse cubre partes de los ejes vertical y horizontal, lo que significa que no podemos rechazar las hipótesis individuales de que las s son cero, aunque podemos rechazar la unión nula que ambas son ya que la elipse no cubre el origen. En otras palabras, el muslo y el tríceps son relevantes para la grasa corporal, pero no se puede determinar cuál es el culpable.β

Entonces, ¿cómo sabemos qué predictores serían menos significativos? La variación en un regresor se puede clasificar en dos tipos:

  1. Variación única para cada regresor
  2. Variación que comparten los regresores

Al estimar los coeficientes de cada regresor, solo se utilizará el primero. La variación común se ignora ya que no se puede asignar, aunque se usa en la predicción y el cálculo de . Cuando hay poca información única, la confianza será baja y las variaciones de coeficientes serán altas. Cuanto mayor sea la multicolinealidad, menor será la variación única y mayores serán las variaciones. R2


* El pliegue de la piel es el ancho de un pliegue de piel que se toma sobre el músculo tríceps y se mide con un calibrador.

Dimitriy V. Masterov
fuente
Me gusta su ejemplo, pero estrictamente hablando sería un contraejemplo si la declaración en la pregunta original decía "si [...], solo uno será insignificante", pero no tiene la palabra "solo".
ameba dice Reinstate Monica
@amoeba Ese es un excelente punto. Enmendaré mi comentario.
Dimitriy V. Masterov
¿Puede proporcionar alguna fórmula para ilustrar aún más: "Al estimar los coeficientes de cada regresor, solo se utilizará el primero. La variación común se ignora ya que no se puede asignar"
mac
3

Como señaló @whuber, esta es una pregunta compleja. Sin embargo, la primera oración de tu publicación es una gran simplificación. A menudo ocurre que dos (o más) variables estarán correlacionadas y ambas relacionadas con la variable dependiente. Si son significativos o no depende tanto del tamaño del efecto como del tamaño de la celda.

En su ejemplo, suponga que, para un tamaño de casa dado, la gente prefiere menos habitaciones (al menos en Nueva York, esto no es irrazonable; indicaría edificios más antiguos, paredes más sólidas, etc., y podría ser un marcador para el vecindario). ¡Entonces ambos podrían ser significativos, en direcciones opuestas!

O bien, supongamos que las dos variables son el tamaño de la casa y el vecindario, seguramente se correlacionarían con casas más grandes en vecindarios mejores, pero ambas podrían ser significativas y seguramente estarían relacionadas con el precio de la casa.

Además, usar solo máscaras "correlacionadas" complejidades. Las variables pueden estar fuertemente relacionadas sin correlacionarse.

Peter Flom - Restablece a Monica
fuente