Saltar al contenido
Favoritos

Calculadora de ROC AUC

Actualizado:

Introduce las etiquetas de clase (0/1) y las puntuaciones de predicción para calcular el ROC AUC, el coeficiente de Gini, el mejor punto de corte según el índice J de Youden, la matriz de confusión y todos los puntos de la curva ROC.

Mide cómo de bien separan tus puntuaciones las dos clases

Campos de entrada
t
Un caso se predice como positivo cuando su puntuación es mayor o igual que este punto de corte. No afecta al AUC.
Si está activado, el resultado se actualizará automáticamente al cambiar cualquier valor.

Fórmula del AUC de la curva ROC

Fórmula
\[ \text{AUC} = \frac{\#\{\text{parejas con } s_+ > s_-\} + \tfrac{1}{2}\,\#\{\text{parejas con } s_+ = s_-\}}{P \cdot N} \] \[ G = 2\,\text{AUC} - 1, \qquad J = \text{sensibilidad} + \text{especificidad} - 1 = \text{TPR} - \text{FPR} \]

Donde:

  • \(P\) — número de casos positivos (etiqueta 1)
  • \(N\) — número de casos negativos (etiqueta 0)
  • \(s_+\) — puntuación de un caso positivo; \(s_-\) — puntuación de un caso negativo
  • \(G\) — coeficiente de Gini (D de Somers), una reescalación del AUC
  • \(J\) — índice J de Youden, que se usa para encontrar el mejor punto de corte

El AUC es la probabilidad de que un caso positivo elegido al azar reciba una puntuación mayor que un caso negativo elegido al azar (los empates cuentan como media victoria). Coincide con el área trapezoidal bajo la curva ROC y con el estadístico U de Mann–Whitney dividido por \(P \cdot N\).

ROC AUC: ejemplo de cálculo

Ejemplo: 10 casos, 5 positivos y 5 negativos, con las puntuaciones predeterminadas. Las puntuaciones de los positivos son 0.9, 0.85, 0.8, 0.75 y 0.6, y las de los negativos, 0.7, 0.4, 0.3, 0.2 y 0.1.

Hay \(P \cdot N = 25\) parejas positivo–negativo. En 24 de ellas el caso positivo puntúa más alto; la única pareja mal ordenada es (0.6, 0.7). No hay empates, de modo que:

\[ \text{AUC} = \frac{24 + \tfrac{1}{2}\cdot 0}{5 \times 5} = 0.96 \]

Resultado: AUC = 0.96, coeficiente de Gini \(2 \times 0.96 - 1 = 0.92\). El mejor punto de corte según el índice J de Youden es puntuación ≥ 0.6 (sensibilidad 100 %, especificidad 80 %, \(J = 0.8\)). Con el umbral predeterminado de 0.5, la matriz de confusión es VP = 5, FP = 1, FN = 0, VN = 4 (exactitud del 90 %).

Cómo usar la calculadora

  1. Pega las etiquetas de clase reales (0 o 1) en el primer campo: una etiqueta por caso, separadas por espacios, saltos de línea o punto y coma. Usa 1 para la clase positiva y 0 para la negativa.
  2. Pega las puntuaciones de predicción en el segundo campo, en el mismo orden que las etiquetas. Sirve cualquier escala numérica (probabilidades, salidas del modelo, valoraciones); se aceptan comas decimales.
  3. Si quieres, cambia el umbral de la matriz de confusión (predeterminado: 0.5). Un caso se predice como positivo cuando su puntuación es ≥ ese punto de corte. El umbral no afecta al AUC.
  4. Lee los resultados: el área bajo la curva ROC, el coeficiente de Gini, el mejor punto de corte (índice J de Youden), la matriz de confusión en tu umbral y una tabla de puntos de la curva ROC que puedes representar gráficamente.

Las dos listas deben tener la misma longitud y los datos deben contener al menos un caso positivo y uno negativo; de lo contrario, no hay ningún ordenamiento que evaluar.

¿Qué es el ROC AUC?

La curva ROC (Receiver Operating Characteristic, característica operativa del receptor) muestra cómo se comporta un clasificador binario en cada punto de corte posible. Cada punto de la curva es una pareja (tasa de falsos positivos, tasa de verdaderos positivos) que se obtiene clasificando como positivos todos los casos con puntuación ≥ cierto umbral. Al recorrer el umbral de mayor a menor, la curva se traza desde el origen (nada se predice como positivo) hasta la esquina superior derecha (todo se predice como positivo).

El AUC —el área bajo esa curva— resume toda la curva en un solo número. Tiene un significado probabilístico directo: la probabilidad de que un caso positivo elegido al azar obtenga una puntuación mayor que un caso negativo elegido al azar. Un ordenamiento perfecto da AUC = 1; uno inútil (aleatorio) da AUC = 0.5; uno sistemáticamente invertido da AUC < 0.5, lo que indica que debes invertir el sentido de tus puntuaciones.

Como referencia orientativa: 0.9–1, excelente; 0.8–0.9, bueno; 0.7–0.8, aceptable; 0.6–0.7, deficiente; 0.5, no mejor que el azar. El coeficiente de Gini \(2\cdot\text{AUC}-1\) reescala esta escala de modo que 0 signifique azar y 1 perfección; es habitual en el credit scoring, donde también se denomina D de Somers.

A diferencia de la exactitud o la precisión, el AUC es independiente del umbral: mide cómo ordenan los casos las puntuaciones, con independencia del punto de corte que elijas después. Por eso es la métrica natural para comparar modelos de puntuación, pero también significa que no dice nada sobre la calibración: una puntuación de 0.8 no tiene por qué corresponder a una probabilidad del 80 %. Si necesitas métricas de la matriz de confusión en un punto de corte concreto, combina esta herramienta con la calculadora de matriz de confusión.

Cómo elegir el punto de corte

La calculadora indica el punto de corte que maximiza el índice J de Youden, \(J = \text{sensibilidad} + \text{especificidad} - 1\): el punto de la curva ROC más alejado de la diagonal. Es una opción razonable por defecto, pero no siempre la mejor desde el punto de vista operativo. En el cribado médico puede interesarte una sensibilidad alta aunque eso suponga más falsos positivos; en una prueba confirmatoria o en la detección de fraude con investigaciones costosas, la especificidad puede pesar más. Usa la tabla de puntos de la curva ROC para ver el compromiso entre sensibilidad y especificidad en cada puntuación distinta y elige el punto de corte que mejor se ajuste a tus costes.

Como el AUC es una medida de ordenamiento, guarda una estrecha relación con otros estadísticos basados en rangos. Si analizas el acuerdo entre rangos de forma más general, la calculadora de tau de Kendall cubre las parejas concordantes y discordantes entre dos variables.

Supuestos, limitaciones y consejos

  • Solo resultados binarios. Las etiquetas deben ser exactamente 0 o 1. Para problemas multiclase, calcula un AUC por clase (uno contra el resto).
  • Independencia. Cada caso aporta una etiqueta y una puntuación, y se asume que los casos son independientes. Las mediciones repetidas del mismo sujeto violan este supuesto.
  • Los empates se tratan contando cada pareja empatada positivo–negativo como medio éxito, lo que coincide con el AUC trapezoidal y la convención de la U de Mann–Whitney.
  • Muestras pequeñas. Con pocos casos, el AUC presenta un intervalo de confianza amplio; conviene informar junto a él de un intervalo de Hanley–McNeil o DeLong. El ejemplo predeterminado de 10 casos es solo ilustrativo.
  • Desequilibrio de clases. El AUC es insensible a la proporción entre positivos y negativos, lo que puede ser una ventaja o un punto ciego: un modelo puede tener un AUC alto y aun así pasar por alto muchos positivos reales. Consulta la matriz de confusión y métricas como la razón de probabilidades (odds ratio) para ver el impacto práctico.
  • AUC < 0.5 significa que tus puntuaciones están invertidas: usa la lógica «puntuación ≤ umbral» o intercambia las etiquetas.

Preguntas frecuentes

¿Cómo calculo el AUC a mano, sin ningún software?

Enumera todas las puntuaciones positivas y todas las negativas y compara todas las parejas positivo–negativo. Cuenta cuántas parejas tienen la puntuación positiva estrictamente mayor; las empatadas cuentan como 0.5. Divide entre el número total de parejas. Con 4 positivos y 6 negativos hay 24 parejas, de modo que si 21 están bien ordenadas y 2 empatan, \(\text{AUC} = (21 + 1)/24 \approx 0.92\). Es exactamente el estadístico U de Mann–Whitney dividido por \(P \cdot N\).

¿Puede el AUC ser mayor que 1 o negativo?

No. El AUC es una probabilidad, así que siempre se sitúa entre 0 y 1. Si tu cálculo manual da un valor fuera de ese rango, habrás contado mal las parejas o etiquetado mal las clases. Un AUC por debajo de 0.5 sigue siendo válido matemáticamente: solo indica que tus puntuaciones ordenan en la dirección equivocada, e invertir la comparación (tratando las puntuaciones más bajas como más positivas) lo convierte en 1 − AUC.

¿Cuántos casos necesito para obtener un AUC fiable?

No hay un mínimo fijo, pero la precisión crece despacio. Con 10 positivos y 10 negativos el AUC se mueve en pasos de 1/100, y el intervalo de confianza del 95 % puede abarcar fácilmente 0.2 o más. Como regla general, apunta al menos a 20–30 casos por clase para una estimación aproximada e informa de un intervalo de confianza de DeLong o Hanley–McNeil, para que el lector pueda juzgar la incertidumbre en lugar de fiarse de un único número.

¿Un AUC más alto siempre implica un modelo mejor?

No necesariamente. El AUC solo mide la calidad del ordenamiento, de modo que un modelo puede obtener un valor alto y aun así funcionar mal en la práctica: con positivos poco frecuentes, por ejemplo, puede pasar por alto muchos casos reales manteniendo un AUC elevado. Además, ignora la calibración y los costes reales de los errores. Acompaña siempre el AUC de una matriz de confusión en un umbral realista, y valora la precisión, la exhaustividad (recall) o el lift para tu problema de decisión concreto.

¿Por qué mi AUC no cambia cuando cambio el umbral?

Es lo esperado. El AUC resume el modelo en todos los puntos de corte posibles a la vez, así que ningún umbral concreto puede afectarlo. Cambiar el umbral solo te desplaza a lo largo de la curva ROC, cambiando el punto en el que operas y, por tanto, la matriz de confusión, la exactitud, la precisión y la exhaustividad. Usa el campo del umbral para explorar ese compromiso, y el AUC para comparar modelos antes de decidirte por uno.

¿Qué relación tiene el coeficiente de Gini con el AUC?

Es una reescalación lineal: \(G = 2\times\text{AUC} - 1\). El rendimiento al azar (AUC 0.5) corresponde a un Gini de 0 y un ordenamiento perfecto a un Gini de 1. Las publicaciones de credit scoring y de economía suelen citar el Gini o la D de Somers equivalente, mientras que los artículos de aprendizaje automático usan el AUC: ambos transmiten exactamente la misma información, así que pasar de uno a otro es solo cuestión de esta fórmula.

¿Puedo usar esta calculadora con más de dos clases?

No directamente: la curva ROC está definida para resultados binarios, así que las etiquetas deben ser 0 o 1. Para un problema multiclase, calcula un AUC por clase con un esquema de uno contra el resto: trata esa clase como 1, agrupa todas las demás en 0 y ejecuta el cálculo por separado. Para resumir el resultado, promedia los AUC de cada clase, normalmente con pesos iguales (media macro) o ponderando por la frecuencia de cada clase.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *