(Nicht-) lineare Regression am Blattentscheidungsbaum


8

Ist es üblich, an den Blättern eines Regressionsbaums eine andere Regressionstechnik zu verwenden (z. B. lineare Regression)? Ich habe in der letzten Stunde danach gesucht, aber alles, was ich finde, sind Implementierungen, die an den Blättern der Bäume einen konstanten Wert haben. Gibt es einen Grund, warum dies nicht üblich ist / ist?

Antworten:


5

MARS macht das

Ich denke, es ist nicht populärer, dass ein Großteil der Robustheit von Ensembles von Modellen im Entscheidungsbaumstil darauf zurückzuführen ist, dass sie immer konstante Werte in dem Bereich vorhersagen, den sie gesehen haben.

Ausreißer in den Daten werden im Allgemeinen nur mit den höchsten / niedrigsten Normalwerten in den Daten auf dem letzten Blatt zusammengefasst und verursachen keine seltsamen Vorhersagen oder Abwurfkoeffizienten.

Sie leiden auch weniger unter Problemen mit Multicolinearität als unter linearen Modellen.

Möglicherweise können Sie diese Probleme in einer Implementierung beheben, aber es ist wahrscheinlich einfacher und robuster, einfach mehr Bäume in einem Ensemble durch Boosten oder Absacken hinzuzufügen, bis Sie die erforderliche Glätte erhalten.


5

In den letzten Jahrzehnten wurden einige Untersuchungen zu diesem Thema durchgeführt, angefangen mit den Pionierbemühungen von Ciampi, gefolgt von Lohs GUIDE und dann auch mit Gamas Funktionsbäumen oder dem modellbasierten rekursiven Partitionierungsansatz von uns. Eine schöne Übersicht finden Sie in @ Momos Antwort auf diese Frage: Vorteil von GLMs in Endknoten eines Regressionsbaums?

Entsprechende Software wird weniger häufig verwendet als einfache Bäume mit konstanter Anpassung, wie Sie beobachten. Ein Grund dafür ist vermutlich, dass es schwieriger zu schreiben ist - aber auch schwieriger zu bedienen. Es erfordert nur mehr Spezifikationen als ein einfaches CART-Modell. Es ist jedoch Software verfügbar (wie hier bereits von @marqram oder @Momo unter: Regressionsbaumalgorithmus mit linearen Regressionsmodellen in jedem Blatt ausgeführt ). Prominente Softwarepakete umfassen:

  • In der Weka-Suite gibt es M5P(M5 ') für kontinuierliche Antworten, LMT(logistische Modellbäume) für binäre Antworten und FT(Funktionsbäume) für kategoriale Antworten. Weitere Informationen finden Sie unter http://www.cs.waikato.ac.nz/~ml/weka/ . Die beiden ersteren Funktionen lassen sich auch problemlos über das R-Paket miteinander verbinden RWeka.

  • Die GUIDE-Implementierung von Loh ist in binärer Form kostenlos (jedoch ohne Quellcode) unter http://www.stat.wisc.edu/~loh/guide.html verfügbar . Es ermöglicht die Änderung der Details der Methode durch eine Vielzahl von Steuerungsoptionen.

  • Unser MOB-Algorithmus (MOdel-Based Recursive Partitioning) ist im R-Paket partykit(Nachfolger der partyImplementierung) verfügbar . Die mob()Funktion bietet Ihnen einen allgemeinen Rahmen, mit dem Sie neue Modelle angeben können, die problemlos in die Knoten / Blätter des Baums eingepasst werden können. Convenience - Schnittstellen lmtree()und glmtree()die kombinieren mob()mit lm()und glm()sind direkt verfügbar und dargestellt in vignette("mob", package = "partykit"). Es können aber auch andere Plugins definiert werden. Zum Beispiel wird in /programming/37037445/using-mob-trees-partykit-package-with-nls-model mob() mit kombiniert nls(). Es gibt aber auch "Gangster" für verschiedene psychometrische Modelle (in psychotree) und für die Beta-Regression (in betareg).


3

Ich habe eine Methode gefunden, die genau dies tut (einen Entscheidungsbaum, in dem die Blätter eine lineare Regression anstelle eines Durchschnittswerts enthalten). Sie werden Modellbäume [1] genannt und ein Beispiel ist der M5P [2] -Algorithmus von weka. In M5P befindet sich an jedem Blatt eine lineare Regression.

Bearbeiten: Ich habe ein anderes Paket / Modell gefunden, das etwas Ähnliches tut und sehr gute Ergebnisse für meine Datensätze zu liefern scheint: Cubist. Eine Implementierung in R gibt das kubistische Paket [3]. Cubist erweitert M5P um ein verstärktes Ensemble und so genannte "instanzbasierte Korrekturen".

[1]: Torgo, L. Funktionsmodelle für Regressionsbaumblätter. In Proceedings of the 14. International Conference on Machine Learning, S. 385–393. Morgan Kaufmann, 1997.

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

[3]: Kubistisches Modell Cubist: Regel- und instanzbasierte Regressionsmodellierung https://cran.r-project.org/web/packages/Cubist/index.html

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.