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?
regression
modeling
deep-learning
model
cart
Amityaffliction
quelle
quelle
Antworten:
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
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 irich Y^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 zxi⋅zi x z
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.
quelle
Peter Ellis hat ein sehr einfaches Beispiel
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.
quelle
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 :
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".
quelle
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!
quelle