Zufälliger Wald vs. Regression

21

Ich habe ein OLS-Regressionsmodell für einen Datensatz mit 5 unabhängigen Variablen ausgeführt. Die unabhängigen Variablen und die abhängige Variable sind beide stetig und stehen in linearer Beziehung zueinander. Der R-Platz ist ungefähr 99,3%. Aber wenn ich dasselbe mit einer zufälligen Gesamtstruktur in R ausführe, ist mein Ergebnis '% Var Explained: 88.42'. Warum sind zufällige Waldergebnisse der Regression so unterlegen? Ich ging davon aus, dass eine zufällige Gesamtstruktur mindestens so gut ist wie eine OLS-Regression.

user28906
quelle
4
Wenn Sie vorhersagen möchten, kann ein höheres R-Quadrat auf eine Überanpassung zurückzuführen sein. Versuchen Sie, die RN-Vorhersagen mit Regressionsvorhersagen unter Verwendung einer Kreuzvalidierung zu vergleichen.
Manoel Galdino

Antworten:

27

Ich weiß nicht genau, was Sie getan haben, daher würde mir Ihr Quellcode helfen, weniger zu erraten.

Viele zufällige Wälder sind im Wesentlichen Fenster, in denen der Durchschnitt das System darstellen soll. Es ist ein überglorifizierter CAR-Baum.

Nehmen wir an, Sie haben einen zweiblättrigen AUTO-Baum. Ihre Daten werden in zwei Stapel aufgeteilt. Die (konstante) Leistung jedes Pfahls ist der Durchschnitt.

Jetzt machen wir es 1000 mal mit zufälligen Teilmengen der Daten. Sie haben immer noch diskontinuierliche Regionen mit Ausgaben, die Durchschnittswerte sind. Der Gewinner in einer RF ist das häufigste Ergebnis. Das "Fuzzies" nur die Grenze zwischen Kategorien.

Beispiel für die stückweise lineare Ausgabe des CART-Baums:

Nehmen wir zum Beispiel an, dass unsere Funktion y = 0,5 * x + 2 ist. Ein Plot davon sieht wie folgt aus: Abbildung 1

Wenn wir dies unter Verwendung eines einzelnen Klassifizierungsbaums mit nur zwei Blättern modellieren würden, würden wir zuerst den Punkt der besten Teilung finden, an diesem Punkt teilen und dann die Funktionsausgabe an jedem Blatt als Durchschnittsausgabe über das Blatt approximieren.

Grundstück mit Kleinwagen

Wenn wir dies mit mehr Blättern im WARENKORB-Baum wiederholen, erhalten wir möglicherweise Folgendes: Bildbeschreibung hier eingeben

Warum CAR-Wälder?

Sie können sehen, dass der WARENKORB-Baum in der Grenze der unendlichen Blätter ein akzeptabler Annäherungswert wäre.

Das Problem ist, dass die reale Welt laut ist. Wir denken gerne in Mitteln, aber die Welt mag sowohl die zentrale Tendenz (Mittelwert) als auch die Tendenz zur Variation (Standardentwicklung). Da ist Lärm.

Dasselbe, was einem CAR-Baum seine große Stärke verleiht, seine Fähigkeit, mit Diskontinuität umzugehen, macht ihn anfällig für das Modellieren von Rauschen, als wäre es ein Signal.

Also machte Leo Breimann einen einfachen, aber wirkungsvollen Vorschlag: Verwenden Sie Ensemble-Methoden, um Klassifikations- und Regressionsbäume robust zu machen. Er nimmt zufällige Teilmengen (eine Cousine von Bootstrap Resampling) und trainiert damit einen Wald von CAR-Bäumen. Wenn Sie eine Frage an den Wald stellen, spricht der gesamte Wald, und die häufigste Antwort wird als Ausgabe verwendet. Wenn Sie mit numerischen Daten arbeiten, kann es hilfreich sein, die Erwartung als Ausgabe zu betrachten.

Denken Sie beim zweiten Plot an die Modellierung mit einer zufälligen Gesamtstruktur. Jeder Baum hat eine zufällige Untermenge der Daten. Das bedeutet, dass die Position des "besten" Split-Punkts von Baum zu Baum variiert. Wenn Sie die Ausgabe der zufälligen Gesamtstruktur zeichnen und sich der Diskontinuität nähern, geben die ersten paar Zweige einen Sprung an, dann viele. Der Mittelwert in dieser Region durchläuft einen glatten Sigmoidpfad. Das Bootstrapping wird mit einem Gaußschen verwoben, und die Gaußsche Unschärfe auf dieser Schrittfunktion wird zu einem Sigmoiden.

