Examinando y detectando sesgos en un conjunto de datos de incumplimiento de tarjetas de crédito
Analizando y detectando sesgos en un dataset de impago de tarjetas de crédito
Hay muchas fuentes de sesgo en el aprendizaje automático. Aquellos arraigados en las verdades que los datos representan, como los sesgos sistémicos y estructurales, conducen a sesgos de prejuicio en los datos. También hay sesgos arraigados en los datos, como los sesgos de muestra, exclusión, asociación y medición. Por último, hay sesgos en las ideas que derivamos de los datos o modelos con los que debemos tener cuidado, como el sesgo de conservadurismo, el sesgo de prominencia y el error fundamental de atribución.
Esta sección es un extracto de mi libro más reciente, Aprendizaje automático interpretable con Python, Segunda Edición. Puedes encontrar el código de esta sección aquí.
Para este ejemplo, para desentrañar correctamente tantos niveles de sesgo, debemos conectar nuestros datos con datos del censo (Las comparaciones de técnicas de minería de datos para la precisión predictiva de la probabilidad de impago de los clientes de tarjetas de crédito. Expert Systems with Applications, 36(2), 2473-2480) para Taiwán en 2005 y datos históricos de préstamos divididos por demografía. Luego, utilizando estos conjuntos de datos externos, controlar las condiciones del contrato de la tarjeta de crédito, así como el género, el ingreso y otros datos demográficos, para determinar si los jóvenes, en particular, fueron objeto de tarjetas de crédito de alto interés para las que no deberían haber calificado. También tendríamos que rastrear el conjunto de datos hasta los autores y consultar con ellos y con los expertos en el campo para examinar el conjunto de datos en busca de problemas de calidad de datos relacionados con sesgos. Idealmente, estos pasos serían necesarios para validar la hipótesis, pero eso sería una tarea monumental que requeriría varias explicaciones de capítulos.
Por lo tanto, en aras de la celeridad, aceptamos la premisa de este capítulo tal como está. Es decir, debido a prácticas de préstamo predatorias, ciertos grupos de edad son más vulnerables al impago de tarjetas de crédito, sin culpa propia. También aceptaremos la calidad del conjunto de datos tal como está. Con estas advertencias en su lugar, significa que si encontramos disparidades entre grupos de edad en los datos o cualquier modelo derivado de estos datos, se puede atribuir únicamente a prácticas de préstamo predatorias.
- Inflection-2 supera a PaLM-2 de Google Un avance en los modelos de lenguaje de IA
- 5 Técnicas de Optimización de Código Para Acelerar tus Programas
- Esta investigación de IA proveniente de China presenta GS-SLAM un enfoque novedoso para mejorar el mapeo y la localización en 3D.
También hay dos tipos de equidad, que se describen aquí:
- Equidad procesal: Esto se trata de un trato justo o igualitario. Es difícil definir este término legalmente porque depende mucho del contexto.
- Equidad de resultados: Esto se trata únicamente de medir resultados justos.
Estos dos conceptos no son mutuamente excluyentes, ya que el procedimiento puede ser justo pero el resultado injusto, o viceversa. En este ejemplo, el procedimiento injusto fue la oferta de tarjetas de crédito de alto interés a clientes no calificados. Sin embargo, nos centraremos en la equidad de resultados en este capítulo.
Cuando discutimos el sesgo en el aprendizaje automático, afectará a grupos protegidos, y dentro de estos grupos, habrá grupos privilegiados y desfavorecidos. Este último es un grupo que se ve afectado negativamente por el sesgo. También hay muchas formas en las que se manifiesta y, por lo tanto, se aborda el sesgo, como se indica a continuación:
- Representación: Puede haber falta de representación o sobre-representación del grupo desfavorecido. El modelo aprenderá demasiado poco o demasiado sobre este grupo en comparación con los demás.
- Distribución: Las diferencias en la distribución de características entre grupos pueden hacer que el modelo establezca asociaciones sesgadas que pueden afectar los resultados del modelo directa o indirectamente.
- Probabilidad: Para problemas de clasificación, las discrepancias en el equilibrio de clases entre grupos pueden llevar al modelo a aprender que un grupo tiene una mayor probabilidad de pertenecer a una clase u otra. Esto se puede observar fácilmente a través de matrices de confusión o comparando sus métricas de clasificación, como tasas de falsos positivos o falsos negativos.
- Híbrido: Una combinación de cualquiera de las manifestaciones anteriores.
Las estrategias para cualquier manifestación de sesgo se discuten en el capítulo 11 del libro, pero el tipo que abordamos en esta sección se refiere a disparidades con probabilidad para nuestro atributo protegido principal (_AGE
). Observaremos disparidades en los datos para la característica protegida a través de visualizaciones.
Sin más preámbulos, pasemos a la parte práctica de esta sección.
Visualizando el sesgo en el conjunto de datos
Los propios datos cuentan la historia de qué tan probable es que un grupo pertenezca a una clase positiva en comparación con otro. Si se trata de una característica categórica, estas probabilidades se pueden obtener dividiendo la función value_counts()
para la clase positiva entre todas las clases. Por ejemplo, para el género, podríamos hacer lo siguiente:
El fragmento anterior produce la siguiente salida, que muestra que los hombres tienen, en promedio, una mayor probabilidad de incurrir en impago de su tarjeta de crédito:
El código para hacer esto para una característica continua es un poco más complicado. Se recomienda usar qcut
de pandas para dividir primero la característica en cuartiles y luego usar el mismo enfoque utilizado para las características categóricas. Afortunadamente, la función plot_prob_progression
hace esto por ti y traza la progresión de las probabilidades para cada cuartil. El primer atributo es una serie pandas, una matriz o lista con la característica protegida (_AGE
), y el segundo es lo mismo pero para la característica objetivo (IS_DEFAULT
). Luego elegimos el número de intervalos (x_intervals
) que estamos estableciendo como cuartiles (use_quartiles=True
). El resto de los atributos son estéticos, como la etiqueta, el título y agregar una mean_line
. El código se puede ver en el siguiente fragmento:
El código anterior produjo la siguiente salida, que muestra cómo los más jóvenes (21-25
) y los más viejos (47-79
) tienen más probabilidades de incurrir en impago. Todos los demás grupos representan poco más de una desviación estándar respecto a la media:
Figura 1: Probabilidad de impago de tarjeta de crédito según _AGE
Podemos llamar a los cuartiles más jóvenes y más viejos el grupo desfavorecido y a todos los demás el grupo privilegiado. Para detectar y mitigar la injusticia, es mejor codificarlos como una característica binaria, y eso es precisamente lo que hemos hecho con AGE_GROUP
. Podemos aprovechar nuevamente la función plot_prob_progression
, pero esta vez con AGE_GROUP
en lugar de AGE
, y vamos a reemplazar
los números con etiquetas que podamos interpretar más fácilmente. El código se puede ver en el siguiente fragmento:
El fragmento anterior produjo la siguiente salida, en la que las disparidades entre ambos grupos son muy evidentes:
Figura 2: Probabilidad de impago de tarjeta de crédito según AGE_GROUP
A continuación, volvamos a incluir a GENDER
. Podemos utilizar plot_prob_contour_map
, que es similar a plot_prob_progression
pero en dos dimensiones, codificando con colores las probabilidades en lugar de dibujar una línea. Por lo tanto, los primeros dos atributos son las características que queremos en el eje x (GENDER
) y en el eje y (AGE_GROUP
), y el tercero es el objetivo (IS_DEFAULT
). Dado que ambas características son binarias, es mejor usar plot_type='grid'
en lugar de contorno. El código se puede ver en el siguiente fragmento:
El fragmento anterior genera la siguiente salida. Es evidente de inmediato cómo el grupo más privilegiado son las mujeres de 26 a 47 años, seguidas de sus contrapartes masculinas separadas por aproximadamente un 3-4%. Lo mismo ocurre con el grupo de edad desfavorecido:
Figura 3: Cuadrícula de probabilidad de impago de tarjeta de crédito según GENDER
y AGE_GROUP
La diferencia de género es una observación interesante, y podríamos plantear varias hipótesis sobre por qué las mujeres incurren menos en impagos. ¿Acaso son simplemente mejores gestionando la deuda? ¿Esto tiene que ver con su estado civil o educación? No profundizaremos en estas preguntas. Dado que solo conocemos la discriminación basada en la edad, solo utilizaremos AGE_GROUP
en grupos privilegiados pero mantendremos GENDER
como una característica protegida.
Conclusión
En este análisis, descubrimos evidencia clara de sesgo en contra de los titulares de tarjetas de crédito más jóvenes y mayores, quienes tenían más probabilidades de incurrir en impagos de sus tarjetas. Esto probablemente se debió a prácticas de préstamo predatorias que apuntaron a estos grupos con créditos de alto interés para los que no debían haber calificado. Después de visualizar el sesgo utilizando gráficos de probabilidad y métricas de equidad, se podrían implementar estrategias de mitigación para crear un modelo de aprendizaje automático más equitativo. Sin embargo, aún se necesita más trabajo para abordar las causas subyacentes y evitar la creación de conjuntos de datos sesgados desde un principio. Explora este tema más a fondo en el libro Machine Learning Interpretable con Python, Segunda Edición.
We will continue to update Zepes; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Revolucionando el arte digital Investigadores de la Universidad Nacional de Seúl introducen un enfoque novedoso para la creación de collages utilizando el aprendizaje por refuerzo.
- Esta Investigación de IA presenta GAIA un referente que define el próximo hito en la competencia general de IA
- Aprende cómo evaluar el riesgo de los sistemas de IA
- Amazon presenta Q un chatbot de inteligencia artificial generativa que puede adaptarse específicamente a un negocio
- Investigadores de Meta AI presentan la personalización de estilo una receta de texto a pegatina para ajustar modelos de difusión latente (LDM) en un dominio distinto, con alta calidad visual.
- Coraje para aprender ML Desmitificando la Regularización L1 y L2 (parte 3)
- Conoce GPT Crawler una herramienta de IA que puede rastrear un sitio para generar archivos de conocimiento y crear un GPT personalizado a partir de una o varias URL.