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
- Skript öffnen oder speichern.
python3 labs/data_contract_monitoring.pyausführen.- 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 labelsGeprü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
- Challenges to the Monitoring of Deployed AI Systems · geprüft 2026-09-02