Regresión (no) lineal en el árbol de decisión de hojas

8

¿Es común tener una técnica de regresión diferente en las hojas de un árbol de regresión (por ejemplo, regresión lineal)? Lo he estado buscando durante la última hora, pero todo lo que encuentro son implementaciones que tienen un valor constante en las hojas de los árboles. ¿Hay alguna razón por la cual esto es / no es común?

marqram
fuente

Respuestas:

5

MARS hace esto

Creo que no es más popular es que gran parte de la solidez de los conjuntos de modelos de estilo de árbol de decisión proviene del hecho de que siempre predicen valores constantes en el rango que han visto.

Los valores atípicos en los datos generalmente se agrupan con los valores normales más altos / más bajos en los datos en la última hoja y no generan predicciones extrañas ni arrojan coeficientes.

Tampoco sufren problemas con la multicolinealidad tanto como los modelos lineales.

Es posible que pueda abordar estos problemas en una implementación, pero es probablemente más fácil y más robusto simplemente agregar más árboles en un conjunto mediante el aumento o el embolsado hasta que obtenga la suavidad que necesita.

Ryan Bressler
fuente
5

Ha habido bastante investigación sobre este tema en las últimas décadas, comenzando con los esfuerzos pioneros de Ciampi, seguido de la GUÍA de Loh, y luego también los árboles funcionales de Gama o el enfoque de partición recursiva basado en modelos por nosotros. Una buena descripción se da en la respuesta de @ Momo a esta pregunta: ¿ Ventaja de GLM en nodos terminales de un árbol de regresión?

El software correspondiente es menos utilizado que los simples árboles de ajuste constante, como puede observar. Parte de la razón de esto es presumiblemente porque es más difícil de escribir, pero también más difícil de usar. Solo requiere más especificaciones que un simple modelo CART. Pero el software está disponible (como se señaló anteriormente aquí por @marqram o @Momo en: Algoritmo de árbol de regresión con modelos de regresión lineal en cada hoja ). Los paquetes de software destacados incluyen:

  • En la suite Weka hay M5P(M5 ') para respuestas continuas, LMT(árboles modelo logísticos) para respuestas binarias y FT(árboles funcionales) para respuestas categóricas. Ver http://www.cs.waikato.ac.nz/~ml/weka/ para más detalles. Los dos ex funciones también están interconectados fácilmente a través del paquete de R RWeka.

  • La implementación de la GUÍA de Loh está disponible en forma binaria sin costo (pero sin código fuente) en http://www.stat.wisc.edu/~loh/guide.html . Permite modificar los detalles del método mediante una amplia gama de opciones de control.

  • Nuestro algoritmo MOB (partición recursiva basada en el modelo) está disponible en el paquete R partykit(sucesor de la partyimplementación). La mob()función le brinda un marco general, que le permite especificar nuevos modelos que pueden ajustarse fácilmente en los nodos / hojas del árbol. Interfaces convenientes lmtree()y glmtree()que se combinan mob()con lm()y glm()están directamente disponibles e ilustradas en vignette("mob", package = "partykit"). Pero también se pueden definir otros complementos. Por ejemplo, en /programming/37037445/using-mob-trees-partykit-package-with-nls-model mob() se combina con nls(). Pero también hay "mafiosos" para varios modelos psicométricos (en psychotree) y para la regresión beta (en betareg).

Achim Zeileis
fuente
3

Encontré un método que hace exactamente esto (un árbol de decisión, donde las hojas contienen una regresión lineal en lugar de un valor promedio). Se llaman árboles modelo [1] y un ejemplo es el algoritmo M5P [2] de weka. En M5P hay una regresión lineal en cada hoja.

Editar: Encontré otro paquete / modelo que hace algo similar y parece dar muy buenos resultados para mis conjuntos de datos: cubista. Una implementación en R viene dada por el paquete cubista [3]. Cubist agrega un conjunto de refuerzo a M5P y lo que llama 'correcciones basadas en instancias'.

[1]: Torgo, L. Modelos funcionales para hojas de árbol de regresión. En Actas de la XIV Conferencia Internacional sobre Aprendizaje Automático, págs. 385-393. Morgan Kaufmann, 1997.

[2]: M5P http://weka.sourceforge.net/doc.dev/weka/classifiers/trees/M5P.html

[3]: modelo cubista Cubista: modelado de regresión basado en reglas e instancias https://cran.r-project.org/web/packages/Cubist/index.html

marqram
fuente