¿Qué técnicas de aprendizaje automático ha utilizado para la detección de fraudes y por qué? ¿Prefieres las técnicas estadísticas frente a la inteligencia artificial?

Déjame responder tu pregunta en dos partes:

  1. Cómo es trabajar en el equipo de ciencia de datos de detección de fraude.
  2. ¿Cuáles son las técnicas estadísticas y de aprendizaje automático comunes para la detección de fraudes? Junto con algunos códigos en Python y R.

Cómo es trabajar en el equipo de ciencia de datos de detección de fraude.

Permítanme comenzar con una cita de Christopher McDougall: “Cada mañana en África, una gacela se despierta, sabe que debe superar al león más rápido o será asesinada. Todas las mañanas en África, un león se despierta. Sabe que debe correr más rápido que la gacela más lenta, o morirá de hambre. No importa si eres el león o una gacela, cuando salga el sol, será mejor que estés corriendo.

Trabajar en el análisis de fraude es de la misma manera. Los estafadores deben ser más rápidos / inteligentes que la compañía más lenta para hacer un asesinato. Una empresa tiene que ser mejor que el estafador más inteligente para evitar ser una víctima …

La analítica y la ciencia de datos desempeñan un papel fundamental en las actividades de detección y prevención de fraude. El trabajo que se realizará en el equipo de análisis de fraude es muy similar al trabajo que realiza el profesional de análisis de riesgo.

Sin embargo, como profesional de análisis de fraudes, también se le requerirá que realice un trabajo de detective para descubrir diferentes modos de operación (MO) de los estafadores y mantenerse un paso por delante de ellos. Básicamente, los mejores profesionales de análisis de fraude deberían poder pensar como un estafador / hacker.

¿Cuáles son las técnicas estadísticas comunes para la detección de fraudes? Junto con algunos códigos en Python y R.

Aunque el fraude afecta a todas las industrias, los servicios bancarios y financieros tienen varios casos de uso que podemos aprovechar para obtener una mejor comprensión de la detección del fraude. Aquí hay un buen artículo de Delloite sobre las tendencias en el fraude bancario indio

Frauds_BFSI.pdf

Aquí hay otro gran artículo del instituto SAS.

http://support.sas.com/resources…

Con respecto a las técnicas estadísticas, se deben utilizar técnicas supervisadas y no supervisadas para la detección de fraudes.

El aprendizaje supervisado se usa generalmente para buscar datos históricos y construir un modelo de clasificación que se pueda usar para clasificar incidencias futuras en las clases “Fradulentas” versus “No Fradulentas”.

Por otro lado, el aprendizaje no supervisado se utiliza cuando los MO de los estafadores están evolucionando y necesitamos identificar nuevos patrones o detección de anomalías (valores atípicos).

Aquí hay algunas técnicas estadísticas específicas que me gustaría destacar. Primero nos centraremos en el aprendizaje profundo y luego en otras técnicas estadísticas comunes.

Redes profundas supervisadas utilizando MLP, LSTM o CNN. Puede encontrar enlaces a continuación muy útiles para obtener una mejor comprensión y construir redes profundas. La tendencia hacia el uso de redes profundas para la detección de fraudes está impulsada por muchos factores:

  • Big Data (volumen, velocidad, variedad). ¡Según IBM, el 90% de los datos que tenemos en el mundo hoy se han generado en los últimos 2 años! Todos los días estamos generando 2,5 bytes quintilianos (2,500,000 terabytes) de datos. Estos datos provienen de todas partes, como redes sociales, sensores, transacciones, imágenes, videos, etc. Se espera que el crecimiento de estos datos crezca exponencialmente en las próximas décadas.
  • Velocidad de cómputo más rápida y almacenamiento de datos económico: el costo y la capacidad de almacenamiento se ajustan a la ley de Moore: el almacenamiento por unidad de área se duplica aproximadamente cada 2 años y se reduce a la mitad.
  • Decisiones personalizadas y en tiempo real: el cliente actual desea tener un producto o servicio adecuado en el momento correcto y en el lugar correcto. El aprendizaje automático y el aprendizaje profundo facilitan las decisiones basadas en análisis en tiempo real que aportarán el máximo valor para los clientes y las empresas por igual.
  • Multimodalidad y heterogeneidad : los datos provienen de diferentes plataformas y en todas las formas y formas, como videos, texto, imágenes, interacciones sociales, comentarios, etc.

En particular, el aprendizaje automático y el aprendizaje profundo traerán los siguientes beneficios:

  • Descubra patrones difíciles de detectar (utilizando técnicas tradicionales) cuando la tasa de incidencia es baja
  • Encuentre características latentes (supervariables) sin una ingeniería de características manual significativa
  • Decisiones en tiempo real y modelos de autoaprendizaje utilizando datos de transmisión (KAFKA, MapR)
  • Garantizar una experiencia constante del cliente y el cumplimiento normativo
  • Mayor eficiencia operacional

