Scénario de test & Cas d'usage
Détection et atténuation des biais dans les modèles IA.
Découvrir toutes les actions de fairAIToolsCréation d'une table de prospects avec des informations démographiques, le statut de défaut de paiement réel et la probabilité de défaut prédite par le modèle.
| 1 | DATA casuser.CREDIT_PROSPECTS; |
| 2 | call streaminit(456); |
| 3 | DO i = 1 to 5000; |
| 4 | IF rand('UNIFORM') < 0.4 THEN ETHNICITY = 'GroupA'; |
| 5 | ELSE IF rand('UNIFORM') < 0.7 THEN ETHNICITY = 'GroupB'; |
| 6 | ELSE ETHNICITY = 'GroupC'; |
| 7 | P_DEFAULT = rand('UNIFORM'); |
| 8 | IF P_DEFAULT > 0.75 THEN LOAN_DEFAULT = 1; ELSE LOAN_DEFAULT = 0; |
| 9 | OUTPUT; |
| 10 | END; |
| 11 | RUN; |
| 1 | |
| 2 | PROC CASUTIL; |
| 3 | load |
| 4 | DATA=casuser.CREDIT_PROSPECTS outcaslib='casuser' replace; |
| 5 | QUIT; |
| 6 |
| 1 | PROC CAS; |
| 2 | fairAITools.assessBias |
| 3 | TABLE={name='CREDIT_PROSPECTS', caslib='casuser'}, |
| 4 | response={name='LOAN_DEFAULT'}, |
| 5 | sensitiveVariable={name='ETHNICITY'}, |
| 6 | predictedVariables={{name='P_DEFAULT'}}, |
| 7 | referenceLevel='GroupA', |
| 8 | event='1', |
| 9 | cutoff=0.5; |
| 10 | RUN; |
| 11 | QUIT; |
L'action doit produire des tables de métriques de biais (BiasMetrics, MaxBias) qui comparent les taux de faux positifs, faux négatifs et autres indicateurs clés pour 'GroupB' et 'GroupC' par rapport à 'GroupA'. Cela permet de quantifier précisément les disparités et de déterminer si le modèle est équitable selon les définitions choisies (ex: parité démographique, égalité des chances).