¿Puede la regresión basada en árbol funcionar peor que la regresión lineal simple?


9

Hola, estoy estudiando técnicas de regresión.

Mis datos tienen 15 características y 60 millones de ejemplos (tarea de regresión).

Cuando probé muchas técnicas de regresión conocidas (árbol impulsado por gradiente, regresión de árbol de decisión, AdaBoostRegressor, etc.), la regresión lineal funcionó muy bien.

Anotó casi mejor entre esos algoritmos.

¿Cuál puede ser la razón de esto? Debido a que mis datos tienen muchos ejemplos, el método basado en DT puede encajar bien.

  • cresta de regresión lineal regularizada, el lazo se desempeñó peor

¿Alguien puede decirme acerca de otros algoritmos de regresión con buen rendimiento?

  • ¿Es la máquina de factorización y la regresión de vectores de soporte una buena técnica de regresión para probar?

2
Esto tiene mucho más que ver con sus datos que el algoritmo. La estructura de una regresión lineal es solo una buena opción para sus datos.
Matthew Drury

gracias por responder a @MatthewDrury. Al observar estas características, estoy tratando de encontrar características de mis datos. Claramente tiene características pequeñas y muchos ejemplos. y funcionan mejor en la regresión de redes neuronales simples. y por el hecho de que los modelos no paramétricos, como el aumento de gradiente, funcionan un poco peor que la regresión paramétrica (asumiendo la forma de la función), ¿puedo decir que mis datos no pueden dar mucha información sobre datos desconocidos, independientemente de cuántos ejemplos tenga? Tengo problemas para deducir la característica de mis datos del resultado.
amityaffliction

Trabaje primero con la regresión lineal múltiple y luego, estudie los gráficos residuales y demás para comprender realmente el ajuste. Entonces puedes ver de qué manera el ajuste es malo. No solo arroje los datos a diferentes algoritmos, trabaje duro para comprender los ajustes.
kjetil b halvorsen

@kjetilbhalvorsen gracias por responder. Tengo 15 variables independientes. Entonces, ¿cómo puedo trazar u obtener información del ajuste residual? ¿me puedes ayudar?
amityaffliction

Respuestas:


11

Usted debe no sólo tirar los datos a diferentes algoritmos y vistazo a la calidad de las predicciones. Debe comprender mejor sus datos, y la forma de hacerlo es, primero, visualizar sus datos (las distribuciones marginales). Incluso si finalmente está interesado en las predicciones, estará en una mejor posición para hacer mejores modelos si comprende mejor los datos. Entonces, primero, intente comprender mejor los datos (y los modelos simples ajustados a los datos), y luego estará en una posición mucho mejor para crear modelos más complejos y, con suerte, mejores.

Luego, ajuste los modelos de regresión lineal, con sus 15 variables como factores determinantes (más adelante puede ver las posibles interacciones). Luego, calcule los residuos de ese ajuste, es decir,

ryo=Yyo-Y^yo,yo=1,2,...,norte
Si el modelo es adecuado, es decir, fue capaz de extraer la señal (estructura) de los datos, entonces los residuos no deberían mostrar patrones. Box, Hunter & Hunter: "Estadísticas para experimentadores" (que debe ver, es uno de los mejores libros sobre estadísticas) compara esto con una analogía de la química: el modelo es un "filtro" diseñado para atrapar impurezas de agua (los datos). Lo que queda, que pasó a través del filtro, debe estar "limpio" y el análisis del mismo (análisis de residuos) puede mostrar que, cuando no contiene impurezas (estructura). Consulte Comprobación de la normalidad de los residuos en modelos lineales generalizados.

Para saber qué verificar, debe comprender los supuestos detrás de la regresión lineal, consulte ¿Qué es una lista completa de los supuestos habituales para la regresión lineal?

Una suposición habitual es la homocedasticidad, es decir, la varianza constante. Para verificar eso, trace los residuosryo contra los valores predichos, Y^yo. Para comprender este procedimiento, ver: ¿Por qué se construyen gráficas residuales usando los residuales frente a los valores predichos? .

Otros supuestos es la linealidad . Para verificarlos, trace los residuos contra cada uno de los predictores en el modelo. Si ve alguna curiosidad en esas parcelas, eso es evidencia contra la linealidad. Si encuentra no linealidad, puede intentar algunas transformaciones o (enfoque más moderno) incluir ese predictor no lineal en el modelo de una manera no lineal, tal vez usando splines (¡tiene 60 millones de ejemplos, así que debería ser bastante factible! )

Luego debe verificar las posibles interacciones. Las ideas anteriores se pueden usar también para variables que no están en el modelo ajustado . Como se ajusta a un modelo sin interacciones, eso incluye variables de interacción, como el productoXyozyo para dos variables X, z. Entonces, grafica los residuos contra todas estas variables de interacción. Una publicación de blog con muchas parcelas de ejemplo es http://docs.statwing.com/interpreting-residual-plots-to-improve-your-regression/