Fazit:

Sie benötigen viele Zweige pro Baum, um eine gute Annäherung an eine sehr lineare Funktion zu erhalten.

Es gibt viele "Wählscheiben", die Sie ändern können, um die Antwort zu beeinflussen, und es ist unwahrscheinlich, dass Sie sie alle auf die richtigen Werte eingestellt haben.

Verweise:

EngrStudent - Setzen Sie Monica wieder ein
quelle
Wird die RANDOM-Forest-Regression nicht mit stückweise konstanten Funktionen durchgeführt, was offensichtlich eine schlechte Anpassung an linear verwandte Daten darstellt?
Seanv507
Ich denke, wir sagen dasselbe. Welche Konstante wird verwendet? Recht.
EngrStudent
Wenn ich gedacht hätte, dass wir dasselbe sagen, hätte ich es als Kommentar formuliert. Ich verstehe deine Antwort nicht. Meine Antwort erklärt, dass OPs Daten linear sind und durch eine stückweise konstante Funktion so schlecht passen.
Seanv507
@ seanv507 Der Vorteil des RF besteht darin, dass durch die mehreren Bäume, die zu (zufälligen Teilmengen von) gestörten Versionen der Daten passen, die Diskontinuitäten herausgemittelt werden. Das Ergebnis ist eine bessere Annäherung an die darunter liegende glatte Linie als ein einzelner Baum.
Hong Ooi
Es handelt sich im Wesentlichen um ein Bootstrap-Resampling in einem Regressionsbaum. Eines der Dinge, die ich an Bootstrap nicht mag, ist, dass die gleichmäßige Verteilung als informativer Prior gilt. Ist der Idealfall nicht ein nicht informativer Prior?
EngrStudent
7

Ich stelle fest, dass dies eine alte Frage ist, aber ich denke, es sollte noch mehr hinzugefügt werden. Wie @Manoel Galdino in den Kommentaren sagte, sind Sie normalerweise an Vorhersagen über unsichtbare Daten interessiert. Bei dieser Frage geht es jedoch um die Leistung der Trainingsdaten und darum, warum zufällige Gesamtstrukturen bei den Trainingsdaten eine schlechte Leistung erbringen . Die Antwort hebt ein interessantes Problem mit eingesackten Klassifikatoren hervor, das mir oft Probleme bereitet hat: die Regression zum Mittelwert.

Das Problem ist, dass Bagged-Klassifikatoren wie zufällige Gesamtstrukturen, die durch die Entnahme von Bootstrap-Samples aus Ihrem Datensatz erstellt werden, im Extremfall schlecht abschneiden. Da es im Extremfall nicht viele Daten gibt, werden diese tendenziell geglättet.

Denken Sie genauer daran, dass eine zufällige Gesamtstruktur für die Regression den Durchschnitt der Vorhersagen einer großen Anzahl von Klassifizierern bildet. Wenn Sie einen einzelnen Punkt haben, der weit von den anderen entfernt ist, werden ihn viele Klassifikatoren nicht sehen, und dies ist im Wesentlichen eine Vorhersage außerhalb der Stichprobe, die möglicherweise nicht sehr gut ist. Tatsächlich tendieren diese Vorhersagen außerhalb der Stichprobe dazu, die Vorhersage für den Datenpunkt auf den Gesamtmittelwert zu ziehen.

Wenn Sie einen einzelnen Entscheidungsbaum verwenden, haben Sie nicht das gleiche Problem mit Extremwerten, aber die angepasste Regression ist auch nicht sehr linear.

Hier ist eine Illustration in R. Es werden einige Daten generiert, bei denen yes sich um eine perfekte Linerkombination aus fünf xVariablen handelt. Dann werden Vorhersagen mit einem linearen Modell und einer zufälligen Gesamtstruktur gemacht. Dann werden die Werte yder Trainingsdaten gegen die Vorhersagen aufgetragen. Sie können deutlich sehen, dass zufällige Gesamtstrukturen im Extremfall schlecht abschneiden, da Datenpunkte mit sehr großen oder sehr kleinen Werten von yselten sind.

