Drift (Data Drift / Model Drift)
Die schleichende Verschlechterung eines ML-Modells in Produktion, weil sich die Eingabedaten oder die Zusammenhänge zwischen Eingabe und Ausgabe über die Zeit verändern.
Eine Veränderung in der statistischen Verteilung der Eingabe-Features eines ML-Modells über Zeit – kann zu Leistungseinbußen führen, auch wenn das Modell selbst unverändert ist.
Feature Drift ist eine spezifische Form von Data Drift: Die statistischen Eigenschaften der Input-Features eines ML-Modells verändern sich über die Zeit. Das Modell wurde auf einer bestimmten Feature-Verteilung trainiert – wenn sich diese Verteilung in Produktion verschiebt, werden die Vorhersagen unzuverlässig. Feature Drift ist oft der erste Indikator, bevor sich Modell-Performance-Metriken verschlechtern.
Feature Drift bedeutet, dass sich die Eingabedaten deines Modells verändern, obwohl das Modell selbst unverändert bleibt. Das Modell wurde auf Daten von “gestern” trainiert, aber die Daten von “heute” sehen anders aus.
Beispiel:
Training (2023): Durchschnittsalter der Kunden = 35 Jahre
Produktion (2024): Durchschnittsalter der Kunden = 28 Jahre
-> Modell wurde nie auf jüngere Kunden trainiert
-> Vorhersagen werden unzuverlässig
Warum passiert das?
| Typ | Was ändert sich | Beispiel |
|---|---|---|
| Feature Drift | P(X) | Altersverteilung der Kunden |
| Concept Drift | P(Y|X) | Was “Kaufwahrscheinlich” bedeutet |
| Label Drift | P(Y) | Anteil positiver Klassen |
import numpy as np
def calculate_psi(expected, actual, bins=10):
"""Population Stability Index berechnen"""
expected_percents = np.histogram(expected, bins=bins)[0] / len(expected)
actual_percents = np.histogram(actual, bins=bins)[0] / len(actual)
psi = np.sum((actual_percents - expected_percents) *
np.log(actual_percents / expected_percents))
return psi
# PSI < 0.1: Kein Drift
# PSI 0.1-0.2: Leichter Drift
# PSI > 0.2: Signifikanter Drift
Produktion-Daten → Feature-Statistiken berechnen
↓
Mit Baseline vergleichen
↓
Drift erkannt? → Alert + Dashboard
↓
Schwellwert überschritten? → Retraining triggern
Feature Drift ist wie ein Wetterbericht, der auf historischen Daten basiert: Wenn sich das Klima ändert, werden die alten Muster unzuverlässig – auch wenn das Vorhersagemodell selbst perfekt funktioniert.
Eingabedaten verändern sich, Modell bleibt gleich → Performance sinkt
Unterschied zu Concept Drift: Features ändern sich, nicht die Beziehung zum Target
Erfordert kontinuierliches Monitoring und ggf. Retraining
E-Commerce
Kaufverhalten ändert sich saisonal oder durch Trends
Finanzwesen
Marktbedingungen und Kundenverhalten ändern sich
Fraud Detection
Betrugsmuster entwickeln sich weiter
Feature Drift: Die Eingabedaten ändern sich (z.B. Kunden werden älter). Concept Drift: Die Beziehung zwischen Features und Target ändert sich (z.B. was 'guter Kunde' bedeutet, ändert sich). Beides erfordert Retraining.
Statistische Tests (KS-Test, PSI) vergleichen die Verteilung der aktuellen Daten mit den Trainingsdaten. Signifikante Abweichungen deuten auf Drift hin.
Abhängig von der Anwendung: Echtzeit für kritische Systeme, täglich/wöchentlich für die meisten Anwendungen. Automatisiertes Monitoring mit Alerts ist empfehlenswert.