Cómo construir redes profundas en Python

¿Cómo podemos implementar el aprendizaje profundo en Python? ¿Es el aprendizaje profundo un concepto importante en la ciencia de datos?

Código paso a paso en Python para Deep Network usando Perceptron multicapa (MLP)

Aprendizaje profundo usando Tensor Flow, Keras, Python, Jupyter Notebook de Ratnakar Pandey (RP) en Mis artículos

Detección de fraude usando MLP-

Fraude deep learning_v2

Redes profundas sin supervisión utilizando autoencoders

  • Autoencoders (AE)

Los codificadores automáticos apilados son algoritmos de aprendizaje no supervisados ​​para el aprendizaje de funciones, la reducción de dimensiones y la detección de valores atípicos. El concepto de AE ​​es bastante simple: aquí los vectores de entrada se usan para calcular los vectores de salida, pero los vectores de salida son los mismos que los vectores de entrada. Se calcula el error de reconstrucción y se supone que los puntos de datos con el error de reconstrucción más alto son valores atípicos. Los EA también se utilizan para el reconocimiento de voz e imagen.

Aquí hay un ejemplo del uso de codificadores automáticos para la detección de fraudes

Detección de fraude de tarjetas de crédito utilizando codificadores automáticos en Keras – TensorFlow for Hackers (Parte VII)

Análisis de redes sociales (SNA) para detectar anillos de fraude. Puede usar cualquier paquete de PNL y Gráficos en R y Python para esto.

Ahora centrémonos en algunas técnicas estadísticas más comunes y clasificadores para la detección de fraudes.

Utilizaremos un conjunto de datos de Kaggle para esta parte de la discusión. Detección de fraude con tarjeta de crédito

creditcard.csv

Hagamos algunas manos en la codificación de R con estos datos y

La tasa de incidencia de fraude en estos datos es del 0,17%, que es bastante típica de la situación del mundo real.

prueba el árbol de decisiones

En el par de clasificadores anteriores, vemos que el árbol de decisión está haciendo un mejor trabajo. Del mismo modo, puede probar otros clasificadores como Naive Bayes, SVM y elegir el mejor. Es posible que también desee realizar sobremuestreo y submuestreo para encontrar la mejor precisión y recuperación.

Por último, centrémonos en cómo detectar valores atípicos o anomalías mediante el análisis de datos exploratorios (EDA) y otras técnicas similares.

Existen otros métodos, como el Método de factor de valor atípico local (LOF) del paquete denominado “DMwR” y otros métodos similares basados ​​en la densidad o la distancia que se pueden probar. Sin embargo, asegúrese de estandarizar / normalizar sus datos antes de ejecutar dichos algoritmos.

http://www.dbs.ifi.lmu.de/~zimek…

Espero que esto ayude.

¡Aclamaciones!

Gracias por sus votos a favor de antemano. Me mantienen en marcha! ¡¡Gracias!!

He tenido éxito aplicando los métodos tradicionales de aprendizaje supervisado (por ejemplo, modelos lineales, árboles de decisión, redes neuronales, etc.) así como técnicas sin supervisión (por ejemplo, k-means, PCA, etc.) para combatir el fraude. Además, la minería de texto, el procesamiento del lenguaje natural y el análisis de red / enlace pueden ser útiles en ciertos escenarios.

Pero uno de los métodos más efectivos es simplemente crear reglas para buscar patrones inusuales. Por ejemplo, si un cliente carga su tarjeta de crédito en una tienda en California pero una hora después la usa nuevamente en un cajero automático en Alemania, bueno, eso no puede ser correcto. Los motores de reglas en tiempo real han existido por un tiempo y aún continúan siendo extremadamente efectivos para detectar y prevenir el fraude.

Cuando se trata de la detección de fraude, una gran responsabilidad recae sobre los hombros de su modelo, no puede darse el lujo de hacer una predicción incorrecta, cada falso positivo significa que está bajo la luz de la cal (significa que hizo una predicción incorrecta). En tal situación, generalmente uso la regresión logística con diferentes pesos, asegurándome de que todos los falsos positivos sean altamente penalizados. Sin embargo, recientemente comencé a usar bosque aleatorio en los casos en que encuentro que el modelo de bosque aleatorio es un poco menos doloroso que la regresión logística. Generalmente prefiero el método de inteligencia artificial basado en la técnica estadística correcta y requerida, hacen que nuestro trabajo sea más fácil.

Detección de fraude usando ubSMOTE y Random Forest

Puede leer sobre la detección de fraudes y la ejecución aleatoria de bosques aquí.