Saltar al contenido

M12- Detección de Fraude en Pagos de Tarjeta de Crédito

Tutor: Pablo Torres
p.torres.mentoria@gmail.com

Descripción

El objetivo principal de este proyecto es poder generar un modelo a través de técnicas de ML que nos ayude en la tarea de clasificación de transacciones o “compras” fraudulentas con tarjetas de crédito. A través del análisis de las transacciones con tarjetas de crédito acumuladas a lo largo de un período de dos días, nos propondremos la construcción de un modelo que nos permita resolver este problema de clasificación binario, es decir, si algo es o no fraude.

Este tema es interesante porque...

Este tema es interesante desde un punto de vista académico, porque nos brinda la oportunidad de trabajar con un conjunto de datos tal y como aparece en el “mundo real”. El conjunto está desbalanceado en relación a los pagos fraudulentos, lo que nos obliga primero a preparar estos datos antes de entrenar un modelo, utilizando en el proceso todas las herramientas de formas creativas.
Pero desde un punto de vista social y económico, esta clase de problemas ocupan un lugar privilegiado en la agenda de tanto corporaciones crediticias como de empresas de tecnología financiera. Las pérdidas económicas y los litigios generados por esta clase de eventos crecen año a año, y tanto la industria como los estados están dispuestos a invertir cada vez más dinero en prácticas efectivas contra la prevención del fraude.

Trataremos de responder algunas de las siguientes preguntas

Trataremos de responder algunas de las siguientes preguntas
Considerando que el problema de la detección de fraude es interesante tanto a un nivel teórico en relación con la ciencia de datos como en otros niveles como el económico en relación al negocio de las transacciones financieras, a lo largo de los prácticos intentaremos responder las siguientes problemáticas:

– ¿Con qué frecuencia ocurren estos eventos en el mundo?
– ¿Qué variables nuevas podemos construir a partir de estos eventos que nos ayuden a modelar mejor a la población de pagos fraudulentos?
– ¿Afecta el hecho de su escases a los modelos que podemos entrenar?
– ¿Qué métricas conviene considerar a la hora de analizar la performance de nuestro modelo y cuáles conviene evitar?
– Dada la naturaleza del problema, ¿qué otras consideraciones -además de las métricas de perfomance de cada modelo- nos pueden ayudar a elegir entre distintas arquitecturas de modelos? Esto es, un modelo no solo es bueno cuando identifica la mayor cantidad de fraude, sino también cuando dentro de ese fraude que identifica, captura cierta subpoblación que es de nuestro interés, por ejemplo, los pagos fraudulentos con montos de dinero alto.

Datos

Este conjunto de datos contiene transacciones “compras”-realizadas con tarjetas de crédito en septiembre de 2013 por los titulares de dichas tarjetas, por un lado, y por fraudsters (estafadores de tarjeta de crédito) por otro. Los datos presentan transacciones que ocurrieron en dos días, donde tenemos solo 492 fraudes de 284,807 transacciones. El conjunto de datos está muy desbalanceado, la clase positiva (fraudes) representa el 0,172 % de todas las transacciones. Otro dato a tener en cuenta: debido a que este tipo de datos de pagos de tarjeta de crédito suelen contener información confidencial de los clientes y las empresas, las variables que vamos a encontrar son el resultado de la descomposición por PCA (es decir que vamos a lidiar con variables numéricas de las cuales no tenemos información conceptual adicional). En total tenemos 28 variables numéricas representando a los 28 componentes más importantes, y además tenemos dos variables definidas: Time y Amount (tiempo trascurrido desde la primer transacción y monto de la transacción).
Si querés inspeccionar el conjunto de datos, lo encontrarás en: https://github.com/p-eleuterio/card-fraud-detection-2022.

Hitos de la Mentoría

Entrega 20/05 – Práctico de análisis y visualización, que consistirá en puntualizar la implicancia del PCA en las variables que tenemos. Visualización de la distribución de fraudes en relación a Amount y Time a través de boxplot y distribución simétrica.
Entrega 17/06 – Práctico de análisis exploratorio y curación de datos, que consistirá en análisis de estadísticos básicos sobre las variables conocidas. Luego aplicaremos un Information Value sobre todas las variables para determinar las más estables. También probaremos la construcción de nuevas variables a partir de “Time” y “Amount”.
Entrega 24/06 – Video de presentación intermedia del proyecto y dataset.
Entrega 29/07 – Práctico aprendizaje supervisado, que consistirá en balancear el dataset a través de alguna de las técnicas disponibles. Una vez balanceado se entrenarán al menos tres arquitecturas de modelos distintas (regresión logística, decisión tree, XGBoost) para comparar su rendimiento a través de al menos dos métricas distintas.
Entrega 26/08 – Práctico aprendizaje no supervisado, que consistirá en utilizar al menos una metodología de clustering (k-means) para poder agrupar casos de fraude en diversas subpoblaciones y utilizar esta información para crear nuevas variables.
Entrega 23/09 – Video de presentación final de mentoría.
Jornadas 11/11 y 12/11 – Presentación de mentorías.

Integrantes del grupo 1
David Baulina - Javier Carabajal
Hugo Folonier - Melani Tula.
Integrantes del grupo 2
Ernesto Romero - María Mercedes Silva
Agustín Trulli.