Detección de Anomalías

Punto 2 del reto · Isolation Forest · Sin etiquetas de fraude

Anomalías Detectadas

⚠️

1.345

Sin usar variable target

Contamination

🧮

2.7%

Calculado matemáticamente

Precisión vs Ground Truth

53.4%

Validación interna (solo reto)

Recall vs Ground Truth

🎯

95.7%

Fraudes reales capturados

¿Por qué detección no supervisada?

Punto 2: Cuando no hay ejemplos históricos de fraude

🆕

Nueva modalidad de fraude

Cuando surge una modalidad nueva (ej: fraude en registro de terceros), no existen ejemplos previos etiquetados para entrenar un modelo supervisado. El enfoque no supervisado detecta desviaciones del comportamiento normal.

🌲

Isolation Forest

Aísla observaciones anómalas construyendo árboles aleatorios. Las anomalías son más fáciles de aislar (requieren menos particiones). Score negativo = más anómalo. No necesita etiquetas.

🔐

Aplicación: Nuevos Terceros

En registro de proveedores/clientes, detecta patrones inusuales: velocidad de registro, datos atípicos, patrones de campos, geolocalización. Genera alertas para revisión del equipo de control interno.

Definición Matemática del Threshold de Contaminación

contamination = 0.0269

// Estrategia: sin usar target, identificar outliers estadísticos

n_sospechosos = len(df[

(score_dispositivo < Q1 - 1.5 × IQR) # Score muy bajo

| (intentos_fallidos_24h >= 3) # Múltiples reintentos

])

contamination = n_sospechosos / len(df) = 0.0269

Fracción de registros con score_dispositivo < Q1-1.5*IQR (63.85) O intentos_fallidos >= 3, calculado sin usar target: 1344/50000 = 0.0269

💡 Estrategia para Control Interno

Si el equipo de control interno puede revisar N alertas por día, el threshold se ajusta como: contamination = N / total_registros_diarios. Esto garantiza que el volumen de alertas nunca supere la capacidad del equipo, reduciendo el riesgo de fatiga por alertas.

Distribución de Anomaly Scores

Valores más negativos = más anómalos. La línea roja marca el umbral de clasificación

Perfil de las Anomalías Detectadas

🌙

8.5h

Hora promedio

Horario nocturno

💰

$263

Monto promedio

Alto vs. media $80

🌍

79.2%

País no coincide

Mayoría internacional

🛒

52.2%

Electrónica/Viajes

Categorías de alto valor

Top 20 Transacciones más Anómalas

Ordenadas por anomaly score (menor = más sospechoso)

IDScoreMontoCategoríaHoraPaísScore Disp.Intentos
TX_040010-0.1500$879Retail23:00❌ No12.34
TX_038590-0.1455$1,081Viajes23:00❌ No27.44
TX_034422-0.1437$925Electrónica23:00❌ No364
TX_005965-0.1382$532Viajes23:00❌ No14.53
TX_044971-0.1379$844Viajes23:00❌ No23.93
TX_014778-0.1364$781Electrónica23:00❌ No28.63
TX_017618-0.1351$977Electrónica1:00❌ No19.24
TX_029390-0.1333$813Viajes2:00❌ No34
TX_009307-0.1315$755Electrónica23:00❌ No48.33
TX_018005-0.1312$683Retail23:00❌ No13.12
TX_030300-0.1312$811Electrónica23:00❌ No17.72
TX_010348-0.1310$1,260Viajes0:00❌ No47.14
TX_014335-0.1309$558Viajes23:00❌ No403
TX_012393-0.1308$1,553Electrónica5:00❌ No13.74
TX_038127-0.1307$1,429Retail0:00❌ No50.44
TX_001803-0.1307$432Electrónica0:00❌ No12.34
TX_022953-0.1307$445Retail23:00❌ No31.13
TX_042202-0.1304$638Electrónica23:00❌ No14.22
TX_039023-0.1302$673Viajes0:00❌ No39.54
TX_004839-0.1294$236Viajes23:00❌ No26.44