fairAITools assessBias

Bias-Bewertung bei großem Volumen für ein Versicherungsbetrugsmodell

Scénario de test & Cas d'usage

Geschäftskontext

Ein großes Versicherungsunternehmen verarbeitet täglich Millionen von Schadensmeldungen. Es muss ein neues Modell zur Betrugserkennung auf potenzielle Voreingenommenheit gegenüber Antragstellern aus verschiedenen geografischen Regionen (`REGION`) prüfen. Die Analyse muss auf einem großen Datensatz effizient durchgeführt werden.
Über das Set : fairAITools

Erkennung und Minderung von Verzerrungen in KI-Modellen.

Entdecken Sie alle Aktionen von fairAITools
Datenaufbereitung

Erstellt eine große Tabelle `Versicherungsfaelle` mit 1 Million Zeilen, um die Leistung zu testen. Die Daten simulieren Schadensmeldungen und enthalten eine Zielvariable `BETRUGSVERDACHT` (1=Betrug, 0=kein Betrug) und eine sensible Variable `REGION` mit vier Kategorien ('Nord', 'Süd', 'Ost', 'West').

Kopiert!
1DATA casuser.Versicherungsfaelle(keep=FALL_ID REGION ALTER SCHADENHOEHE ANZAHL_VORFAELLE BETRUGSVERDACHT);
2call streaminit(456);
3DO FALL_ID = 1 to 1000000;
4 seed_region = rand('UNIFORM');
5 IF seed_region < 0.4 THEN REGION = 'West';
6 ELSE IF seed_region < 0.7 THEN REGION = 'Süd';
7 ELSE IF seed_region < 0.9 THEN REGION = 'Nord';
8 ELSE REGION = 'Ost';
9 
10 ALTER = 18 + int(rand('UNIFORM')*70);
11 SCHADENHOEHE = 100 + rand('EXPONENTIAL')*5000;
12 ANZAHL_VORFAELLE = int(rand('POISSON', 2));
13 
14 score = -4 + (SCHADENHOEHE/10000) - (ALTER/50) + ANZAHL_VORFAELLE*0.8;
15 IF REGION = 'Ost' THEN score = score + 0.7; /* Bias einführen */
16 
17 prob = 1 / (1 + exp(-score));
18 BETRUGSVERDACHT = (rand('UNIFORM') < prob);
19 OUTPUT;
20END;
21RUN;

Étapes de réalisation

1
Training eines logistischen Regressionsmodells auf dem großen Datensatz.
Kopiert!
1PROC CAS;
2logistic.train
3 TABLE={name='Versicherungsfaelle'},
4 target='BETRUGSVERDACHT',
5 inputs={'ALTER', 'SCHADENHOEHE', 'ANZAHL_VORFAELLE'},
6 nominals={'REGION', 'BETRUGSVERDACHT'},
7 savestate={name='logistic_betrug_model', replace=true};
8RUN;
2
Ausführung der Bias-Bewertung auf dem 1-Millionen-Zeilen-Datensatz mit einem spezifischen Cutoff-Wert.
Kopiert!
1PROC CAS;
2fairAITools.assessBias
3 TABLE={name='Versicherungsfaelle'},
4 response={'name'='BETRUGSVERDACHT'},
5 sensitiveVariable={'name'='REGION'},
6 modelTable={name='logistic_betrug_model'},
7 predictedVariables={{name='P_BETRUGSVERDACHT1'}, {name='P_BETRUGSVERDACHT0'}},
8 responseLevels={'1', '0'},
9 event='1',
10 cutoff=0.65;
11RUN;

Erwartetes Ergebnis


Die Aktion `assessBias` wird erfolgreich auf dem 1-Millionen-Zeilen-Datensatz ausgeführt. Die Ausgabetabellen zeigen die Bias-Metriken für jede Region im Vergleich zum Gesamtdurchschnitt (da kein `referenceLevel` angegeben wurde). Die Ergebnisse werden unter Verwendung des angegebenen `cutoff` von 0.65 berechnet, was die Fähigkeit der Aktion demonstriert, auf großen Datenmengen zu arbeiten.