13 votos

Tratamiento de la multicolinealidad

He aprendido que el uso de vif() método de car podemos calcular el grado de multicolinealidad de las entradas en un modelo. En wikipedia Si el vif es mayor que 5 entonces podemos considerar que la entrada sufre un problema de multicolinealidad. Por ejemplo, he desarrollado un modelo de regresión lineal utilizando lm() método y vif() da lo siguiente. Como podemos ver, las entradas ub , lb y tb sufren de multicolinealidad.

 vif(lrmodel)
     tb        ub        lb          ma     ua        mb         sa     sb 
 7.929757 50.406318 30.826721  1.178124  1.891218  1.364020  2.113797  2.357946

Para evitar el problema de la multicolinealidad y hacer así más robusto mi modelo, he tomado la interacción entre ub y lb y ahora la tabla vif del nuevo modelo es la siguiente:

   tb     ub:lb      ma       mb      sa        sb     ua
1.763331 1.407963 1.178124 1.327287 2.113797 1.860894 1.891218

No hay mucha diferencia en R^2 y también no hay mucha diferencia en los errores de las pruebas de CV de una sola vez en los dos casos anteriores.

Mis preguntas son:

  1. ¿Está bien evitar el problema de la multicolinealidad tomando la interacción como se muestra arriba?

  2. ¿Hay alguna forma más agradable de presentar el problema de la multicolinealidad en comparación con los resultados del método vif anterior?

Por favor, facilítenme sus sugerencias.

Gracias.

0 votos

¿Es su modelo de regresión logarítmica (la interacción como la restricción como bien con ellos)? En la wiki hay un artículo más completo sobre el tema de la multicolinealidad es.wikipedia.org/wiki/Multicolinealidad También sugiero explorar la etiqueta de multicolinealidad en este sitio, parece ser una pregunta frecuente.

0 votos

@Dmitrij Celov: Gracias. No, mi modelo es una simple regresión lineal sin registros...

0 votos

Creo que ( statisticalaid.com/ ) esto puede ayudarte.

11voto

ashwnacharya Puntos 3144

Parece que incluyes el término de interacción ub:lb pero no ub y lb como predictores independientes. Esto violaría el llamado "principio de marginalidad", que establece que los términos de orden superior sólo deben incluir variables presentes en los términos de orden inferior ( Para empezar, Wikipedia ). Efectivamente, ahora está incluyendo un predictor que es sólo el producto elemento-sabio de ub y lb .

VIFjVIFj es sólo 11R2j11R2j donde R2jR2j es el R2R2 cuando se ejecuta una regresión con su variable predictiva original jj como criterio predicho por todos los predictores restantes (también es el jj -elemento diagonal de R1xR1x la inversa de la matriz de correlación de los predictores). Así, un valor VIF de 50 indica que se obtiene un R2R2 de 0,98 al predecir ub con los demás predictores, lo que indica que ub es casi completamente redundante (lo mismo para lb , R2R2 de 0,97).

Empezaría haciendo todas las correlaciones por pares entre los predictores, y ejecutaría las regresiones mencionadas para ver qué variables predicen ub y lb para ver si la redundancia se explica fácilmente. Si es así, puede eliminar los predictores redundantes. También se puede estudiar la regresión de cresta ( lm.ridge() del paquete MASS en R).

Los diagnósticos de multicolinealidad más avanzados utilizan la estructura de valores propios de XtXXtX donde XX es la matriz de diseño de la regresión (es decir, todos los predictores como vectores-columna). La condición κκ es λmaxλminλmaxλmin donde λmaxλmax y λminλmin son el mayor y el menor ( 00 ) valores propios de XtXXtX . En R, puede utilizar kappa(lm(<formula>)) , donde el lm() El modelo suele utilizar las variables estandarizadas.

Geométricamente, κκ da una idea de la forma de la nube de datos formada por los predictores. Con 2 predictores, el gráfico de dispersión podría parecerse a una elipse con 2 ejes principales. κκ entonces te dice lo "plana" que es esa elipse, es decir, es una medida de la relación entre la longitud del eje mayor y la longitud del eje principal más pequeño. Con 3 predictores, podría tener una forma de cigarro y 3 ejes principales. Cuanto más "plana" es la nube de datos en alguna dirección, más redundantes son las variables cuando se toman juntas.

Existen algunas reglas generales para los valores no críticos de κκ (He oído menos de 20). Pero hay que tener en cuenta que κκ no es invariable bajo transformaciones de los datos que sólo cambian la unidad de las variables, como la estandarización. Esto es diferente al VIF: vif(lm(y ~ x1 + x2)) le dará el mismo resultado que vif(lm(scale(y) ~ scale(x1) + scale(x2))) (siempre que no haya términos multiplicativos en el modelo), pero kappa(lm(y ~ x1 + x2)) y kappa(lm(scale(y) ~ scale(x1) + scale(x2))) casi seguro que será diferente.

0 votos

En cuanto a la primera nota: para el modelo multivariante parece correcto dejar sólo el término de interacción, ya que esto último sólo significa que se restringen los coeficientes para ub lb ( alogub+aloglb=alogublbalogub+aloglb=alogublb ), pero para un modelo de regresión lineal general es como usted señaló (+1)^_^ Por cierto lb - límite inferior, ub - límite superior?! si es así haga la diferencia de dos ublbublb Probablemente sea la mejor transformación.

0 votos

@Dmitrij: No, ub + lb + sb = 100.

0 votos

¿Existe alguna representación gráfica agradable para la multicolinealidad? Por favor, sugiérame si hay algún método en R para esto.

1voto

Manish Puntos 141

También debe tener en cuenta el valor P durante la consideración de la variable.

  1. Si el valor P es muy bajo (p<0,05) y el VIF es alto (>5), es posible que deba considerar otras variables no significativas. Y reconstruir su modelo.
  2. Si el valor P y el VIF son altos, esta variable será insignificante.

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