Abgrenzung und Erweiterung in der Vorhersagemodellierung

Viele Tableau-Benutzer verwenden die Vorhersagemodellierung wahrscheinlich gar nicht, geschweige denn suchen sie nach Möglichkeiten, um die Relevanz und Vorhersagequalität eines Vorhersagemodells zu verbessern. Dieser Artikel richtet sich an fortgeschrittene Benutzer, die sich für diesen Data Science-Bereich interessieren.

Zusätzlich zu den Standardargumenten wie Zielausdruck (die vorauszusagende Kennzahl) und Prädiktorausdruck (die Kennzahl und/oder die Dimensionen, die für die Vorhersage verwendet werden) können Sie zwei weitere Argumente zur Feinabstimmung Ihrer Vorhersagen hinzufügen: Lambda, einen Regularisierungsparameter und Augmentation. Dazu müssen Sie die neuen Argumente in die Syntax Ihrer Berechnung einfügen.

Welche Modelle nutzen Regularisierung und Augmentation?

Zur Erinnerung: Die Funktionen zur Vorhersagemodellierung in Tableau unterstützen drei Modelle: lineare Regression (auch bekannt als gewöhnliche Regression der kleinsten Quadrate oder OLS), regularisierte lineare Regression (oder Ridge-Regression) und gaußsche Prozessregression. Wenn Sie eine lineare Regression oder eine Ridge-Regression einsetzen, können Sie mit der Augmentation die Fähigkeit Ihrer Modelle verbessern, nichtlineare Muster aufzunehmen. Wenn Sie die Ridge-Regression verwenden, ist der Regularisierungsparameter ein Skalar, mit dem Sie den Regularisierungseffekt an Ihr Modell anpassen können.

Regularisierung und Augmentation sind nicht auf die gaußsche Prozessregression anwendbar.

Bevor wir die Regularisierung und Augmentation weiter diskutieren, lassen Sie uns diese beiden Modelle betrachten:

Die lineare Regression wird am besten dann eingesetzt, wenn es einen oder mehrere Prädiktoren gibt, für die eine lineare Beziehung zwischen der Vorhersage und dem Vorhersageziel besteht, wenn sie nicht von den gleichen zugrunde liegenden Bedingungen beeinflusst werden und nicht zwei Instanzen derselben Daten darstellen (z. B. Verkäufe, die in Dollar und in Euro ausgedrückt werden).

Die regularisierte lineare Regression wird verwendet, um die Stabilität zu verbessern, die Auswirkungen der Kollinearität zu reduzieren und die Recheneffizienz und Generalisierung zu steigern. In Tableau wird die L2-Abgrenzung verwendet. Weitere Informationen zur L2-Abgrenzung finden Sie in dieser Lektion zur Ridge-Regression.

Was ist Regularisierung?

Die Ridge-Regression ist eine besondere Art der regularisierten linearen Regression. Die Regularisierung erlegt einen Malus auf die Größe der Koeffizienten des Modells auf. Die Stärke der Regularisierung wird durch Lambda gesteuert, einen Skalar, der zur Feinabstimmung der Gesamtauswirkungen der Regularisierung verwendet wird. Je höher der Wert, desto schwerer die Strafe (d. h., desto größer die Abgrenzung).

Die Ridge-Regression löst einige der Probleme der linearen Regression:

  • Sie entfernt Pathologien, die durch Multikollinearität unter den Prädiktoren entstehen.

  • Wenn das Problem der kleinsten Quadrate schlecht konditioniert ist, z. B. wenn die Anzahl der Datenpunkte kleiner ist als die Anzahl der Funktionen, dann wählt Lambda eine eindeutige Lösung.

  • Dies ist eine Möglichkeit, die Generalisierung des linearen Modells zu verbessern.

Standardmäßig weist die Ridge-Regression in Tableau Lambda=0,5 auf, da dieser Wert in vielen Fällen gut funktioniert. Um den Lambda-Wert zu ändern, bearbeiten Sie einfach die Tabellenberechnung (siehe folgende Beispiele).

Was ist die Augmentation?

Die Augmentation in MODEL_QUANTILE und MODEL_PERCENTILE ist ein einfaches Beispiel für eine Datenaugmentation: Prädiktoren werden auf Polynome höheren Grades ausgedehnt. In Tableau gibt es einige Arten von Polynom-Augmentationen, die in die prädiktiven Modellierungsfunktionen integriert sind.

  • Bei zugeordneten Dimensionen erlauben Legendre-Polynome bis zum 3. Grad dem linearen Modell, quadratische und kubische Beziehungen zwischen dem augmentierten Prädiktor und der Antwort zu erfassen.

  • Bei Kennzahlen ermöglichen Hermite-Polynome 2. Grades dem linearen Modell, quadratische Beziehungen zwischen dem augmentierten Prädiktor und der Antwort zu erfassen.

Bei der linearen Regression werden nur zugeordnete Dimensionen standardmäßig mit Augmentation=on augmentiert; in der Ridge-Regression, bei der model=rl ist, werden standardmäßig nur Kennzahlen augmentiert. Um die Einstellung zu überschreiben und die Augmentation für jeden Prädiktor in Ihrer Berechnung zu deaktivieren, verwenden Sie Augmentation=off; dann werden keine Polynome höheren Grades hinzugefügt.

Das Ausschalten von Augmentierungen ist von Vorteil, wenn der Datensatz sehr klein ist, weil die Augmentierungen eventuell vorhandenes Rauschen in den Originaldaten überanpassen könnten, und auch weil die sich daraus ergebende Beziehung einfacher und intuitiver ist.

