66 votos

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

En mi clase de modelos lineales aprendí que si dos predictores están correlacionados y ambos se incluyen en un modelo, uno será insignificante. Por ejemplo, supongamos que el tamaño de una casa y el número de habitaciones están correlacionados. Al predecir el coste de una casa utilizando estos dos predictores, uno de ellos puede descartarse porque ambos proporcionan mucha de la misma información. 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 al incluir sólo uno o incluir 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 al tener sólo uno?
  3. ¿Cómo puedo saber qué predictor elegirá el modelo para ser menos significativo?
  4. ¿Cómo cambia el valor/varianza de mi coste previsto si incluyo sólo uno o ambos predictores?

50voto

Sean Hanley Puntos 2428

El tema sobre el que pregunta es multicolinealidad . Tal vez quieras leer algunos de los hilos sobre CV categorizados bajo el multicolinealidad etiqueta. @whuber's respuesta enlazada arriba en particular, también merece su tiempo.


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


El concepto clave que hay que entender para resolver sus dudas es el factor de inflación de la varianza (VIF). El VIF es la medida en que la varianza de su coeficiente de regresión es mayor de lo que habría sido si la variable hubiera estado completamente descorrelacionada 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 sencilla del VIF es la siguiente: se puede ajustar un modelo que predice una variable (digamos, $X_1$ ) de todas las demás variables de su modelo (digamos, $X_2$ ), y obtener un múltiplo $R^2$ . El VIF para $X_1$ sería $1/(1-R^2)$ . Digamos que el VIF para $X_1$ fueron $10$ (a menudo considerado un umbral de multicolinealidad excesiva), entonces la varianza de la distribución muestral del coeficiente de regresión para $X_1$ sería $10\times$ más grande de lo que hubiera sido si $X_1$ no se ha correlacionado en absoluto con las demás variables del modelo.

Pensar en lo que ocurriría si se incluyeran ambas variables correlacionadas frente a una sola es similar, pero algo más complicado que el enfoque comentado anteriormente. Esto se debe a que no incluir una variable significa que el modelo utiliza menos grados de libertad, lo que cambia la varianza residual y todo lo que se calcula a partir de ella (incluida la varianza de los coeficientes de regresión). Además, si la variable no incluida está realmente asociada a la respuesta, la varianza de la respuesta debida a esa variable se incluirá en la varianza residual, haciéndola mayor de lo que sería de otro modo. 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 la eliminación / inclusión de la otra variable dependerá de cómo se compensen. La mejor manera de pensar en esta cuestión se basa en el contrafactual de cómo el modelo diferiría si las variables estuvieran descorrelacionadas en lugar de correlacionadas, en lugar de incluir o excluir una de las variables.


Una vez comprendido el VIF, he aquí las respuestas a sus preguntas:

  1. Dado que la varianza de la distribución muestral del coeficiente de regresión sería mayor (por un factor del VIF) si estuviera correlacionado con otras variables del modelo, los valores p serían mayores (es decir, menos significativos) de lo que serían en caso contrario.
  2. Las varianzas de los coeficientes de regresión serían mayores, como ya se ha comentado.
  3. En general, esto es difícil de saber sin resolver el modelo. Normalmente, si sólo uno de los dos es significativo, será el que tenga la mayor correlación bivariada con $Y$ .
  4. El modo en que cambiarían los valores predichos y su varianza es bastante complicado. Depende de la intensidad de la correlación de las variables y de la forma en que aparezcan asociadas a su variable de respuesta en sus datos. Con respecto a esta cuestión, puede ayudarle a leer mi respuesta aquí: ¿Existe una diferencia entre "controlar" e "ignorar" otras variables en la regresión múltiple?

5voto

Neal Puntos 316

Esto es más bien 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 se incluyen en un modelo, uno será insignificante" es falsa si se quiere decir "sólo uno". La significación estadística binaria no puede utilizarse para la selección de variables.

Aquí está mi contraejemplo utilizando 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))

enter image description here

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

El último comando de Stata grafica la región de confianza para 2 de los coeficientes de regresión (un análogo bidimensional de los conocidos intervalos de confianza) junto con las estimaciones puntuales (punto rojo). La elipse de confianza para los coeficientes del grosor de los pliegues de la piel y la 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 abarca partes de los ejes vertical y horizontal, lo que significa que no podemos rechazar las hipótesis individuales de que el $\beta$ s son cero, aunque podemos rechazar el nulo conjunto de que ambos lo son ya que la elipse no cubre el origen. En otras palabras, cualquiera de los dos muslos y 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 de un regresor puede clasificarse en dos tipos:

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

Al estimar los coeficientes de cada regresor, sólo se utilizará el primero. La variación común se ignora, ya que no puede asignarse, aunque se utiliza en la predicción y el cálculo de $R^2$ . Cuando hay poca información única, la confianza será baja y las varianzas de los coeficientes serán altas. Cuanto mayor sea la multicolinealidad, menor será la variación única y mayores serán las varianzas.


*El pliegue cutáneo es la anchura de un pliegue de piel tomado sobre el músculo tríceps y medido con un calibre.

4voto

Zizzencs Puntos 1358

Como ha señalado @whuber, se trata de una cuestión compleja. Sin embargo, la primera frase de tu post es una gran simplificación. Es frecuente que dos (o más) variables estén correlacionadas y que ambas estén relacionadas con la variable dependiente. Que sean significativas o no depende tanto del tamaño del efecto como del tamaño de la celda.

En su ejemplo, suponga que, para un determinado tamaño de casa, la gente prefiere menos habitaciones (al menos en Nueva York, esto no es descabellado: indicaría edificios más antiguos, paredes más sólidas, etc., y podría ser un indicador del barrio). En ese caso, ambos podrían ser significativos, en direcciones opuestas.

O bien, supongamos que las dos variables fueran el tamaño de la casa y el vecindario -seguramente estarían correlacionadas, casas más grandes en mejores vecindarios-, pero aún así ambas podrían ser significativas y seguramente ambas estarían relacionadas con el precio de la vivienda.

Además, utilizar sólo "correlacionadas" enmascara las complejidades. Las variables pueden estar muy relacionadas sin estar correlacionadas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X