Kann eine baumbasierte Regression schlechter abschneiden als eine einfache lineare Regression?

9

Hallo, ich studiere Regressionstechniken.

Meine Daten haben 15 Funktionen und 60 Millionen Beispiele (Regressionsaufgabe).

Als ich viele bekannte Regressionstechniken ausprobierte (gradientenverstärkter Baum, Entscheidungsbaumregression, AdaBoostRegressor usw.), lief die lineare Regression hervorragend.

Unter diesen Algorithmen fast am besten bewertet.

Was kann der Grund dafür sein? Da meine Daten so viele Beispiele enthalten, kann die DT-basierte Methode gut passen.

  • regulierter linearer Regressionskamm, Lasso schnitt schlechter ab

Kann mir jemand etwas über andere Regressionsalgorithmen mit guter Leistung erzählen?

  • Ist Factorization Machine und Support Vector Regression eine gute Regressionstechnik?
Amityaffliction
quelle
2
Dies hat viel mehr mit Ihren Daten zu tun als mit dem Algorithmus. Die Struktur einer linearen Regression passt einfach gut zu Ihren Daten.
Matthew Drury
Vielen Dank für die Antwort auf @MatthewDrury. Durch Beobachtung dieser Merkmale versuche ich, Merkmale meiner Daten zu finden. Es hat eindeutig kleine Funktionen und viele Beispiele. und arbeiten am besten an der einfachen Regression neuronaler Netze. Kann ich aufgrund der Tatsache, dass nichtparametrische Modelle wie die Gradientenverstärkung etwas schlechter funktionieren als die parametrische Regression (unter der Annahme der Funktionsform), sagen, dass meine Daten unbekannten Daten nicht viele Einblicke geben können, unabhängig davon, wie viele Beispiele ich habe? Ich habe Probleme, die Eigenschaften meiner Daten vom Ergebnis abzuziehen.
Amityaffliction
Arbeiten Sie zuerst mit multipler linearer Rebression und studieren Sie dann Restdiagramme und dergleichen, um die Anpassung wirklich zu verstehen . Dann können Sie sehen, auf welche Weise die Passform schlecht ist. Werfen Sie die Daten nicht einfach auf verschiedene Algorithmen, sondern arbeiten Sie hart daran, die Anpassungen zu verstehen.
kjetil b halvorsen
@kjetilbhalvorsen danke für die Antwort. Ich habe 15 unabhängige Variablen. Wie kann ich also zeichnen oder Einblicke in die Restanpassung erhalten? können Sie mir helfen?
Amityaffliction

Antworten:

11

Sie sollten die Daten nicht nur auf verschiedene Algorithmen werfen und die Qualität der Vorhersagen überprüfen. Sie müssen Ihre Daten besser verstehen. Um dies zu erreichen, müssen Sie zunächst Ihre Daten (die Randverteilungen) visualisieren. Selbst wenn Sie sich nur endgültig für die Vorhersagen interessieren, können Sie bessere Modelle erstellen, wenn Sie die Daten besser verstehen. Versuchen Sie also zunächst, die Daten (und die an die Daten angepassten einfachen Modelle) besser zu verstehen, und dann sind Sie in einer viel besseren Position, um komplexere und hoffentlich bessere Modelle zu erstellen.

Passen Sie dann lineare Regressionsmodelle mit Ihren 15 Variablen als Prädiktoren an (später können Sie mögliche Wechselwirkungen untersuchen). Berechnen Sie dann die Residuen aus dieser Anpassung, Wenn das Modell adäquat ist, dh es konnte das extrahieren Signal (Struktur) aus den Daten, dann sollten die Residuen keine Muster zeigen. Box, Hunter & Hunter: "Statistik für Experimentatoren" (die Sie sich ansehen sollten, eines der besten Bücher über Statistik) vergleicht dies mit einer Analogie aus der Chemie: Das Modell ist ein "Filter", mit dem Verunreinigungen aufgefangen werden können Wasser (die Daten). Was übrig bleibt, was durch den Filter passiert ist, sollte dann "sauber" sein und eine Analyse davon (Residuenanalyse) kann zeigen, dass wenn es keine Verunreinigungen enthält (Struktur). Sehen

