Sobes.tech
Middle — Senior

Was ist Distribution Drift und wie erkennt man ihn (KS-Test, PSI)?

sobes.tech KI

Antwort von AI

Distribution Drift ist eine Veränderung der Datenverteilung im Laufe der Zeit, die die Qualität des maschinellen Lernmodells verschlechtern kann, da das Modell auf einer Verteilung trainiert wurde, während in der Produktion die Daten aus einer anderen Quelle stammen.

Um Distribution Drift zu erkennen, werden häufig statistische Tests und Metriken verwendet:

  • KS-Test (Kolmogorov-Smirnov-Test) — ein nichtparametrischer Test, der zwei Stichproben vergleicht und prüft, wie stark ihre Verteilungen voneinander abweichen. Wenn der p-Wert des Tests niedrig ist, unterscheiden sich die Verteilungen signifikant.

  • PSI (Population Stability Index) — eine Metrik, die die Veränderung der Verteilung einer Variablen zwischen zwei Zeiträumen misst. Der PSI wird anhand der Bins der Verteilung berechnet und zeigt das Ausmaß der Verschiebung. Üblicherweise:

    • PSI < 0.1 — unbedeutende Verschiebung
    • 0.1 < PSI < 0.25 — mäßige Verschiebung
    • PSI > 0.25 — signifikante Verschiebung

Beispiel für die Verwendung des KS-Tests in Python:

from scipy.stats import ks_2samp

reference_data = [...]  # Daten aus der Trainingsstichprobe
current_data = [...]    # neue Daten

statistic, p_value = ks_2samp(reference_data, current_data)
if p_value < 0.05:
    print("Distribution Drift erkannt")
else:
    print("Verteilungen sind ähnlich")

Durch regelmäßiges Monitoring der Verteilungen mit dem KS-Test und PSI kann der Drift rechtzeitig erkannt und Maßnahmen ergriffen werden (z.B. Modell neu trainieren).