Blog de Amazon Web Services (AWS)
Avances en la detección de fraudes: ML para la encuestas en línea
Por AWS Admin
Mensaje invitado por Jakob Ludewig, Científico de Datos Senior, Investigación de Dalia
La transición de la industria de la investigación de mercado desde las encuestas telefónicas y presenciales hacia plataformas en línea ha aumentado enormemente la velocidad y el alcance de la recopilación de datos. Las plataformas modernas de encuestas en línea, como Dalia Research, permiten a millones de usuarios compartir cada día sus ideas sobre política, problemas sociales o comportamiento de los consumidores.
Ejemplo de la interfaz de usuario de la plataforma de recogida de datos de Dalia.
El fraude en las encuestas está aumentando
Sin embargo, invitar a toda Internet a compartir sus pensamientos y opiniones inevitablemente atraerá a los estafadores. En el mundo de las encuestas en línea, el fraude suele manifestarse como patrones no deseados en las respuestas de la encuesta: los usuarios dan respuestas deliberadamente sin sentido o aleatorias, mintiendo sobre sus perfiles demográficos o tratando de eludir las medidas de seguridad para responder a la misma encuesta varias veces.
Si este tipo de comportamiento no se detecta, los datos se volverán poco confiables, lo que conducirá a un mal negocio o toma de decisiones políticas. Dado que los patrones de fraude pueden ser muy complejos y cambian constantemente, la calidad de los datos sigue siendo uno de los problemas más difíciles de la industria de la investigación en línea.
Creación de un modelo
En Dalia, se creó un grupo de trabajo para abordar estos problemas y garantizar la calidad de los datos generados a través de la plataforma. Una de las acciones de este grupo de trabajo fue construir un mecanismo preventivo que predijera el comportamiento fraudulento incluso antes de que el usuario entrara en alguna encuesta.
Para ello se identificó el aprendizaje automático como la herramienta ideal. Después de haber creado varias soluciones exitosas de aprendizaje automático (incluido un producto completo de investigación de mercado), el equipo pudo aprovechar experiencias pasadas. El objetivo de este modelo en particular era predecir la probabilidad de que un usuario cometa fraude en el sistema. Esta probabilidad se podría utilizar para decidir en tiempo real si se permite o no a un usuario entrar en una encuesta.
Obtención de los datos
En la investigación de encuestas, el fraude generalmente se detecta durante un análisis detallado y manual de los datos de la encuesta. Este proceso se realiza directamente en la propia plataforma de Dalia o en las plataformas de recopilación de datos de socios externos. Dependiendo de la integración con cada socio respectivo, esta información se puede comunicar de diferentes maneras (enviadas a través de API, CSVs descargados de sitios web, informes de texto por correo electrónico, etc.).
Por lo tanto, el primer paso de este proyecto se centró en armonizar y automatizar la integración de estos datos en las bases de datos de producción internas. Esto permitió una coincidencia fácil de la variable de destino con toda la información incluida sobre la interacción fraudulenta del usuario en el sistema.
El segundo paso consistió en configurar un proceso de replicación de estos datos en Amazon S3 para que Amazon Athena pudiera consultarlos. Amazon Athena es un servicio de consultas que permite analizar y extraer datos almacenados en S3 de forma eficiente utilizando SQL estándar. De esta manera, la generación de los datos de capacitación podría acelerarse y desacoplarse de las bases de datos de producción.
Prototipado y ajuste del modelo
Utilizando estos datos de entrenamiento se podría construir y evaluar un primer prototipo del modelo. Este proceso se llevó a cabo en Amazon SageMaker, una plataforma de aprendizaje automático basada en la nube que ofrece soluciones para alojar servidores Jupyter Notebook, acceder a recursos informáticos para la formación de modelos, ajuste automatizado de hiperparámetros y servicios de implementación de modelos.
Como modelo se eligió un clasificador XGBoost que es conocido por mostrar consistentement un alto rendimiento en una amplia variedad de problemas. También ofrece trabajos de entrenamiento muy eficientes incluso en grandes conjuntos de datos que permiten iteraciones rápidas durante la fase de prototipado del modelo y la inclusión de un gran número de variables. Una versión integrada de XGBoost también está disponible en Amazon SageMaker.
Aparte de eso, XGBoost se puede configurar para cumplir con ciertas propiedades importantes, como la de producir probabilidades calibradas. Esta propiedad garantiza que las predicciones del modelo se pueden interpretar en el siguiente sentido: Si, por ejemplo, el modelo predice que una probabilidad del 10% de una interacción de usuario dada sea fraude, también será fraudulenta en realidad alrededor del 10% del tiempo. Esto es importante ya que hace que la salida del modelo sea accionable desde una perspectiva empresarial.
En esta configuración, una primera versión del modelo fue entrenada en millones de observaciones con cientos de características. Este modelo se optimizó aún más mediante trabajos de ajuste de hiperparámetros de Amazon SageMaker, en los que cientos de modelos recibieron formación con diferentes combinaciones de parámetros de modelo.
Integración de la Solución en la Plataforma
En este punto, el modelo estaba listo para ser utilizado para evaluar el comportamiento del usuario en la plataforma y bloquear actividades potencialmente fraudulentas.
Se acordó con el equipo de ingeniería que el modelo debía ser servido a través de una API REST que aceptara un JSON con todos los predictores del modelo. Esto hizo necesario construir un paso de preprocesamiento en la API que analizaría el payload JSON y lo convertiría en un input adecuado para el modelo XGBoost. Este paso de preprocesamiento se implementó como un segundo modelo que se combinaría con el modelo XGBoost en una canalización de modelos. Este modelo combinado podría implementarse en un endpoint de Amazon Sagemaker que gestiona los detalles de implementación y escalado automático necesarios.
Para obtener más detalles sobre cómo implementar tal canalización de modelo, consulte el código de ejemplo proporcionado aquí.
Paralelamente, el equipo de ingeniería desarrolló la funcionalidad para consultar el endpoint desde la plataforma de recopilación de datos. Esto se hizo usando la SDK de Ruby para SageMaker , que también maneja la autenticación con el endpoint.
En total, la implementación de la solución llevó a un equipo de un ingeniero de back-end y un científico de datos aproximadamente 2 meses desde la fase de ideación hasta la implementación de producción. Se trataba de una aceleración considerable en comparación con proyectos anteriores en los que la entrenamiento y el despliegue de modelos se realizaban en una plataforma personalizada, lo que introducía importantes gastos adicionales de desarrollo y mantenimiento.
Los resultados
Reducción de las actividades fraudulentas
Durante la fase de modelado, el modelo ya mostró un rendimiento muy alto durante en cross-validation, ofreciendo una compensación muy favorable entre falsos positivos (ingresos perdidos por bloqueo innecesario) y falsos negativos (actividad fraudulenta no detectada).
Sin embargo, los resultados de la fase de modelización no necesariamente se traducen en beneficios reales, ya que no todos los aspectos del entorno de producción pueden replicarse. Por lo tanto, la evaluación final del modelo tuvo que hacerse después del despliegue.
En este caso particular, el modelo se activó junto con otras dos soluciones de detección de fraude de terceros, lo que condujo inmediatamente a una disminución significativa de la actividad fraudulenta en el sistema. Para identificar cuál de las tres soluciones contribuyó más a esta caída se realizó una prueba A/B en la que el modelo de Dalia superó a los dos otros candidatos.
Además, estos resultados fueron acompañados de comentarios muy positivos de los socios externos de Dalia, que acogieron con satisfacción los esfuerzos por mejorar la calidad de los datos. Uno de los mayores compradores del mercado compartió que los continuos esfuerzos de Dalia por mejorar la calidad los llevaban «muy por debajo de [la] tasa de incidencia de fraude en toda la plataforma», medida ahora alrededor de un 50% por debajo de la media de cientos de otros proveedores.
Evoluciones adicionales
Desde su implementación inicial se realizaron muchas mejoras en el modelo y en la infraestructura circundante. Un paso importante fue la integración del marco de Metaflow . Al utilizar la estrecha integración de Metaflow con servicios de AWS como AWS Batch and Step Functions, la formación del modelo podría automatizarse aún más y reducir los costes. Además, se podrían lograr importantes avances en cuanto a la capacidad de mantenimiento, monitoreo y reproducibilidad de las ejecuciones de modelos, sentando las bases para futuras mejoras
Este artículo fue traducido del Blog de AWS en Inglés
Revisor
Enrique Rodríguez es Arquitecto de Soluciones de Amazon Web Servicies (AWS) Basado en Chile actualmente ayudando a los clientes de la región a lograr sus desafíos en la nube. Además de eso, es un entusiasta en proyectos de Data Science y AI/ML y el desarrollo de proyectos en la nube. En su tiempo libre disfruta su familia, la música y lectura de ciencia ficción.