Engineering & Betrieb · ausführbarer Walkthrough

Mini-Lab: Datenvertrag & Drift-Triage

Ein Standardbibliothek-Lab blockiert Schema-/Grain-Verstöße und trennt Verteilungsalarm von Performanceurteil.

LernempfehlungZuletzt fachlich geprüft: 2026-09-02
Allgemeines Lernbeispiel

Die Datensätze sind im Skript konstruiert und keine APKV-Daten. Schwellen demonstrieren Mechanik, nicht universelle Produktionsgrenzen.

Ziel & Voraussetzungen

Ziel: Spalten, eindeutige IDs, Wertebereich und Missingness als harten Vertrag prüfen; danach Population Stability Index (PSI) für zwei feste Score-Bins berechnen und korrekt einordnen.

  • Python 3, nur Standardbibliothek.
  • Referenz: zehn eindeutige Zeilen, 60% Scores im niedrigen Bin.
  • Aktuell: zehn eindeutige Zeilen, 20% im niedrigen Bin.

Ausführen

  1. Skript öffnen oder speichern.
  2. python3 labs/data_contract_monitoring.py ausführen.
  3. Danach eine ID duplizieren oder einen Score über 1 setzen: Der Vertrag muss vor PSI abbrechen.

Erwartetes Ergebnis

Contract reference: PASS (10 rows)
Contract current: PASS (10 rows)
Reference bins: [0.6, 0.4]
Current bins: [0.2, 0.8]
PSI: 0.716704
Triage: distribution alert; performance impact unknown without labels

Geprüfte Rechnung: (0,2−0,6)·ln(0,2/0,6)+(0,8−0,4)·ln(0,8/0,4)=0,439445+0,277259=0,716704.

Fallstricke

  • PSI-Schwellen sind keine Naturkonstanten; Baseline, Bins, n und Saison bestimmen das Signal.
  • Verteilungsdrift beweist weder Concept Shift noch Performanceverlust.
  • Erst Vertrag, dann Monitor: kaputtes Schema nicht als statistische Drift behandeln.
  • Das Skript schreibt keine Dateien; Aufräumen ist nicht nötig.

Transferfrage

Welche frühen Signale, späteren Outcome-Metriken, Subgruppen, Owner, Kadenz, Alert-Routing und Fallbacks würdest du für einen konkreten Workflow ergänzen?

Belege auf dieser Seite

  1. Hidden Technical Debt in Machine Learning Systems · geprüft 2026-09-02
  2. Challenges to the Monitoring of Deployed AI Systems · geprüft 2026-09-02