Zum Inhalt

Metriken der Regression

Mittlere quadratische Abweichung

Bestes Wert strebt gegen 0
Wertebereich: bis
Einfluss von Ausreißern: Kann die Metrik signifikant erhöhen.
Bedeutung: Zeigt den durchschnittlichen quadratischen Fehler zwischen Vorhersage und tatsächlichen Werten.
Anwendungsfälle: Modellanpassung und -training verfolgen.
Wann nicht anwenden: Bei Modellen mit unterschiedlichen Zielvariablenskalen.

Quadratwurzel der mittleren quadratischen Abweichung

Bestes Wert: strebt gegen 0
Wertebereich: bis
Einfluss von Ausreißern: Kann die Metrik signifikant erhöhen.
Bedeutung: Bietet ein Maß für den durchschnittlichen Fehler in den ursprünglichen Einheiten der Daten.
Anwendungsfälle: Modellanpassung und -training verfolgen.
Wann nicht anwenden: Bei Modellen mit unterschiedlichen Zielvariablenskalen.

Mittlere absolute Abweichung

Bestes Wert strebt gegen 0
Wertebereich: bis
Einfluss von Ausreißern: Erhöht die Metrik nur geringfügig.
Bedeutung: Zeigt den durchschnittlichen absoluten Fehler zwischen Vorhersage und tatsächlichen Werten.
Anwendungsfälle: Modellanpassung und -training verfolgen.
Wann nicht anwenden: Bei Modellen mit unterschiedlichen Zielvariablenskalen.

Bestimmtheitsmaß

Bestes Wert strebt gegen 1
Wertebereich: bis
Einfluss von Ausreißern: Hat kaum Einfluss auf die Metrik.
Bedeutung: Gibt an, in welchem Prozentsatz der Fälle das Modell genauer vorhersagt1 als der Durchschnitt der Zielvariable.
Anwendungsfälle: Vergleich zweier Regressionsmodelle.
Wann nicht anwenden: Wenn die numerische Größe des Fehlers bewertet werden muss.

Durchschnittliche quadratische Differenz (MSE)

Der Mean Squared Error (MSE) ist ein Maß für die durchschnittliche quadratische Differenz zwischen den tatsächlichen und den vorhergesagten Werten, was eine starke Gewichtung von Ausreißern bewirkt.

In dieser Formel ist:

  • die Anzahl der Beobachtungen in deinem Testdatensatz.
  • der tatsächliche Wert der -ten Beobachtung.
  • der vom Modell vorhergesagte Wert für die -te Beobachtung.

MSE mit Python

# 2024-03-30
from sklearn.metrics import (
    mean_squared_error,
)
# ...
mse = mean_squared_error(
    y_test,
    predictions,
)

Der MSE misst die durchschnittliche quadratische Differenz zwischen den tatsächlichen und den vom Modell vorhergesagten Werten. Ein niedrigerer MSE-Wert deutet auf ein besseres Modell hin, da dies bedeutet, dass die Differenz zwischen den tatsächlichen und den vorhergesagten Werten im Durchschnitt kleiner ist. Der MSE ist besonders nützlich, weil er leicht zu berechnen ist und häufig in der Optimierung von maschinellen Lernmodellen verwendet wird, allerdings neigt er dazu, größere Fehler stärker zu bestrafen als kleinere

Quadratwurzel von MSE (RMSE)

Der Root Mean Squared Error (RMSE) ist die Quadratwurzel des MSE und bietet eine Skalierung der Fehler im gleichen Maß wie die Zielvariable, was eine intuitive Interpretation der durchschnittlichen Fehlergröße ermöglicht.

RMSE mit Python

# 2024-04-05
from sklearn.metrics import (
    root_mean_squared_error,
    mean_squared_error, # *
)
# ...
rmse = root_mean_squared_error(
    y_test,
    predictions,
)

depricated = mean_squared_error(
    y_test,
    predictions,
    squared=False,  # *
)  
# * Seit v1.4 ist 'squared' veraltet
#   und wird in v1.6 entfernt werden.

Bedeutung der Quadratwurzel

Die Angabe von Einheiten im Quadrat, wie zum Beispiel , bei der Verwendung des Mean Squared Error (MSE) ist eine direkte Folge der Berechnungsmethode des MSE. Der MSE wird berechnet, indem die Differenzen zwischen den vorhergesagten Werten () und den tatsächlichen Werten () quadriert werden, bevor der Durchschnitt dieser quadrierten Differenzen gebildet wird.

Diese Quadrierung der Differenzen erfüllt zwei Zwecke:

  • Positive Werte


    Durch das Quadrieren der Differenzen werden alle Ergebnisse positiv, was nützlich ist, um sicherzustellen, dass Fehler in entgegengesetzte Richtungen sich nicht gegenseitig aufheben.

  • Größere Gewichtung größerer Fehler


    Größere Fehler erhalten durch das Quadrieren ein stärkeres Gewicht, was oft erwünscht ist, weil man in vielen Anwendungsfällen größere Fehler stärker bestrafen möchte als kleinere.

