11 votos

¿Por qué no utilizar el ACP en todos los casos de regresión lineal para evitar la multicolinealidad?

Soy consciente de la estupidez de esta pregunta, pero escúchame.

Imaginemos una regresión lineal (por ejemplo, OLS) en la que realizamos PCA en todas nuestras variables independientes y utilizamos todos los componentes principales resultantes (por tanto, número de componentes principales = número de variables independientes) como variables independientes. A primera vista, parece que esto rectificará cualquier problema de multicolinealidad por grave que sea (ya que todos los componentes principales son ortogonales). Además, no tendremos ningún problema para interpretar los coeficientes resultantes, ya que se pueden proyectar de nuevo en el espacio de coeficientes original sin pérdida de identidad (ya que el número de componentes principales que utilizamos = número de variables independientes) simplemente tomando un producto con componentes principales. Así pues, todos salimos ganando.

Es evidente que algo falla en este planteamiento. Simplemente no consigo encontrar un marco para analizar esta situación correctamente. Cualquier ayuda es apreciada.

EDITAR:

Para poner la pregunta en perspectiva, imagine que le encargan construir un modelo OLS. Hay dos variables independientes muy colineales. Por lo general, se omite una de ellas o se realiza un ACP y se utiliza el primer componente principal como predictor. Sin embargo, la persona que le encargó la construcción del modelo está interesada en estimar los coeficientes de ambas variables, por lo que las opciones anteriores no están disponibles. Además, esta persona quiere que el modelo cumpla ciertos criterios formales, uno de los cuales es un VIF por debajo de cierto umbral, lo que no es posible si incluye las dos variables independientes altamente colineales tal cual. Por lo tanto, la única opción que nos queda es utilizar el ACP sobre estas dos variables y utilizar los dos componentes principales resultantes como predictores, lo que nos permite obtener coeficientes sobre ambas en el espacio de coeficientes original (multiplicando los coeficientes de los componentes principales y de los propios componentes principales) y pasar el umbral VIF. La persona que le encargó construir el modelo está perfectamente de acuerdo con este enfoque, pero no puedo evitar tener la sensación de que algo falla. ¿Estamos simplemente enmascarando el problema de la multicolinealidad aquí para engañar a la métrica VIF?

2voto

Ken Puntos 41

Esto es probablemente un comentario más que una respuesta y no estoy seguro de estar entendiéndolo bien. Intentemos comparar el resultado de un modelo lineal sobre dos variables casi colineales antes y después del ACP:

set.seed(1234)
x1 <- 1:10
x2 <- x1 + rnorm(n= length(x1), sd= 0.0001) # x2 is nearly colinear to x1

y <- rowMeans(cbind(x1, x2)) + rnorm(n= length(x1)) # A response variable

Regresión lineal sobre datos brutos:

summary(lm(y ~ x1 + x2))
...    
Coefficients:
              Estimate Std. Error t value Pr(>|t|)
(Intercept)    -0.9351     0.7503  -1.246    0.253
x1           1428.6673  3681.8475   0.388    0.710
x2          -1427.5288  3681.8604  -0.388    0.710

Residual standard error: 1.094 on 7 degrees of freedom
Multiple R-squared:  0.9281,    Adjusted R-squared:  0.9076 
F-statistic: 45.18 on 2 and 7 DF,  p-value: 9.963e-05

Ahora sobre los componentes principales:

pca <- prcomp(cbind(x1, x2))

pca_lm <- lm(y ~ pca$x[,1] + pca$x[,2])
summary(pca_lm)
...
Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 5.382e+00  3.458e-01  15.562 1.09e-06 ***
pca$x[, 1]  8.086e-01  8.514e-02   9.498 3.00e-05 ***
pca$x[, 2]  2.020e+03  5.207e+03   0.388     0.71    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.094 on 7 degrees of freedom
Multiple R-squared:  0.9281,    Adjusted R-squared:  0.9076 
F-statistic: 45.18 on 2 and 7 DF,  p-value: 9.963e-05

Si se observa la R-cuadrado ajustada, la calidad de los dos modelos es la misma, como era de esperar.

Proyectar los coeficientes del modelo con componentes principales a la escala original (¿estoy haciendo esto bien?)

(pca_lm$coefficients[1] + pca_lm$coefficients[2:3]) %*% pca$rotation
          PC1       PC2
[1,] 1436.278 -1427.529

Son similares a los coeficientes del modelo sobre variables brutas. Así que, en resumen, no hay ninguna ventaja en pasar por componentes principales.

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