Scénario de test & Cas d'usage
Detección y mitigación de sesgos en modelos de IA.
Descubrir todas las acciones de fairAIToolsCrea una tabla de solicitantes de crédito con datos demográficos, financieros y el resultado de la solicitud. La tabla ya incluye la probabilidad de aprobación ('P_APROBADO') calculada por un modelo existente.
| 1 | DATA casuser.CREDIT_SCORES; |
| 2 | LENGTH GENERO $ 6; |
| 3 | call streaminit(123); |
| 4 | DO i = 1 to 2000; |
| 5 | IF rand('UNIFORM') > 0.4 THEN GENERO = 'Hombre'; ELSE GENERO = 'Mujer'; |
| 6 | EDAD = 20 + floor(rand('UNIFORM') * 45); |
| 7 | INGRESOS_ANUALES = 30000 + floor(rand('UNIFORM') * 70000); |
| 8 | DEUDA_EXISTENTE = INGRESOS_ANUALES * rand('UNIFORM') * 0.8; |
| 9 | P_APROBADO = 1 / (1 + exp(-(0.5 - (DEUDA_EXISTENTE / INGRESOS_ANUALES) * 2 + (EDAD / 100) + ifn(GENERO='Mujer', -0.1, 0.1)))); |
| 10 | IF P_APROBADO > 0.6 THEN APROBADO = 1; ELSE APROBADO = 0; |
| 11 | OUTPUT; |
| 12 | END; |
| 13 | RUN; |
| 1 | |
| 2 | PROC CASUTIL; |
| 3 | load |
| 4 | DATA=casuser.CREDIT_SCORES casout='CREDIT_SCORES' replace; |
| 5 | QUIT; |
| 6 |
| 1 | PROC CAS; |
| 2 | fairAITools.assessBias |
| 3 | TABLE={name='CREDIT_SCORES'}, |
| 4 | sensitiveVariable={name='GENERO'}, |
| 5 | response={name='APROBADO'}, |
| 6 | predictedVariables={{name='P_APROBADO'}}, |
| 7 | event='1', |
| 8 | referenceLevel='Mujer', |
| 9 | cutoff=0.6; |
| 10 | RUN; |
La acción debe generar un informe completo con métricas de equidad como 'Paridad Demográfica' y 'Paridad de Oportunidades'. Se espera que estas métricas revelen si existe una diferencia estadísticamente significativa en la tasa de aprobación entre hombres y mujeres, permitiendo al banco tomar medidas correctivas si se detecta un sesgo.