ri=YiY^i,i=1,2,,n
Überprüfen der Residuen auf Normalität in verallgemeinerten linearen Modellen

Um zu wissen, worauf Sie achten müssen, müssen Sie die Annahmen hinter der linearen Regression verstehen. Weitere Informationen finden Sie unter Was ist eine vollständige Liste der üblichen Annahmen für die lineare Regression?

Eine übliche Annahme ist Homoskedastizität, dh konstante Varianz. Um dies zu überprüfen, zeichnen Sie die Residuen gegen die vorhergesagten Werte . Um dieses Verfahren zu verstehen, siehe: Warum werden Residuendiagramme unter Verwendung der Residuen gegenüber den vorhergesagten Werten erstellt? . Y iriY^i

Andere Annahmen sind Linearität . Um diese zu überprüfen, zeichnen Sie die Residuen gegen jeden der Prädiktoren im Modell. Wenn Sie in diesen Darstellungen eine Krümmung sehen, ist dies ein Beweis gegen die Linearität. Wenn Sie Nichtlinearität feststellen, können Sie entweder einige Transformationen ausprobieren oder (moderner Ansatz) diesen nichtlinearen Prädiktor nichtlinear in das Modell aufnehmen, möglicherweise mithilfe von Splines (Sie haben 60 Millionen Beispiele, sollten also durchaus machbar sein! ).

Dann müssen Sie nach möglichen Interaktionen suchen. Die obigen Ideen können auch für Variablen verwendet werden, die nicht im angepassten Modell enthalten sind . Da Sie ein Modell ohne Interaktionen anpassen, das Interaktionsvariablen enthält, wie das Produkt für zwei Variablen , . Zeichnen Sie also die Residuen gegen all diese Interaktionsvariablen. Ein Blog-Beitrag mit vielen Beispielplots lautet http://docs.statwing.com/interpreting-residual-plots-to-improve-your-regression/ x zxizixz

Eine buchlange Behandlung ist R Dennis Cook & Sanford Weisberg: "Residuen und Einfluss auf die Regression", Chapman & Hall. Eine modernere Behandlung in Buchform ist Frank Harrell: "Regressionsmodellierungsstrategien".

Und kommen wir zu der Frage im Titel: "Kann eine baumbasierte Regression schlechter abschneiden als eine einfache lineare Regression?" Ja, natürlich kann es. Baumbasierte Modelle haben als Regressionsfunktion eine sehr komplexe Schrittfunktion. Wenn die Daten tatsächlich aus einem linearen Modell stammen (sich wie simuliert verhalten), können Schrittfunktionen eine schlechte Annäherung sein. Und wie Beispiele in der anderen Antwort zeigen, können baumbasierte Modelle außerhalb des Bereichs der beobachteten Prädiktoren schlecht extrapolieren. Sie können auch randomforrest ausprobieren und sehen, wie viel besser das ist als ein einzelner Baum.

kjetil b halvorsen
quelle
3
Nur zur Klarstellung: Wenn Sie "Randverteilungen" sagen, können Sie auch sagen, dass Sie die univariaten Verteilungen jeder Variablen betrachten, richtig? Sie sind "marginal" in dem Sinne, dass die Verteilungen am Rand eines Streudiagramms oder so etwas erscheinen würden.
Mark White
Eine andere Frage: Sie sagen: "Sie sollten die Daten nicht einfach auf verschiedene Algorithmen werfen und die Qualität der Vorhersagen überprüfen." Meine Frage ist: Warum? Wenn Sie die Genauigkeit von Testdaten überprüfen, ist dies der Fall. Wenn wir mehr an Vorhersagen interessiert sind, müssen wir uns keine Gedanken über Fehler vom Typ I oder ähnliches machen, die ein Problem darstellen würden, wenn wir an statistischer Signifikanz und mehreren Tests interessiert wären.
Mark White
Selbst wenn Sie sich nur endgültig für die Vorhersagen interessieren, sind Sie in der Lage, bessere Modelle zu entwickeln, wenn Sie die Daten besser verstehen. Versuchen Sie also zunächst, die Daten (und die einfachen Modelle, die an die Daten angepasst sind) besser zu verstehen, und dann sind Sie in einer viel besseren Position, um komplexere und hoffentlich bessere Modelle zu erstellen.
kjetil b halvorsen
9