Hinweis: Die Augmentierung wird pro Prädiktor ein-/ausgeschaltet (d. h. innerhalb des Prädiktorarguments Ihrer Berechnung). Lambda (und Modell) werden auf der höheren Ebene (außerhalb von Prädiktorausdrücken) angewendet.

Konfigurieren von Lambda und Augmentation in Ihrer Berechnung

Nachdem Sie nun wissen, was Regularisierungsparameter (oder Lambda) und Datenaugmentation sind, wollen wir uns diese im Kontext einer Vorhersageberechnung ansehen:

MODEL_QUANTILE("model=rl, lambda=0.05", 0.5, SUM([Profit]), "augmentation=off", SUM([Sales]))

Im Folgenden finden Sie eine Tabelle, die kurz zusammenfasst, ob sich das Ändern der Augmentation und des Lambda aus der Standardeinstellung auf die linearen Modelle auswirkt:

 AugmentationLambda
Ridge-RegressionJaJa
Lineare RegressionJaNicht zutreffend

Überlegungen zur Regularisierung und Augmentation

  • Wenn Sie das falsche Modell für Ihre Daten einsetzen, dann wird das Ändern des Regularisierungsparameters oder der Augmentation wahrscheinlich nicht zu signifikant besseren Ergebnissen führen. Prüfen Sie, ob die Datentypen korrekt sind (Kennzahlen vs. Dimensionen). Wenn die zugrundeliegenden Daten beispielsweise eine Zeitreihe sind, sollten Sie stattdessen die gaußsche Prozessregression verwenden, indem Sie das Modell in Ihrer Tabellenberechnung in model=gp ändern.

  • Da die OLS nicht reguliert wird, gibt es keinen Lambdawert, der geändert werden kann.

  • Wenn Ihr Datensatz extrem klein ist und Sie Dimensionen (insbesondere Dimensionen mit hoher Kardinalität) haben, sollten Sie die Ridge-Regression verwenden, indem Sie der Tabellenberechnung model=rl hinzufügen.

  • Wenn alle Dinge gleich sind (für denselben Datensatz, wenn die Augmentation ein- oder ausgeschaltet ist), kann ein niedriges Lambda die Anpassung verbessern, aber die Generalisierung beeinträchtigen (d. h. zu einer Überanpassung führen).

  • Umgekehrt kann ein hoher Lambdawert dazu führen, dass die Anpassung ein konstantes Modell ist, ohne Abhängigkeit von einem der Prädiktoren. Dadurch wird die Modellkapazität reduziert (aufgrund von Unteranpassung).

Beispiel 1

Dieses Beispiel zeigt die Beziehung zwischen durchschnittlichem Cholesterinwert und Herzerkrankungen bei Männern und Frauen, wobei Männer durch Quadrate und Frauen durch Kreise dargestellt werden.

In der ersten Visualisierung zeigen die blauen Markierungen das Vorhersageziel an, und die orangefarbenen Markierungen sind die modellierten Werte. Sie können sehen, dass die Daten sehr verrauscht sind und dass bei eingeschalteter Augmentation und einem kleinen Lambdawert von 0,01 unrealistische Herzkrankheitsraten größer als 1 auftreten. Es besteht eine viel zu steile Abhängigkeit, wahrscheinlich aufgrund der vielen Ausreißer in den verrauschten Daten.

Herzerkrankungen nach Geschlecht mit Vorhersageziel und einem schlecht geeigneten Modell

MODEL_QUANTILE("model=rl, lambda=0.01", 0.5, AVG([Target]), ATTR([Sex]), "augmentation=on", AVG([Chol]))

In der nächsten Visualisierung vergleichen wir das Vorhersageziel mit einem anderen Modell, mit ausgeschalteter Augmentation und einem Lambda-Wert von 10. Beachten Sie, dass dieses Modell realistischer ist und dass keine Markierung eine Krankheitsrate von 1 überschreitet.

Herzerkrankungen nach Geschlecht mit Vorhersageziel und einem besseren Modell

MODEL_QUANTILE("model=rl, lambda=10", 0.5, AVG([Target]), ATTR([Sex]), "augmentation=off", AVG([Chol]))

Beispiel 2

Sehen wir uns als nächstes ein weiteres Beispiel aus der Praxis an, in dem Fahrerdaten für das Bike-Sharing-System Bluebikes (früher Hubway) in Boston verwendet werden. In diesem Fall funktioniert die lineare Regression gut. Vergleichen Sie die folgenden Visualisierungen, aggregiert nach Quartalen des Jahres 2017:

Diagramm der Hubway-Fahrerdaten ohne Überanpassung

MODEL_QUANTILE('model=rl, lambda=0.05', 0.5, sum([Trip.Duration]), AVG([Temp]))

Diagramm der Hubway-Fahrerdaten ohne Überanpassung

MODEL_QUANTILE('model=rl, lambda=0.05', 0.5, AVG([Speed]), AVG([Temp]))

Beide sind nicht sehr anfällig für eine Überanpassung, so dass die Abhängigkeit von Lambda bei einem kleinen Lambdawert schwach ist.

Sehen Sie sich nun diese letzte Visualisierung an:

Diagramm der Hubway-Fahrerdaten ohne Überanpassung

MODEL_QUANTILE('model=rl, lambda=2', 0.5, sum([Trip.Duration]), AVG([Temp]))

Beachten Sie, dass mit steigendem Lambdawert die Anpassung abflacht und keine Steigung mehr aufweist (d. h. sie wird überreguliert oder "unterangepasst").

Vielen Dank für Ihr Feedback!Ihr Feedback wurde erfolgreich übermittelt. Vielen Dank.