Un tratamiento de larga duración es R Dennis Cook y Sanford Weisberg: "Residuos e influencia en la regresión", Chapman y Hall. Un tratamiento más moderno de duración de libro es Frank Harrell: "Estrategias de modelado de regresión".

Y, volviendo a la pregunta en el título: "¿Puede la regresión basada en árbol funcionar peor que la regresión lineal simple?" Sí, por supuesto que puede. Los modelos basados ​​en árboles tienen como función de regresión una función de paso muy compleja. Si los datos realmente provienen (se comportan como simulados) de un modelo lineal, entonces las funciones de paso pueden ser una mala aproximación. Y, como se muestra en los ejemplos de la otra respuesta, los modelos basados ​​en árboles podrían extrapolar mal fuera del rango de los predictores observados. También puedes probar randomforrest y ver cuánto mejor es eso que un solo árbol.


3
Solo para aclarar: cuando dices "distribuciones marginales", también podrías decir mirar las distribuciones univariadas de cada variable, ¿correcto? Son "marginales" en el sentido de que las distribuciones aparecerían en los márgenes de un diagrama de dispersión o algo así.
Mark White

Otra pregunta: usted dice "No debería simplemente arrojar los datos a diferentes algoritmos y observar la calidad de las predicciones". Mi pregunta es: ¿por qué? Si está comprobando la precisión de los datos de una prueba, eso es. Si estamos más interesados ​​en la predicción, entonces no tenemos que preocuparnos por el error Tipo I ni nada de eso, sería un problema si estuviéramos interesados ​​en la significación estadística y las pruebas múltiples.
Mark White

Incluso si finalmente está interesado en las predicciones, estará en una mejor posición para obtener mejores modelos si comprende mejor los datos. Entonces, primero, intente comprender mejor los datos (y los modelos simples ajustados a los datos), y luego estará en una posición mucho mejor para crear modelos más complejos y, con suerte, mejores.
kjetil b halvorsen

9

Peter Ellis tiene un ejemplo muy simple

Imagen cargada del sitio vinculado

donde la regresión lineal funciona mejor que los árboles de regresión, extrapolando más allá de los valores observados en la muestra.

En esta imagen, los puntos negros son los valores observados, y los puntos coloreados son los valores predichos. Los datos reales se generan de acuerdo con una línea simple con algo de ruido, por lo que la regresión lineal y la red neuronal hacen un buen trabajo extrapolando más allá de los datos observados. Los modelos basados ​​en árboles no.

Ahora, con 60 millones de puntos de datos, es posible que no esté preocupado por esto. (¡Aunque el futuro siempre me sorprende!) Pero es una ilustración intuitiva de una situación en la que los árboles fallarán.


Gracias por la respuesta intuitiva. Aunque tengo muchos puntos de datos, teniendo en cuenta las características de mis datos, ¡creo que no se extrapola!
amityaffliction

dado que el modelo basado en NN funciona mejor que la regresión lineal.
amityaffliction

una pregunta más. ¿Es 'difícil de extrapolar' el problema común de las técnicas de regresión no parámetros?
amityaffliction

No paramétrico es una red amplia. Para extrapolar necesita identificar alguna función continua subyacente. Los modelos de árbol son más como identificar muchos pequeños pasos, por lo tanto, no siguen la línea fuera del dominio de la muestra observada en este ejemplo.
Andy W

5

Es un hecho bien conocido que los árboles no son adecuados para modelar relaciones verdaderamente lineales. Aquí hay una ilustración (Fig. 8.7) del libro ISLR : Fig. 8.7

Fila superior: un ejemplo de clasificación bidimensional en el que el límite de decisión real es lineal y se indica mediante las regiones sombreadas. Un enfoque clásico que asume un límite lineal (izquierda) superará a un árbol de decisión que realiza divisiones paralelas a los ejes (derecha).

Entonces, si su variable dependiente depende de los regresores de una manera más o menos lineal, esperaría que la "regresión lineal funcione muy bien".


2

Cualquier enfoque basado en el árbol de decisión (CART, C5.0, bosques aleatorios, árboles de regresión potenciada, etc.) identifica áreas homogéneas en sus datos y asigna el valor medio de los datos contenidos en esa región a la 'licencia' correspondiente. Por lo tanto, son granulares y luego, deben mostrar una serie de pasos en las salidas. Aquellos basados ​​en 'bosques' no muestran ese fenómeno de manera pronunciada, pero todavía está allí. La agregación de una gran cantidad de árboles lo matiza. Cuando un valor dado está fuera del rango original, el dato se asigna a la 'licencia' que incluye la condición extrema encontrada en el conjunto de datos de entrenamiento y, en consecuencia, la salida es el valor medio de los valores contenidos en esa licencia. Por lo tanto, no es posible la extrapolación. Por cierto, los ANN son pobres extrapoladores. Puedes comprobar: Pichaid Varoonchotikul - Pronóstico de inundaciones usando Neural Artificial y Hettiarachchi et al. La extrapolación de las redes neuronales artificiales para el modelado de la lluvia y las relaciones de escorrentía son muy ilustrativas y fáciles de encontrar en la red. ¡Buena suerte!

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.