Predicción de fallos en redes bancarias mediante Machine Learning José Manuel Navarro González Center for Open Middleware Departamento de Ingeniería de Sistemas Telepáticos Universidad Politécnica de Madrid
¿Quién soy? Ingeniero de Telecomunicación. +3 años en investigación de Machine Learning aplicado Doctorando en UPM. Sin background teórico en ML: “Introduction to Machine Learning”, Ethem Alpaydin. “Practical Data Science with R”, Nina Zumel y John Mount.
¿Dónde trabajo?
Enfoque Datos reales Incremental en complejidad Dos públicos objetivos: Novatos: aprender estructura básica de proyecto de Data Science (y fallos a evitar). Expertos: encontrar todos los fallos posibles :-)
e.g.
L3P3
Índice Presentación del proyecto Dataset Soluciones Otros métodos Conclusiones Trabajo Futuro
Online Failure Prediction 1. El proyecto L3P3 Problema + Objetivo: predecir fallos en sistemas distribuidos pertenecientes al grupo bancario. clasificación binaria Solución + Online Failure Prediction
1. El proyecto L3P3 Objetivo: Predecir fallos en sistema distribuido Enfoque: Clasificación Binaria Métricas objetivo: puntuación F y recall
Tipos de eventos críticos 2. Dataset SCF Totta Nodos 52 21 Tiempo 127 días 177 días Eventos 55061 35372 Tipos de eventos 82 87 Eventos críticos 92 3243 Tipos de eventos críticos 3 4 Predecimos todos porque podemos y porque el cliente no ha especificado que solo quiera uno
Enfoque basado en ventanas 3. Soluciones Enfoque basado en ventanas
3. Soluciones Preproceso Dataset Observación Predicción Hora A B C D 10:53 No 10:55 Si 10:57 10:58 Hora Evento 10:53 A 10:55 B 10:57 D 10:58 C 11:03 11:06 11:07 11:08 Usamos dataset 1: SCF Sólo intentar predecir eventos en el sistema! NO con nodo Predicción Hora A B C D 10:53 Si 10:55 10:57 No 10:58
3. Soluciones:1er intento Single Variable Models Dependiente False True Independiente 24 67 Resultados :(
3. Soluciones: 2º intento :( Regresión Logística Resultados Unión con Elastic Net: demasiadas variables e interés por seleccionarlas! Resultados :(
3. Soluciones: 3er intento Regresión Logística con regularización Muchos eran 0! Error cuadrático medio Pérdida logarítmica (?) Beneficio selección automática de variables Resultados Problema Puntuaciones casi binarias :|
3. Soluciones: 3er intento Regresión Logística con regularización y muestreo estratificado Resultados Buenos resultados pero lentitud! :) Problema Lentitud
3. Soluciones: 3er intento Regresión Logística con regularización, muestreo estratificado y filtrado de ceros* Ahora si! Pero falta corregir la fórmula de regresión logística del paquete glmnet para que sea matemáticamente óptimo 1 Resultados :) 1 *Basado en: King, Gary, and Langche Zeng. 2001. “Logistic Regression In Rare Events Data.”
Paquete utilizado: glmnet 3.1 1ª Solución Rojo: conceptual Azul: lo que hace el código Paquete utilizado: glmnet
3.1 Resultados 1ª solución Cuatro experimentos: Observación 5 min / Predicción 5 min Observación 30 min / Predicción 5 min Observación 5 min / Predicción 30 min Observación 30 min / Predicción 30 min Mejores resultados: 5/5.
Aumentando la utilidad: adición de localidad 3.1 Soluciones Aumentando la utilidad: adición de localidad Hora Evento Nodo 10:53 A 1 10:55 B 3 4 10:57 D 10:58 C 2 11:03 5 11:06 11:07 11:08 Hora Evento 10:53 A-1 10:55 B-3 A-4 10:57 D-1 10:58 C-2 11:03 A-5 11:06 B-2 11:07 C-4 11:08
3.1 Soluciones Tres experimentos distintos 1. Modelar cada nodo por separado 2. Cambiar el dataset de entrada 3. No cambiar el dataset de entrada
3.1 Soluciones Otros datos disponibles Experimentos 1. Media* + desviación Recursos: CPU Memoria Disco Red 2. Diferenciación de recursos Resultados Series temporales muestreadas cada 5 minutos. Similares a anterior * https://github.com/twitter/BreakoutDetection
Cambio de dataset Totta
Paquete utilizado: randomForest 4. Otros métodos Random Forests Lentos y precisos Paquete utilizado: randomForest
Cojonudo
Support Vector Machines 4. Otros métodos Support Vector Machines Rápido, fallan muchos Paquete utilizado: e1071
Pocos modelos
Bajo recall!!! Mala elección de kernel?
4. Conclusiones Performance Tiempo de computación RF ENLR SVM Sería muy interesante analizar por qué funcionan así matemáticamente, pero me falta conocimiento ENLR SVM Tiempo de computación
5. Trabajo Futuro ENLR, Random Forests y SVM sin poda de ceros. Fine tuning de Random Forests y SVM. Adquisición de datos de niveles lógicos superiores. Modelado de niveles superiores. Correlación de niveles superiores.
Resumen Predicción de fallos en sistema distribuido Alta dispersión de datos Alta dimensionalidad Tres modelos presentados: Regresión logística regularizada Random Forests Máquinas de vector soporte