CarmonaMaricela 2021 DeteccionFraudeFinanciero
CarmonaMaricela 2021 DeteccionFraudeFinanciero
CarmonaMaricela 2021 DeteccionFraudeFinanciero
Autor(es)
Maricela Carmona Mora
Leidy Marcela Londoño Morales
Universidad de Antioquia
Facultad de Ingeniería
Medellín, Colombia
2021
Modelos de machine learning para la detección de fraude financiero
Tesis o trabajo de investigación presentada(o) como requisito parcial para optar al título
de:
Especialista en Analítica y Ciencia de Datos
Asesores (a):
Efraín Alberto Oviedo
Magíster en TICs
Universidad de Antioquia
Facultad de Ingeniería
Medellín, Colombia
2021
TABLA DE CONTENIDOS
1. RESUMEN EJECUTIVO 3
2. DESCRIPCIÓN DEL PROBLEMA 4
2.1 PROBLEMA DE NEGOCIO 4
2.2 APROXIMACIÓN DESDE LA ANALÍTICA DE DATOS 5
2.3 ORIGEN DE LOS DATOS 5
2.4 MÉTRICAS DE DESEMPEÑO 6
3. DATOS 6
3.1 DATOS ORIGINALES 6
3.2 DATASETS 7
3.3 DESCRIPTIVA 8
4. PROCESO DE ANALÍTICA 12
4.1 PREPROCESAMIENTO 12
4.2 MODELOS 13
4.3 MÉTRICAS 16
5. RESULTADOS 17
5.1 MÉTRICAS 17
5.2 EVALUACIÓN CUALITATIVA 22
5.3 CONSIDERACIONES DE PRODUCCIÓN 25
6. CONCLUSIONES 26
7. BIBLIOGRAFIA 27
2
1. RESUMEN EJECUTIVO
El mayor reto presentado fue contar con un problema asociado al desbalanceo de los datos
en términos de los eventos de fraude, ya que dada la ocurrencia del evento es más confuso
poder identificar con mayor precisión el fraude y contar adicionalmente con las mejores
métricas para tomar decisiones acertadas y poder escoger el modelo a implementar.
Dentro de la solución se hace uso de la generación de datos sintéticos para balancear los
eventos de fraude y poder comparar los resultados de los modelos teniendo o no este tipo
de balanceo.
Los mejores resultados se obtienen mediante el uso de la Regresión Logística, sin tener en
cuenta el sobremuestreo.
3
2. DESCRIPCIÓN DEL PROBLEMA
El fraude contra el sistema financiero constituye un gran problema para los bancos ya que
ocasionan pérdida económica, pérdida de imagen y desconfianza de los clientes. En la
actualidad los delitos financieros representan uno de los problemas más graves para las
autoridades y las instituciones bancarias. Cada año un gran porcentaje de dinero es robado
por este tipo de actividades delictivas, así como también, son comprometidos los datos y la
privacidad de muchas personas.
Las entidades financieras están constantemente expuestas a las pérdidas económicas por
transacciones fraudulentas, lo cual las lleva a mejorar continuamente los procesos para
gestionar y prevenir dicho fraude. Se les hace necesario contar con estrategias
para detectar rápidamente las amenazas y estar un paso al frente de este delito, una
de éstas, es contar con modelos analíticos predictivos apropiados, que revelen
oportunamente las actividades sospechosas, adicional, contar con mecanismos que les
ayuden a reportar y escalar los eventos anormales.
Si las empresas son capaz de actuar para reducir al mínimo el efecto del fraude, las
pérdidas ocasionadas se reducirían al mínimo, y por lo tanto, este tipo de estudios podrían
marcar la diferencia dentro de las compañías, por lo que su importancia podría llegar a ser
vital para su futuro, y así poder conocer los patrones que definen a los clientes fraudulentos,
para poder actuar en consecuencia y generar regla de negocio que ayuden a mitigar estos
posibles eventos, evitando así futuros fraudes.
4
2.2 APROXIMACIÓN DESDE LA ANALÍTICA DE DATOS
En el dataset utilizado la mayor parte de las variables son continuas y serán utilizadas como
variables explicativas para modelizar la variable objetivo (isfraud), en total tenemos 11
variables:
5
2.4 MÉTRICAS DE DESEMPEÑO
Métricas de negocio:
- Disminuir la tasa de transacciones fraudulentas
- Aumentar el nivel de satisfacción de los clientes con respecto a la seguridad que le
brinda realizar transacciones bancarias
- Disminuir el riesgo del lavado de activos en una compañía financiera
- Aplicabilidad en la toma de decisiones asertivas
Al final esperamos que el modelo definido para detectar las transacciones fraudulentas
pueda identificar un alto porcentaje de ellas e impactar de manera positiva los indicadores
de la compañía y la confianza de los clientes, teniendo en cuenta que para el negocio es
mucho más riesgoso dejar pasar un fraude que detener una transacción sospechosa que
no era fraudulenta.
3. DATOS
6
Para acceder a dichos datos es necesario crear una cuenta en Kaggle
(https://www.kaggle.com). En el perfil ingresar a la opción: account, crear un nuevo api
token, el cual descargara un archivo .json, necesario para acceder a los datos.
La mayor parte de las variables son variables continuas que serán utilizadas como variables
explicativas para modelizar la variable objetivo, en total.
3.2 DATASETS
Además, se debe separar la variable objetivo del resto de variables, para la fase de
entrenamiento.
3.3 DESCRIPTIVA
Realizamos análisis descriptivo de las variables que tenemos en el dataset para tener un
mayor contexto del problema y poder entender el comportamiento transaccional cuando se
realiza un fraude, nuestra base inicial cuenta con 6 millones de transacciones que no
presentan fraude y sólo 8 mil transacciones marcadas como fraudes.
8
revisamos en qué transacciones se están ocasionando los fraudes vemos que es en Cash-
Out y Transfer donde se presentan.
9
como se muestra a continuación, isFlaggedFraud puede permanecer sin configurar a pesar
de que se cumpla esta condición.
10
Esta es la base final con la que vamos a trabajar:
Observamos que la variable más correlacionada con isFraud es oldbalanceOrg, con una
correlación de 0,347. Aunque las demás variables tienen correlaciones muy bajas no las
podemos despreciar ya que no contamos con más información para determinar las
transacciones de fraude.
Cuando revisamos las correlaciones entre las variables predictoras, lo ideal es que no se
presenten correlaciones altas; no obstante, las variables newbalanceDest y oldbalanceDest
11
tienen una correlación muy alta de 0.97, es decir, son prácticamente la misma variable, en
este caso podríamos excluir una de las dos, pero teniendo en cuenta el reducido número
de variables del Dataset empleado decidimos dejarlas.
4. PROCESO DE ANALÍTICA
4.1 PREPROCESAMIENTO
Ya que nuestra base está altamente desbalanceada vamos a realizar la modelación de dos
maneras diferentes y compararemos los resultados:
Antes de proceder a aplicar los algoritmos normalizamos todos los datos de las variables
categóricas, que se habían transformado, a matriz de enteros
12
4.2 MODELOS
Cada modelo considerado tendrá unos hiperparámetros que se ajustarán de una forma
adecuada para obtener el mejor resultado posible. Para ello se utilizará la técnica de ajuste
de búsqueda de rejilla (Grid Search), de forma que se entrenará cada modelo con la
combinación de modelos posible y posteriormente se evaluará con validación cruzada para
obtener la mejor combinación, y así, ahorrar tiempo, esfuerzo y recursos.
Este modelo clasifica las instancias según la probabilidad de pertenecer a alguno de los
valores de la variable respuesta, siempre encontrándose en la franja de 0 ó 1.
13
4.2.2. RANDOM FOREST
El random forest funciona como una combinación de árboles predictores en donde cada
árbol actuará como un árbol independiente
14
Los mejores estimadores del Grid son:
Las redes neuronales son una de las familias de algoritmos de Machine Learning. Se trata
de una técnica que se inspira en el funcionamiento de las neuronas de nuestro cerebro. Se
basan en que dados unos parámetros hay una forma de combinarlos para predecir un cierto
resultado. Los datos de entrada van pasando secuencialmente por distintas "capas" en las
que se aplican una serie de reglas de aprendizaje moduladas por una función peso. Tras
pasar por la última capa, los resultados se comparan con el resultado "correcto", y se van
ajustando los parámetros (dados por las funciones "peso"). Aunque los algoritmos y en
general el proceso de aprendizaje son complejos, una vez la red ha aprendido, puede
congelar sus pesos y funcionar en modo recuerdo o ejecución.
Adicional se puede utilizar la métrica Loss para penalizar las clases mayoritarias.
15
4.3 MÉTRICAS
𝑉𝑃 + 𝑉𝑁
𝐸𝑥𝑎𝑐𝑡𝑖𝑡𝑢𝑑 =
𝑉𝑃 + 𝐹𝑃 + 𝐹𝑁 + 𝑉𝑁
Donde;
Para nuestro caso de estudio teniendo en cuenta que los datos están altamente
desbalanceados el clasificador que siempre tiene cero tendrá una exactitud casi siempre
del 100% ya que casi el total de las observaciones pertenece a dicha clase. Por esto es
mejor usar métricas como la precisión y la sensibilidad, o una métrica combinada de ambas
como es el valor F.
!" !"
𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 = !"#$" 𝑆𝑒𝑛𝑠𝑖𝑏𝑖𝑙𝑖𝑑𝑎𝑑 = !"#$%
2 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 ∗ 𝑆𝑒𝑛𝑠𝑖𝑏𝑖𝑙𝑖𝑑𝑎𝑑
𝐹1 =
𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 + 𝑆𝑒𝑛𝑠𝑖𝑏𝑖𝑙𝑖𝑑𝑎𝑑
16
5. RESULTADOS
5.1 MÉTRICAS
Inicialmente se ejecutan los modelos con los datos desbalanceados sin aplicar ninguna
técnica de sobremuestreo, analizando las métricas de precisión y recall (sensibilidad) ya
que como se evidenciará en los resultados, la métrica de accuracy se puede ver sesgada
por la clase mayoritaria reflejando buenos resultados que no siempre son reales.
Se evidencia que el modelo acierta 2201 muestras y falla en 263, dando un recall
(sensibilidad) de 0.89, adicional se nota que la métrica f1-score es muy baja, en este punto
es cuando nos debemos preguntar qué es mejor para el negocio y para la empresa
financiera, tener que revisar los falsos positivos manualmente o fallar en la detección de los
verdaderos casos de fraude. Teniendo en cuenta la baja precisión que existe en relación
con una alta sensibilidad, se puede evidenciar una buena detección de la clase objetivo,
pero se está incluyendo muestras de la otra clase.
El riesgo de este caso se puede ver reflejado en la satisfacción del cliente, ya que se está
tomando como falso positivo 46595 transacciones; y en el tiempo dedicado por los analistas
para validar dichos casos, sin embargo, es el modelo que mejor detecta los fraudes.
17
● Modelo Random Forest
Se evidencia un resultado más bajo con el acierto de 1149 muestras, se nota un aumento
en la precisión y disminución en la sensibilidad en relación con el modelo anterior, con lo
que se puede concluir que el modelo no detecta la clase muy bien, pero cuando lo hace es
altamente confiable.
Con este modelo se evidencia una disminución tanto en la precisión como en la sensibilidad,
lo cual indica que dicho modelo no logra clasificar la clase correctamente.
18
● Modelo Red Neuronal
En este caso, el modelo realiza una buena detección de muestras, con una disminución de
falsos positivos, pero tiene desacierto en 1042 transacciones fraudulentas, lo cual no es
muy bueno para la compañía financiera.
En resumen y teniendo en cuenta los resultados de lo modelos sin datos sintéticos, el mejor
para el caso de detección de fraude, es la Regresión Logística ya que para el negocio es
mucho más riesgoso dejar pasar un fraude que detener una transacción sospechosa que
no era fraudulenta
19
En comparación con los resultados de este modelo aplicado en datos desbalanceados, no
se observa una diferencia significativa.
Teniendo en cuenta los bajos valores en las métricas de este modelo, podemos concluir
que no logran clasificar los fraudes correctamente aún con datos sintéticos.
20
Este modelo presenta un comportamiento similar al Random Forest, lo cual nos lleva a
deducir que no siempre la generación de datos sintéticos es el mejor camino para resolver
casos con datos desbalanceados, esto depende mucho del problema propiamente que se
esté tratando y su contexto.
Este modelo detecta bien los fraudes, pero tiene un alto número de falsos positivos.
Finalmente, comparando la eficiencia de los modelos con y sin datos sintéticos no tenemos
diferencias significativas en los resultados, pero si en el costo computacional y tiempo de
espera en las estimaciones de los parámetros ya que fueron bastante altos en comparación
al tiempo y validaciones sin sobremuestreo.
21
5.2 EVALUACIÓN CUALITATIVA
22
Gráfico 7. Curvas ROC de los modelos (Regresión Logística, Random Forest, Naive Bayes y la Red
Neuronal) en entrenamiento y prueba sin datos sintéticos
23
Curvas Roc utilizando técnicas de sobremuestreo (SMOTE)
24
Gráfico 8. Curvas ROC de los modelos (Regresión logística, Random Forest, Naive Bayes y Red
Neuronal) en entrenamiento y prueba CON datos sintéticos
Consideramos que para realizar una salida a producción es muy importante que se pueda
contar con la información transaccional en tiempo real, ya que el tema que estamos tratando
de detección de fraude requiere que sea identificado en el menor tiempo posible; y se tomen
las medidas adecuadas, ya sea en bloqueos de cuentas, cancelación de transacción o
posibles llamadas, para evitar los riesgos implícitos como son: lavado de dinero
reputacional y pérdidas de dinero.
Adicional tener en cuenta cada cuanto se le debe hacer backtesting al modelo y evaluar
que no se ha descalibrado y sigue dando los resultados esperados. Continuar evaluando
nuevas métricas de los modelos y si es posible, mejorar las condiciones que no impliquen
un alto costo computacional pero que tampoco se pierda valor en los resultados.
25
6. CONCLUSIONES
Se buscó implementar un modelo analítico que tuviera un buen ajuste a la hora de detectar
transacciones fraudulentas realizadas a través del sistema de billetera móvil, cuyo costo
operacional y tiempo de identificación fuera mínimo.
Partiendo del hecho que se cuenta con un dataset altamente desbalanceado y que existe
gran variedad de técnicas para afrontar dicho problema, con sus pro y sus contras, se
decide inicialmente aplicar varios modelos sin generar datos sintéticos y luego se aplicó la
técnica de sobremuestreo de minorías (SMOTE). Adicional se aplican las métricas de
exactitud, precisión y sensibilidad, dando mayor credibilidad a las dos últimas, ya que para
este tipo de datos resulta poco válida la métrica de exactitud, porque puede generar datos
engañosos por dicho desbalanceo, lo cual se evidencia en el resultado de los modelos
implementados.
La ejecución de los modelos utilizando datos sintéticos se puede ver afectada por el alto
consumo de memoria, lo cual no es muy bueno para los casos de detección de fraude, ya
que se necesita tener los resultados de forma rápida y oportuna.
Es importante tener en cuenta que la base con la que se trabaja tiene una gran cantidad de
transacciones, que al implementar técnicas o modelos analíticos como una máquina de
soporte vectorial (SVM) o realizar técnicas de sobremuestreo implican un costo
computacional muy grande para lograr detectar de manera rápida aquellas transacciones
que puedan ser fraude.
26
Como aprendizaje dentro de este trabajo nos queda la posibilidad no de trabajar con todo
el dataset sino realizar una muestra aleatoria que nos permita operar muchos más modelos
que puedan correr de manera fácil y rápida en una máquina convencional.
7. BIBLIOGRAFIA
27