ELAI S.r.l.

Defectos raros: cómo un AUC de 0,94755 convive con un 91,74% de falsas alertas

Un ejemplo exacto de tres puntuaciones conecta ROC, prevalencia y precisión: umbrales, revisión, costes y límites de estimación.

Defectos raros: cómo un AUC de 0,94755 convive con un 91,74% de falsas alertas

Investigación aplicada · Evaluación de IA · 24 de septiembre de 2026

Resumen: un AUC alto no determina cuántas alertas son correctas

Construimos un clasificador con tres niveles de puntuación y AUROC exacta de 0,94755. Manteniendo idénticas las distribuciones de puntuaciones dentro de cada clase, la precisión de un umbral cae del 90,91% al 8,26% cuando la prevalencia baja del 10% al 0,1%. No empeora el ranking: cambia la población. Derivamos el resultado, comparamos dos umbrales y mostramos por qué la decisión necesita capacidad de revisión y costes de error además de métricas agregadas.

Es un experimento sintético determinista calculado con Python: sin modelo entrenado, imágenes de producción ni cliente EL-AI. El contexto es control de calidad industrial, pero la distinción entre probabilidades condicionadas es más general. Se requieren probabilidad elemental, Bayes y matrices de confusión. Las cantidades se conocen por construcción; la incertidumbre de estimaciones reales se discute aparte.

1. Tres denominadores, tres preguntas

Definimos como positivo un producto defectuoso. TP son defectos señalados; FN, defectos no señalados; FP, productos buenos señalados; TN, buenos no señalados. TPR divide TP entre todos los defectos. FPR divide FP entre todos los productos buenos. PPV divide TP entre todos los señalados. Confundir denominadores convierte un buen rendimiento condicionado a la clase en una promesa injustificada sobre alertas.

TPR = TP/(TP+FN) FPR = FP/(FP+TN) PPV = TP/(TP+FP) π = P(defect) PPV = π·TPR / [π·TPR + (1−π)·FPR]

La última fórmula escribe la probabilidad conjunta de defecto y alerta como π·TPR y la probabilidad de alerta como suma de dos casos disjuntos: defecto señalado y producto bueno señalado. Es Bayes para un umbral fijo. Sin alertas, el denominador es cero y la precisión no está definida. Llamarla uno haría parecer óptimo un sistema que nunca alerta aunque pierda todos los defectos.

2. Un ranking completo, no un solo punto ROC

Calcular AUC exige más que sensibilidad y FPR en un umbral. Introducimos puntuaciones H>M>L. Entre defectos, el 60% recibe H, el 30% M y el 10% L. Entre productos buenos, el 0,1% recibe H, el 0,9% M y el 99% L. Un umbral estricto señala solo H; otro permisivo señala H y M. Son valores de una población matemática explícitamente sintética, no datos observados.

P(score | defect) = (0.600, 0.300, 0.100) P(score | good) = (0.001, 0.009, 0.990) ROC: (0,0) → (0.001,0.6) → (0.01,0.9) → (1,1)

Con la convención habitual de medio crédito a los empates, AUC es la probabilidad de que un defecto aleatorio supere a un producto bueno, más la mitad de la probabilidad de igualdad. Las victorias estrictas pesan 0,6×0,999+0,3×0,99=0,8964. Los empates pesan 0,6×0,001+0,3×0,009+0,1×0,99=0,1023. Así, AUC=0,8964+0,1023/2=0,94755. El script verifica también el área trapezoidal ROC: ambas construcciones coinciden.

Los segmentos entre puntos representan la convención de empates o decisiones aleatorias dentro de un nivel, no puntuaciones adicionales del modelo. Ordenar arbitrariamente ejemplos empatados puede producir escalones distintos. Hay que explicitar los empates, especialmente con puntuaciones discretas o cuantizadas. Aquí aportan más de 0,05 al AUC: ignorarlos no es un detalle menor.

3. Cambiar prevalencia manteniendo fija la ROC

Tomemos N=1.000.000 como escala de conteo. No inspeccionamos un millón de objetos: multiplicamos probabilidades exactas por un total convencional. En H+M, TPR=0,9 y FPR=0,01. Con prevalencia del 0,1% hay 1.000 defectos: 900 señalados y 100 perdidos. Entre 999.000 productos buenos, 9.990 se señalan por error. Hay 10.890 alertas, solo 900 correctas.

PrevalenciaUmbralTPFPFNPrecisión
10%H600009004000098.52%
10%HM9000090001000090.91%
1%H6000990400085.84%
1%HM90009900100047.62%
0.1%H60099940037.52%
0.1%HM90099901008.26%

La ROC no cambia porque TPR y FPR condicionan cada una sobre una clase. La precisión cambia porque condiciona sobre alertas, mezclando clases en proporciones dependientes de π. Esto exige distribuciones de puntuación por clase constantes: es una hipótesis de cambio de prevalencia, no una garantía al cambiar cámara, material, iluminación o tipo de defecto. Si cambian las puntuaciones dentro de las clases, también puede cambiar la ROC.

Arriba: ROC sintética con medio crédito a empates. Abajo: precisión de ambos umbrales al variar prevalencia manteniendo distribuciones condicionadas. Probabilidades exactas, no resultados industriales.
Arriba: ROC sintética con medio crédito a empates. Abajo: precisión de ambos umbrales al variar prevalencia manteniendo distribuciones condicionadas. Probabilidades exactas, no resultados industriales.