Sie sehen dasselbe Muster für Vorhersagen für unsichtbare Daten, wenn zufällige Gesamtstrukturen für die Regression verwendet werden. Ich bin nicht sicher, wie ich das vermeiden soll. Die randomForestFunktion in R verfügt über eine Grob-Bias-Korrekturoption, corr.biasdie eine lineare Regression des Bias verwendet, aber nicht wirklich funktioniert.

Vorschläge sind willkommen!

beta <- runif(5)
x <- matrix(rnorm(500), nc=5)
y <- drop(x %*% beta)
dat <- data.frame(y=y, x1=x[,1], x2=x[,2], x3=x[,3], x4=x[,4], x5=x[,5])
model1 <- lm(y~., data=dat)
model2 <- randomForest(y ~., data=dat)
pred1 <- predict(model1 ,dat)
pred2 <- predict(model2 ,dat)
plot(y, pred1)
points(y, pred2, col="blue")

Bildbeschreibung hier eingeben

Flunder
quelle
Ich stimme Ihrer Beobachtung zu, aber ich bin ein Fan der RF-Regression zum Mittelwert in Gebieten mit wenigen Datenpunkten geworden. Nun, wenn man sehr sicher war, eine schöne lineare Gesamtstruktur bis zur Grenze des Trainingssatzes zu finden, die nur von wenigen Datenpunkten unterstützt wird, dann macht man einfach eine lineare Korrektur und lässt RF sich um die Residuen kümmern.
Soren Havelund Welling
2
Danke für den Kommentar! Ich hatte eine böse Erfahrung, in der es Vorhersagen gab, die sehr schlecht waren und die mich schlecht aussehen ließen. Aber vielleicht gibt es keine Möglichkeit, genauere Vorhersagen für Grenzpunkte zu erhalten, ohne die Varianz zu erhöhen.
Flunder
Ein zusätzlicher Kommentar Jahre später stellte ich fest, dass RF an Stellen, an denen es eine kleine Lücke in den Daten gibt, zu einer schlechten Leistung neigt. Natürlich gibt es oft weniger Daten an den Extremen eines Datensatzes, aber manchmal kann es vorkommen, dass Sie genau in der Mitte eine Lücke haben. RF kann ein Dataset mit eventuellen Lücken verwirren.
SeldomSeenSlim
2

Zufällige Gesamtstruktur versucht, Orte zwischen vielen Features und vielen Datenpunkten zu finden. Es teilt die Features auf und gibt sie an verschiedene Bäume weiter, da Sie über eine geringe Anzahl von Features verfügen und das Gesamtergebnis nicht so gut ist wie eine logistische Regression. Zufällige Gesamtstrukturen können numerische und kategoriale Variablen verarbeiten, aber fehlende Werte können nicht verarbeitet werden.

Abbas Shojaee
quelle
0

Ich denke, dass Random Forest (RF) ein gutes Werkzeug ist, wenn die funktionale Form der Beziehung zwischen Xs und y kompliziert ist (aufgrund von nichtlinearen Beziehungen und Interaktionseffekten). RF kategorisiert Xs basierend auf dem besten Cutpoint (in Bezug auf minimale SSE) und wendet die Forscherinformationen über die funktionale Form der Beziehung nicht an. Andererseits verwendet die OLS-Regression diese Informationen. In Ihrem Beispiel wissen Sie, was genau die Art der Beziehung zwischen Xs und y ist, und verwenden alle diese Informationen in Ihrem Regressionsmodell, RF verwendet diese Informationen jedoch nicht.

J Faradmal
quelle
-2

In den Grundlagen ist die Regression gegenüber kontinuierlichen Variablen und die Zufallsgesamtstruktur gegenüber diskreten Variablen gut.

Sie müssen weitere Details zum Problem und zur Art der Variablen angeben, um genauer zu sein ...

Subspacian
quelle
Alle Variablen täglichen Renditen von Aktien (finanzielle Zeitreihen) ...
user28906
3
"Die Regression hat eine gute Leistung gegenüber kontinuierlichen Variablen und Random Forest gegenüber diskreten Variablen.": Dies ist im Allgemeinen nicht der Fall. Es gibt Unterschiede in der Schlussfolgerung und Vorhersage, und selbst bei der Vorhersage gibt es Fälle, in denen eine Regression der RF vorgezogen wird.
AdamO