Multicolinealidad
Véase la implementación en MMS: CheckMulticollinearity.
Introducción
Cuando modelamos una variable output en función de un regresor lineal múltiple debemos prestar atención a la presencia de multicolinealidad de las variables explicativas (inputs).
La multicolinealidad se presenta cuando las columnas (inputs) de son linealmente dependientes o existe una alta correlación lineal en un subconjunto de las mismas.
Un grado de multicolinealidad puede conducirnos a una matriz inestable numéricamente y el método de estimación puede fallar.
Por otra parte, incluso teniendo éxito en la estimación los resultados arrojarán un conjunto de parámetros a partir de los cuales las interpretaciones serán inexactas, es decir, los parámetros que se obtengan serán en general poco precisos, la relación entre regresores hace difícil cuantificar con precisión el efecto que cada regresor(input) ejerce sobre el regresando(output), lo que determina que las varianzas de los parámetros sean elevadas. Entonces, ante una alta correlación lineal es imposible variar un input que depende linealmente de otros manteniendo éstos fijos.
En relación a la multicolinealidad se nos presentan dos problemas:
1. Singularidad numérica: Imposibilidad de estimar.
2. Quasi-singularidad numérica: Difícil interpretación y significatividad baja de los parámetros, perturbaciones pequeñas en los inputs provocan variaciones grandes en los parámetros.
El primero de los problemas es fácil de detectar: no podemos estimar. Sin embargo, el segundo de los problemas es más sutil pues incluso podemos tener unas estimaciones donde el ajuste del modelo es bueno.
Por lo tanto, en presencia de una matriz singular A necesitamos emplear métodos robustos como la Descomposición en valores singulares: SVD
A partir de la SVD podemos obtener los p valores propios ordenados:
Cuando o se tiene que, la matriz es singular o está muy cercana a la singularidad.
Un procedimiento de detección de multicolinealidad consiste en analizar el Número de condición: K(A)
se tiene que:
El problema de la multicolinealidad es grave cuando el número de condición toma un valor entre 20 y 30. Si este indicador supera el valor de 30, el problema sería ya manifiestamente grave.
La SVD también puede emplearse para determinar subconjuntos de variables con alta correlación ... ¿Cómo?
Observando los vectores propios asociados a los valores propios próximos a 0. Éstos, contienen los coeficientes de la combinación lineal de las variables (hay que mirar los coeficientes "distintos" de 0).
Otra forma de analizar el grado de multicolinealidad entre las columnas de A cuando es matriz no singular es calcular para todo el estadístico Factor de inflación de la varianza asociado a la columna :
Ponemos cada variable en función de las demas variables explicativas:
donde es el coeficiente de determinación obtenido al efectuar la regresión de sobre el resto de las variables regresoras.
Estos estadísticos miden la razón entre la varianza observada y la que habría sido en caso de que estuviera incorrelada con el resto de variables regresoras del modelo.
Entonces, valores grandes de indican un grado de multicolinealidad alto, se suele usar
Propuestas de implementación en MMS
¿Qué ofrecemos en MMS en relación a la multicolinealidad?
- El cálculo del VIF
- El cálculo de SVD y la selección de variables colineales según la tolerancia.
CheckMulticollinearity
Implementación en MMS
Por cuestiones de necesidad se introdujo un primer mecanismo de chequeo que facilita en un buen número de casos la localización de los culpables de los conocidos "errores Choleski".
El método, denominado ::CheckMulticollinearity
, pertenece a los objetos @Submodel
. Ofrece un conjunto vacío en caso de no detectar ningún problema de colinealidad o un conjunto con los nombres de los parámetros involucrados en el primer problema de colinealidad detectado:
Set <submodel>::CheckMulticollinearity(?);
El mecanismo tal y como está implementado sólo devuelve el primer problema detectado, de modo que tras solucionar el problema es necesario pasar el chequeo de nuevo para ver si aparecen nuevos problemas.
Se adjunta un ejemplo para observar su funcionamiento.
Attachments (1)
- testMC1.tol (2.5 KB) - added by 14 years ago.
Download all attachments as: .zip