Cómo construir un sistema de detección de fraude

15 julio
Igor Kaufman, Head of ML/DS Practice
Cómo construir un sistema de detección de fraude
Mientras que la cantidad de datos continúa aumentando año tras año, los sistemas detectores de fraude basados ​​en reglas no logran mantenerse al día con la evolución de la tecnología. Actualmente, mucho se habla de los basados ​​en Inteligencia Artificial (IA), pero ¿cómo funcionan realmente? ¿Cuáles son los pasos que se deben seguir para construirlos? ¿Cómo se controla la toma de decisiones del sistema para asegurar su éxito?

En este artículo, Igor Kaufman ofrece una guía paso a paso para construir una plataforma de detección de fraude.

Paso 0. Preparación de datos

Los datos son el combustible del aprendizaje automático, y cuanto mejor es el combustible, más rápido puede correr el automóvil. Nos saltearemos la parte que describe cómo agregar, almacenar y transportar los datos, pasando directamente a lo que se debe hacer con ellos para hacer realidad la magia del Machine Learning (ML).

Es importante comenzar limpiando los datos para obtener un conjunto específico de características para el análisis. Por ejemplo, en los pagos, las características relevantes serían los detalles del comprador y del vendedor, el monto, el momento en que se envió la transacción, los datos bancarios y las IP, entre otros (de hecho, podría haber cientos de ellos). Cuanto más complejo sea el campo, más parámetros serán necesarios. Por lo tanto, cuanto mejor limpiemos los datos, eliminando características dependientes o correlacionadas, mejor será el rendimiento del algoritmo final. De lo contrario, sería difícil saber qué característica causó la predicción.

Por lo general, la preparación y exploración de datos puede llevar tanto o incluso más tiempo que el resto del proyecto ML.

Imagen técnica: los cuadrados rojos son características altamente correlacionadas, cuantos menos cuadrados rojos tengamos, mejor será la interpretación del modelo.

Paso 1. Aprendizaje supervisado (o qué se puede aprovechar de lo que ya se sabe)

 

Las empresas a menudo tienen algún tipo de sistema de detección de fraude. Si están basados ​​en reglas, pueden llegar a ser abrumadores debido a la cantidad que requieren y aun así tener dificultades para filtrar todos los casos sospechosos o basados ​​en IA, proporcionados por un proveedor externo que procesa datos confidenciales fuera de la infraestructura de la compañía.

Entonces, si se decide nivelar la protección y crear un sistema de detección de fraude interno, ¿hay alguna manera de aprovechar el conocimiento ya existente? De hecho, la hay. El aprendizaje automático supervisado significa que una persona le dice a la máquina lo que está mal y lo que está bien. Usando resultados confiables de los sistemas existentes, es posible acelerar el proceso de aprendizaje drásticamente.

Por lo general, hay una serie de algoritmos que podrían utilizarse. El objetivo principal es encontrar el que funcione mejor con un conjunto de datos específico y ajustar sus parámetros para obtener el mejor equilibrio de verdaderos positivos (fraude real), falsos positivos (marcados como fraude sin serlo) y falsos negativos (fraudes que no se identificaron como tal).

Existe un cuadro llamado matriz de confusión que los científicos de datos usan para optimizar algoritmos:

Imagen técnica: Matriz de confusión: ¿naranja o no?

Cuantos mejores números se obtengan aquí, más rápido el nuevo sistema podrá reemplazar a los obsoletos porque mejor ha aprendido de los datos históricos.

Paso 2. Detección de anomalía

¿Qué pasa si los algoritmos existentes no detectan varios de los elementos fraudulentos? Es por eso que estamos aquí: para encontrar registros sospechosos que podrían ser fraudulentos.

Para hacer eso, necesitamos agrupar todos los artículos, transacciones, pagos o lo que sea con lo que trabajemos. Los grupos pequeños y distantes serán los elementos sospechosos. Significa que el algoritmo de agrupación los marcó como no típicos. Puede que no sean necesariamente fraudulentos, pero merecen una mirada y un estudio más profundo.

Imagen técnica: Representación 3D de clusters. La dimensionalidad real puede ser cientos de D.

Luego, el experto en la materia podrá echar un vistazo a dichos grupos y confirmar que:

  • todos los registros no parecen ser legítimos y todas las transacciones nuevas que aparecen en este clúster deben bloquearse automáticamente; o
  • solo una parte de los registros son sospechosos, y deberíamos ajustar los parámetros del clúster o enviar todos estos registros sospechosos a un especialista humano para su revisión.

Paso 3. Análisis de series temporales y límites dinámicos

En general, el clustering se puede realizar en un conjunto de datos estático, pero el comportamiento esperado cambia con el tiempo. Los ingresos personales o comerciales pueden crecer, aumentando así los patrones de gasto. Además, los gastos pueden tener una naturaleza estacional, por ejemplo, el gasto es mayor durante la temporada de vacaciones. Estos patrones de comportamiento también deben adaptarse para garantizar que el sistema funcione bien. Se deben revisar las transacciones anormales mientras se ajusta el rango esperado dinámicamente, para acomodar la naturaleza evolutiva de las transacciones a lo largo del tiempo.

Predecir el corredor de bajo riesgo es un trabajo para los algoritmos de series temporales, comenzando por modelos de autorregresión más simples y pasando a modelos más sofisticados, como FBProphet (desarrollado por Facebook), que tiene en cuenta el factor de estacionalidad.

Imagen técnica: Línea azul oscuro: valores reales y esperados. Rango azul: desviación esperada. Puntos negros: valores reales. Los puntos negros fuera del rango son sospechosos.

Paso 4. Integración

Una vez que hemos preparado los datos y capacitado y probado el modelo, ¿cómo lo integramos con la infraestructura existente?

En cuanto a la tecnología, no hay nada complicado. El modelo ML se está incorporando al servicio (es decir, REST) ​​para tener una API, de modo que el resto del sistema pueda interactuar con él. Luego se debe probar e implementar (es decir, como un contenedor Docker), conectado a las fuentes de datos y a la interfaz de usuario de soporte de decisiones.

Desde el punto de vista de la gestión de riesgos y la validación, podría tener sentido ejecutar el nuevo sistema de detección de fraude y el antiguo (si existe) en paralelo para asegurarse de que el nuevo sea coherente. Además, se podría introducir la validación humana para mitigar el riesgo de decisiones equivocadas en la vida real, así como mejorar los modelos a través de capacitación supervisada adicional.

***

En DataArt, tenemos una sólida experiencia en el uso de IA/ML para construir plataformas de detección de fraude, así como sistemas predictivos y de recomendación. No dudes en contactarnos si estás buscando un socio técnico para construir un sistema de detección de fraude.