percentile assess

Performance-Vergleich von zwei Kreditrisikomodellen bei großem Datenvolumen mit Gruppierung

Scénario de test & Cas d'usage

Geschäftskontext

Eine Bank muss zwei konkurrierende Modelle zur Vorhersage von Kreditausfällen (ein etabliertes 'Champion'-Modell und ein neues 'Challenger'-Modell) vergleichen. Die Bewertung muss über ein großes Portfolio von 5 Millionen Krediten und für verschiedene Kreditprodukte ('HYPOTHEK', 'AUTOKREDIT') getrennt durchgeführt werden, um die Modellgüte pro Produktlinie zu analysieren. Die Performance der Berechnung ist entscheidend.
Über das Set : percentile

Präzise Berechnung von Perzentilen und Quantilen.

Entdecken Sie alle Aktionen von percentile
Datenaufbereitung

Erstellt eine große Tabelle `KREDIT_PORTFOLIO` mit einer Ausfall-Variable `DEFAULT_FLAG`, zwei Modell-Scores und einer Gruppierungsvariable `PRODUKT_TYP`.

Kopiert!
1DATA mycas.KREDIT_PORTFOLIO;
2 call streaminit(456);
3 array produkttypen[2] $10 ('HYPOTHEK', 'AUTOKREDIT');
4 DO i = 1 to 5000000;
5 PRODUKT_TYP = produkttypen[rand('INTEGER', 1, 2)];
6 P_DEFAULT_CHAMPION = rand('UNIFORM');
7 P_DEFAULT_CHALLENGER = P_DEFAULT_CHAMPION * (0.9 + rand('UNIFORM')*0.2); /* Leicht korreliert */
8 IF P_DEFAULT_CHAMPION > 0.9 THEN DEFAULT_FLAG = 1;
9 ELSE DEFAULT_FLAG = 0;
10 OUTPUT;
11 END;
12 drop i;
13RUN;

Étapes de réalisation

1
Ausführung der `assess`-Aktion zum Vergleich beider Modelle, gruppiert nach `PRODUKT_TYP`. Die `fitStatOut`-Tabelle wird für eine einfache Analyse der Ergebnisse verwendet.
Kopiert!
1PROC CAS;
2 percentile.assess /
3 TABLE={name='KREDIT_PORTFOLIO', groupBy={'PRODUKT_TYP'}},
4 response='DEFAULT_FLAG',
5 inputs={{name='P_DEFAULT_CHAMPION'}, {name='P_DEFAULT_CHALLENGER'}},
6 event='1',
7 method='ITERATIVE', /* Für bessere Performance bei großen Daten */
8 fitStatOut={name='risiko_vergleich_stats', replace=true};
9RUN;
10QUIT;

Erwartetes Ergebnis


Die Aktion erzeugt die Tabelle `risiko_vergleich_stats`. Diese Tabelle enthält Anpassungsstatistiken (Gini, KS, ASE etc.) für beide Modelle ('_INPUTVAR_'-Spalte) und für jeden `PRODUKT_TYP`. Die Bank kann so direkt vergleichen, welches Modell für Hypotheken- im Vergleich zu Autokrediten besser geeignet ist. Die Ausführung sollte aufgrund der `ITERATIVE`-Methode auch bei 5 Millionen Datensätzen performant sein.