4. Del objetivo de precisión al requisito de falsas alertas

Supongamos al menos un 80% de alertas correctas conservando TPR=0,9. Despejar FPR en Bayes da un requisito cuantitativo. Con π=0,001 y precisión p*=0,8, FPR debe ser como máximo 0,0002252, es decir, 0,02252%. El 1% de H+M es más de cuarenta veces mayor. Una diferencia visualmente pequeña en ROC cambia por completo la carga de revisión cuando casi toda la población es negativa.

PPV ≥ p* FPR ≤ π·TPR·(1−p*) / [p*·(1−π)] π=0.001, TPR=0.9, p*=0.8 FPR ≤ 0.000225225…

Restringir a H baja FPR a 0,001, pero TPR cae a 0,6: la precisión solo llega al 37,52%. No podemos conservar el TPR anterior tras cambiar el umbral. En este clasificador de tres niveles, seleccionar aleatoriamente parte de H tampoco mejora la precisión esperada: TP y FP bajan proporcionalmente. Alcanzar el 80% exigiría información discriminante nueva, otra población o una segunda comprobación eficaz, no un umbral mágico.

5. Más precisión puede ser una peor elección

Con π=0,001, H genera 1.599 alertas y pierde 400 defectos; H+M genera 10.890 y pierde 100. Si la revisión admite 2.000 piezas por periodo, solo H respeta el límite entre ambas opciones. Pero si perder un defecto penaliza 100 unidades y una falsa alerta una, H cuesta 40.999 frente a 19.990 de H+M. Son penalizaciones hipotéticas y adimensionales para explicitar el compromiso, no precios ni daños reales.

Alerts = N[π·TPR+(1−π)·FPR] Cost = C_FN·Nπ(1−TPR) + C_FP·N(1−π)FPR

La precisión describe la composición de alertas, no valora los defectos perdidos. La capacidad fija una restricción, no demuestra preferencia económica. Una decisión coherente debe definir objetivo y restricciones. Si una cola saturada retrasa también verdaderos positivos, el coste estático no basta: hace falta un modelo temporal de revisión. Añadir un revisor humano sin considerar el volumen no elimina el problema estadístico.

6. Qué demuestra una prueba equilibrada

Una prueba rica en defectos puede estimar sensibilidad por tipo mejor que una muestra aleatoria con muy pocos. El problema surge al transferir su precisión directamente a producción. Con prevalencia artificial del 50%, H+M tiene PPV=0,9/(0,9+0,01)≈98,90%, lejos del 8,26% del caso raro. Enriquecer positivos ayuda a estudiar el modelo, pero no representa la frecuencia real de eventos.

Aquí las tasas son exactas; en datos reales se estiman. Cero falsos positivos entre 1.000 negativos no prueba FPR=0. Con ensayos independientes y tasa fija f, la probabilidad de cero es (1−f)^1000. Igualarla a 0,05 da el límite binomial superior unilateral del 95%, aproximadamente 0,00299, mucho mayor que el requisito 0,0002252. Se necesitan negativos suficientes y representativos, no un porcentaje redondeado a cero.

Independencia y representatividad importan: fotogramas casi idénticos de una pieza no equivalen a piezas independientes, y una línea limpia de laboratorio puede no representar una desgastada. El umbral se elige con datos de desarrollo y se evalúa en una prueba separada. Ajustarlo repetidamente tras ver errores convierte la prueba en optimización. Bayes correcto no rescata un FPR estimado con datos contaminados.

7. Fuentes, reproducibilidad e interpretación

Saito y Rehmsmeier (PLOS ONE, 2015) analizan ROC y precision-recall con simulaciones y datos aplicados; consultamos fundamentos, métodos y resultados. Ayudan a distinguir ranking y fiabilidad de predicciones positivas. Aquí usamos una población discreta original y cálculos exactos, no replicamos sus datasets. No se trata de eliminar ROC, sino de adecuarla a su pregunta sin sustituir prevalencia, umbral y carga operativa.

El archivo ejecutado usa Python 3.14.0, biblioteca estándar y ninguna aleatoriedad; Matplotlib 3.11.2 genera cuatro figuras localizadas. Guarda probabilidades, conteos, AUC comprobada por dos métodos y curvas de sensibilidad. Los conteos son exactos para la población construida salvo representación flotante. El fragmento reconstruye el efecto principal y el límite binomial; no entrena un clasificador.

for pi in [.1, .01, .001]:
    precision = pi*.9/(pi*.9+(1-pi)*.01)
    print(pi, precision)
print(1-.05**(1/1000))

Para las aplicaciones de IA que EL-AI pretende explorar, es un criterio de evaluación técnica, no una afirmación de resultados industriales logrados. La conclusión es verificable: AUC=0,94755 y precisión=8,26% pueden coexistir sin error matemático. Interpretarlas exige conocer umbral, población y consecuencias. La competencia no está en mostrar el número más alto, sino en explicitar qué mide.

Saito T., Rehmsmeier M. (2015), The Precision-Recall Plot Is More Informative than the ROC Plot When Evaluating Binary Classifiers on Imbalanced Datasets, PLOS ONE 10(3): e0118432.

Código, resultados e instrucciones. Resultados JSON. Fuente consultada el 24 de septiembre de 2026. Análisis con asistencia de IA, sin afirmar revisión por pares. Portada ImageGen ilustrativa, no fotografía de una línea EL-AI o de un cliente.