Die Verwendung von bspw. als Einheit macht es allerdings weniger intuitiv, die Größe des Fehlers zu verstehen. Deshalb wird oft der Root Mean Squared Error (RMSE) berechnet, indem man die Quadratwurzel aus dem MSE zieht. Dies hat den Vorteil, dass die Einheiten wieder in Euro (oder der ursprünglichen Maßeinheit) ausgedrückt werden, was eine direktere Interpretation der durchschnittlichen Fehlergröße ermöglicht.

Durchschnittliche absolute Differenz (MAE)

Der Mean Absolute Error (MAE) misst die durchschnittliche absolute Differenz zwischen den tatsächlichen und den vorhergesagten Werten, was eine lineare Gewichtung aller Fehler bedeutet und ihn weniger empfindlich gegenüber Ausreißern macht.

MAE mit Python

# 2024-03-30
from sklearn.metrics import (
    mean_absolute_error,
)
# ...
mae = mean_absolute_error(
    y_test,
    predictions,
)

Bestimmtheitsmaß

Der Bestimmtheitsmaß, auch Determinationskoeffizient genannt und oft mit (R-Quadrat) bezeichnet, ist eine statistische Kennzahl, die in der Regressionsanalyse verwendet wird. Er gibt an, welcher Anteil der Varianz der abhängigen Variable durch die unabhängigen Variablen im Regressionsmodell erklärt wird. Kurz gesagt, der Bestimmtheitsmaß misst die Güte der Anpassung eines Regressionsmodells an die beobachteten Daten

Der -Score wird wie folgt berechnet:

  • Hierbei ist der tatsächliche Wert,
    der vom Modell vorhergesagte Wert
    und der Durchschnittswert aller .

Auch ist die interpretation als soweit korrekt, wenn der mittlere quadratische Fehler ist und die Varianz der tatsächlichen Werte darstellt.

Der Wert von liegt (normalerweise2) zwischen 0 und 1:

  • Ein von 0 bedeutet, dass das Regressionsmodell die abhängige Variable nicht besser erklärt als das einfache Mittel der abhängigen Variable.
  • Ein von 1 bedeutet, dass das Regressionsmodell die abhängige Variable perfekt erklärt1, d.h., alle Punkte liegen exakt auf der Regressionsgeraden.

R² mit Python

from sklearn.metrics import (
    r2_score,
)
# ...
r2 = r2_score(
    y_test,
    predictions,
)

Ein negativer2 Wert für den Bestimmtheitsmaß () in der sklearn.metrics.r2_score Funktion von scikit-learn bedeutet, dass das Regressionsmodell schlechter ist als das einfache Mittel der abhängigen Variablen.


  1. In der Praxis deutet ein höherer -Wert darauf hin, dass das Modell einen größeren Teil der Varianz erklärt und daher eine bessere Anpassung an die Daten darstellt. Allerdings sollte mit Vorsicht interpretiert werden, da ein hohes nicht unbedingt auf ein kausal korrektes Modell hinweist oder dass das Modell für Vorhersagezwecke geeignet ist. Es ist auch wichtig zu beachten, dass das Hinzufügen weiterer Variablen zu einem Regressionsmodell in der Regel den -Wert erhöht, unabhängig davon, ob diese Variablen tatsächlich einen signifikanten Beitrag zur Erklärung der abhängigen Variable leisten. Deshalb werden oft angepasste -Werte verwendet, die die Anzahl der Prädiktoren im Modell berücksichtigen. 

  2. Ein negativer Wert für den Bestimmtheitsmaß bedeutet, dass das Regressionsmodell schlechter ist als das einfache Mittel der abhängigen Variablen. Mit anderen Worten, das Modell passt so schlecht zu den Daten, dass es weniger erklärende Kraft hat als das Modell, das einfach immer den Durchschnittswert der abhängigen Variablen als Vorhersage verwendet. Normalerweise zeigt ein -Wert von 0 an, dass das Modell keine Verbesserung gegenüber dem Durchschnittswert bietet, und Werte nahe 1 weisen auf eine hohe Erklärungskraft des Modells hin. Negative -Werte treten auf, wenn die Vorhersagefehler des Modells größer sind als die Varianz der abhängigen Variablen um ihren eigenen Mittelwert. Das deutet darauf hin, dass das Modell in der aktuellen Form für die Daten ungeeignet ist.

    Mögliche Ursachen für einen negativen -Wert könnten sein:

    • Das Modell ist nicht gut an die Daten angepasst (Underfitting).
    • Die gewählten unabhängigen Variablen stehen nicht in einem sinnvollen Zusammenhang zur abhängigen Variable.
    • Es gibt Ausreißer oder Fehler in den Daten, die das Modell negativ beeinflussen.
    • Die Modellannahmen (z.B. Linearität bei linearen Regressionen) sind verletzt.

    In solchen Fällen ist es ratsam, das Modell zu überprüfen, die Datenbereinigung zu verbessern oder andere Modelle bzw. Variablen zu testen.