Tengo un conjunto de datos con 9524 observaciones / 97 variables.
La mayoría de las variables son numéricas, y algunas de las variables factoriales (Sí/No o varios niveles)
Quiero realizar una regresión lineal múltiple con este conjunto de datos.
- El primer paso fue hacer una transformación logarítmica de los datos, ya que los datos están muy sesgados. (Hice log(x+1) porque muchos tienen 0)
Estos son los histogramas de mis datos después de la transformación logarítmica.
"API05B" será la variable dependiente para la regresión lineal.
Hay más variables, y la mayoría de ellas están muy sesgadas. (mayoritariamente a la derecha o algo a la izquierda)
- De todos modos, he intentado seguir realizando la regresión para ver los resultados. Con 'regsubsets' - forward selection, intenté seleccionar los mejores predictores (o el mejor modelo) entre esas variables.
Elegí el número de predictores al mostrar cambios significativos de BIC o Cp (tamaño del sesgo), que el número de predictores era 3.
A continuación se muestra el histograma de las variables seleccionadas por regsubsets.
Intenté no tener en cuenta la distribución de las variables, ya que no hay supuestos para la distribución de los datos en la regresión lineal.
Pero, me preocupaba que la asimetría tuviera un impacto en la heteroscedasticidad.
- Diagnóstico para el modelo lineal - valores atípicos / multicolinealidad / heterocedasticidad
Eliminé los valores atípicos / corregí la multicolinealidad con VIF.
No hubo ningún problema con estos, pero..
Hice lmtest::bptest / lmtest::coeftest, el resultado diciendo que la heteroskedasticidad existe.
La transformación de Box-cox no funcionó tan bien.
Aquí está el gráfico resumen de mi modelo final.
He leído varios artículos sobre cómo tratar los datos sesgados o la heteroscedasticidad,
la mayoría de ellos diciendo que la transformación logarítmica o la transformación box-cox sería útil, pero no funcionó..
Algunos de ellos recomiendan no ceñirse a la regresión lineal, como probar la regresión lineal robusta / el modelo de inflación cero / los modelos de dos partes, etc.
Cuestiones que quiero resolver..
-
tratar la asimetría de los datos o la heteroscedasticidad
- ¿se necesita otra transformación?
-
selección de predictores
- ¿Regsubsets o Lasso?
- ¿transformación en primer lugar? o ¿selección de predictores en primer lugar?
-
¿se necesitan otros enfoques?
- Si nada de lo anterior es útil para este problema, ¿se necesitan otros enfoques como los mencionados anteriormente?
- ¿Hay algo malo en mi proceso?
¡¡Cualquier consejo o sugerencia será apreciado!! Gracias.
2 votos
Hay que tener en cuenta que la prueba de heterocedasticidad debe tomarse con cautela, especialmente en el caso de las muestras grandes, ya que en estos casos la prueba rechazará fácilmente el valor nulo. Las distribuciones de sus variables no importan, los gráficos de residuos parecen estar bien en su mayoría, excepto por la varianza decreciente hacia el extremo derecho. ¿Ha intentado construir un modelo sin transformaciones?
0 votos
Sí, he construido el modelo sin transformación. Creo que todo funcionó bien, pero sólo el problema de la heteroskedasticidad.
0 votos
Dependiendo del modelo lineal que hayas utilizado, podrías: 1) utilizar
residualPlots()
de lacar
para ver qué variables están causando problemas, 2) utilizarweights
argumento de lanlme
para modelar la varianza.