Peter Ellis hat ein sehr einfaches Beispiel

Bild von verlinkter Seite hochgeladen

Dabei ist die lineare Regression besser als die Regressionsbäume und wird über die beobachteten Werte in der Stichprobe hinaus extrapoliert.

In diesem Bild sind die schwarzen Punkte die beobachteten Werte und die farbigen Punkte die vorhergesagten Werte. Die tatsächlichen Daten werden gemäß einer einfachen Linie mit etwas Rauschen erzeugt, sodass die lineare Regression und das neuronale Netzwerk eine gute Arbeit bei der Extrapolation über die beobachteten Daten hinaus leisten. Die baumbasierten Modelle tun dies nicht.

Bei 60 Millionen Datenpunkten sind Sie möglicherweise nicht mehr besorgt. (Die Zukunft überrascht mich immer wieder!) Aber es ist eine intuitive Illustration einer Situation, in der Bäume versagen werden.

Andy W.
quelle
Vielen Dank für die intuitive Antwort. Obwohl ich viele Datenpunkte habe, denke ich, dass sie nicht extrapoliert werden können, wenn man die Eigenschaften meiner Daten berücksichtigt!
Amityaffliction
da das NN-basierte Modell eine bessere Leistung als die lineare Regression aufweist.
Amityaffliction
Noch eine Frage. Ist das häufig auftretende Problem nichtparametrischer Regressionstechniken schwer zu extrapolieren?
Amityaffliction
Nicht parametrisch ist ein weites Netz. Zur Extrapolation müssen Sie eine zugrunde liegende kontinuierliche Funktion identifizieren. Baummodelle ähneln eher der Identifizierung vieler kleiner Schritte, daher folgen sie in diesem Beispiel nicht der Linie außerhalb des Bereichs der beobachteten Stichprobe.
Andy W
5

Es ist eine bekannte Tatsache, dass Bäume nicht geeignet sind, wirklich lineare Beziehungen zu modellieren. Hier ist eine Illustration (Abb. 8.7) aus dem ISLR-Buch : Abb. 8.7

Obere Reihe: Ein zweidimensionales Klassifizierungsbeispiel, bei dem die wahre Entscheidungsgrenze linear ist und durch die schattierten Bereiche angezeigt wird. Ein klassischer Ansatz, der eine lineare Grenze annimmt (links), übertrifft einen Entscheidungsbaum, der Teilungen parallel zu den Achsen ausführt (rechts).

Wenn Ihre abhängige Variable also mehr oder weniger linear von den Regressoren abhängt, würden Sie erwarten, dass "lineare Regression eine große Leistung erbringt".

Markus Loecher
quelle
2

Jeder auf Entscheidungsbäumen basierende Ansatz (CART, C5.0, zufällige Wälder, verstärkte Regressionsbäume usw.) identifiziert homogene Bereiche in Ihren Daten und weist den Mittelwert der in dieser Region enthaltenen Daten dem entsprechenden "Urlaub" zu. Sie sind also granular und müssen dann eine Reihe von Schritten in den Ausgaben anzeigen. Diejenigen, die auf „Wäldern“ basieren, zeigen dieses Phänomen nicht deutlich, aber es ist immer noch da. Die Aggregation einer großen Anzahl von Bäumen nuanciert es. Wenn ein bestimmter Wert außerhalb des ursprünglichen Bereichs liegt, wird das Datum dem "Urlaub" zugewiesen, der die im Trainingsdatensatz festgestellte extreme Bedingung enthält, und die Ausgabe ist folglich der Mittelwert der in diesem Urlaub enthaltenen Werte. Somit ist keine Extrapolation möglich. Übrigens sind ANNs schlechte Extrapolatoren. Du kannst nachschauen: Pichaid Varoonchotikul - Hochwasservorhersage mit Artificial Neural und Hettiarachchi et al. Die Extrapolation künstlicher neuronaler Netze zur Modellierung von Niederschlags-Abfluss-Beziehungen ist sehr anschaulich und im Netz leicht zu finden! Viel Glück!

Rafa_Mas
quelle