Menu

Curva ROC

Una curva ROC es una representación gráfica del rendimiento de un modelo de clasificación binaria para todos los umbrales de clasificación. El acrónimo ROC significa Receiver Operating Characteristic (Característica Operativa del Receptor).

Ejemplo de curva ROC

Queremos clasificar, basándonos en un cribado, si una persona tiene cáncer o no.

Binary classification model

Esta clasificación se realiza con la ayuda de un determinado valor sanguíneo, en el que los valores altos indican cáncer. La cuestión ahora es qué valor elegimos como umbral de clasificación. Entonces, ¿a partir de qué valor predecimos una enfermedad?

Classification threshold

Para ello, obtenemos datos de 10 personas sobre lo alto que es el valor en sangre y si existe o no la enfermedad.

Podríamos elegir un umbral de clasificación de 45, por ejemplo. En este caso, de las 5 personas con enfermedad, clasificaríamos correctamente a 4 como "enfermas" y a 1 incorrectamente como "sana". Es decir, clasificamos correctamente a 4 de 5 como "enfermos".

Classification threshold ROC curve

Este valor se denomina Tasa de Verdaderos Positivos (TPR, del inglés) y es igual a la sensibilidad.

Por otro lado, de los 5 individuos sanos, tenemos 2 clasificados erróneamente como "enfermos" y 3 clasificados correctamente como "sanos". Por tanto, hemos clasificado erróneamente a 2 de 5 como "enfermos". Este valor se denomina tasa de falsos positivos (FPR, del inglés).

Classification threshold False Positive Rate

Así, para un umbral de 45 obtenemos una tasa de verdaderos positivos de 4/5, es decir, 0.8, y una tasa de falsos positivos de 2/5, es decir, 0.4.

Tasa de Verdaderos Positivos y Tasa de Falsos Positivos

La Tasa de Verdaderos Positivos (TPR) se calcula con esta ecuación:

True Positve Rate

La Tasa de Verdaderos Positivos es igual a los verdaderos positivos dividido por los verdaderos positivos más los falsos negativos. Los verdaderos positivos son los correctamente clasificados como "enfermos" y los falsos negativos son los incorrectamente clasificados como "sanos".

La Tasa de Falsos Positivos (FPR) se obtiene mediante esta ecuación:

False Positve Rate

La Tasa de Falsos Positivos es igual a los falsos positivos dividido por los falsos positivos más los verdaderos negativos. Los falsos positivos son los individuos sanos clasificados erróneamente como "enfermos" y los verdaderos negativos son los individuos clasificados correctamente como "sanos".

Trazar la curva ROC

Ahora podemos calcular para cada umbral la Tasa de Verdaderos Positivos y la Tasa de Falsos Positivos. Estos dos valores se representan en la curva ROC. La Tasa de Verdaderos Positivos se representa en el eje y y la Tasa de Falsos Positivos en el eje x.

Tracemos la curva ROC completa para nuestro ejemplo.

ROC Curve

Si optamos por que el valor del umbral sea muy pequeño, es decir, si nos desplazamos hacia la izquierda, clasificamos correctamente a los 5 individuos enfermos. Nuestra tasa de verdaderos positivos es de 5 sobre 5, es decir, 1.

threshold ROC Curve

Sin embargo, también clasificamos erróneamente a las 5 personas sanas como "enfermas". Nuestra tasa de falsos positivos es, por tanto, de 5 sobre 5, es decir, 1.

threshold False Positve Rate

Ésto nos da el primer punto:

ROC curve first point

Ahora podemos ampliar el umbral. Aquí seguimos clasificando correctamente a los 5 enfermos como enfermos. Por tanto, seguimos teniendo una Tasa de Verdaderos Positivos de 5/5. Sin embargo, de los 5 individuos sanos, ahora sólo clasificamos erróneamente 4 de 5 como "enfermos". Así que tenemos 4 de 5 o 0.8.

True Positive Rate and False Positive Rate

En el siguiente umbral, seguimos teniendo una Tasa de Verdaderos Positivos de 1. Los 5 enfermos se clasifican correctamente. La Tasa de Falsos Positivos toma un valor de 3/5, es decir, 0.6.

Threshold value 3

En el siguiente umbral, por primera vez una persona enferma se clasifica erróneamente como "sana". Por tanto, obtenemos una Tasa de Verdaderos Positivos de 4/5, es decir, 0.8, y una Tasa de Falsos Positivos de 3/5, es decir, 0.6.

Threshold value 4

Podemos seguir con el proceso para cada umbral desado, finalizando la curva ROC. En el punto indicado a continuación, por ejemplo, el 80% de las personas enfermas se clasifican correctamente como "enfermas" y el 20% de las personas sanas se clasifican incorrectamente como "enfermas".

Finished ROC curve

Valor AUC

La curva ROC nos permite comparar distintos métodos de clasificación. Un modelo de clasificación es mejor cuanto más alta es la curva. Por tanto, cuanto mayor sea el área bajo la curva, mejor será el clasificador. Y exactamente esta área se refleja en el valor AUC, acrónimo en ingleś para Área Bajo la Curva.

AUC value

El valor AUC varía entre 0 y 1. Cuanto mayor sea el valor, mejor será el clasificador.

Intervalo de confianza y valor p para el AUC

El AUC se estima a partir de una muestra y, por tanto, conlleva cierta incertidumbre. En las publicaciones, el AUC casi siempre se presenta junto con un intervalo de confianza, por ejemplo "AUC = 0.83 (IC del 95 % de 0.75 a 0.91)". numiqo calcula el error estándar del AUC con el método de DeLong y, a partir de él, el intervalo de confianza del 95 %. El intervalo de confianza muestra el rango en el que se sitúa de forma plausible la discriminación real de la prueba: un intervalo estrecho indica una estimación precisa, mientras que un intervalo amplio significa que la muestra aún dice poco sobre la calidad real de la prueba.

Además, numiqo proporciona un valor p. Contrasta la hipótesis nula de que el AUC es igual a 0.5, es decir, que la prueba no discrimina mejor que el azar. Sin embargo, este valor p no debe sobrevalorarse: que una prueba seriamente estudiada sea mejor que lanzar una moneda al aire es algo que ocurre casi siempre, por lo que un resultado significativo aquí no sorprende. La información realmente interesante es el intervalo de confianza, porque muestra hasta qué punto discrimina bien la prueba y con qué precisión se estima, no solo si es mejor que el azar.

Índice de Youden y umbral óptimo

El valor AUC nos indica lo bien que discrimina una prueba en conjunto. Todavía no nos dice qué umbral utilizar en la práctica. Para eso sirve precisamente el índice de Youden, que suele abreviarse como J.

El índice de Youden se calcula para cada umbral posible y se define como:

J = sensibilidad + especificidad - 1

El índice de Youden puede tomar valores entre 0 y 1. Si J es igual a 0, el punto se sitúa exactamente sobre la diagonal, de modo que la prueba no discrimina mejor que el azar. Si J es igual a 1, la clasificación es perfecta, sin falsos positivos ni falsos negativos. De forma intuitiva, el índice de Youden no es más que la distancia vertical entre la curva ROC y la diagonal.

El umbral óptimo es entonces el umbral en el que el índice de Youden es mayor. Es el punto en el que la curva ROC está más lejos de la diagonal y en el que la sensibilidad y la especificidad son, en conjunto, mejores.

Importante tener en cuenta: el índice de Youden pondera por igual los casos no detectados y las falsas alarmas y no tiene en cuenta la frecuencia real de la condición. En nuestro ejemplo de cribado de cáncer probablemente sería mucho peor pasar por alto a una persona enferma que clasificar inicialmente a una persona sana como "enferma". En un caso así puede tener sentido elegir deliberadamente otro umbral con mayor sensibilidad, aunque el índice de Youden no esté ahí en su máximo.

numiqo calcula el índice de Youden automáticamente y presenta el umbral óptimo junto con la sensibilidad y la especificidad correspondientes en la tabla "Umbral óptimo (índice de Youden)".

Razón de verosimilitud positiva y negativa

En el umbral elegido, la sensibilidad y la especificidad no son las únicas medidas útiles. A menudo se presentan además las razones de verosimilitud, porque responden a la pregunta que realmente importa en la práctica: ¿en qué medida cambia un resultado de la prueba la valoración de si una persona tiene la condición?

La razón de verosimilitud positiva se define como:

LR+ = sensibilidad / (1 - especificidad)

Indica el factor por el que un resultado positivo aumenta las probabilidades de enfermedad. Un LR+ de 5, por ejemplo, significa que un resultado positivo es cinco veces más probable en una persona que realmente tiene la enfermedad que en una sana.

La razón de verosimilitud negativa se define como:

LR− = (1 - sensibilidad) / especificidad

Correspondientemente, indica cómo cambian las probabilidades de enfermedad tras un resultado negativo. Aquí los valores pequeños son buenos: un LR− bajo sugiere que un resultado negativo descarta de forma fiable la enfermedad.

Una gran ventaja de las razones de verosimilitud es que no dependen de la prevalencia, es decir, de lo frecuente que es la condición en el grupo examinado. Como regla general aproximada, un LR+ superior a 10 o un LR− inferior a 0.1 se considera evidencia fuerte. numiqo presenta ambos valores en el umbral óptimo en la tabla "Umbral óptimo (índice de Youden)".

Cuándo los valores bajos indican la condición

En nuestro ejemplo, los valores altos en sangre indican enfermedad. En muchas medidas ocurre lo contrario: los valores bajos indican la condición, por ejemplo la hemoglobina o la función de bombeo del corazón. Para la curva ROC es crucial en qué sentido va la relación, porque eso determina a partir de qué umbral un caso cuenta como positivo.

Esta dirección debe fijarse a partir del conocimiento del ámbito y no leerse de los datos: si siempre eligieras automáticamente la dirección que parece mejor, el AUC saldría sistemáticamente demasiado alto. Por eso en numiqo indicas tú mismo si son los valores altos o bajos los que señalan el estado positivo. Si eliges la dirección incorrectamente, lo notas de inmediato por un AUC inferior a 0.5, y entonces basta con seleccionar la otra dirección.

Curva ROC y regresión logística

Pero, ¿qué ocurre con la curva ROC y la regresión logística? Podríamos, por ejemplo, crear un nuevo clasificador utilizando la regresión logística. Aquí podríamos utilizar, además del valor sanguíneo, la edad y el sexo de la persona.

En una regresión logística, el valor estimado es entonces la probabilidad de que una persona determinada padezca la enfermedad.

Logistic regression classification threshold

Muy a menudo, el 50% se toma simplemente como umbral para clasificar si una persona está enferma o no. Pero, por supuesto, no tiene por qué ser así. Se puede utilizar cualquier umbral.

Logistic Regression Threshold

Por lo tanto, también podemos crear una curva ROC para los diferentes valores del umbral en la regresión logística.

Crear curva ROC con numiqo

Por supuesto, podemos crear fácilmente una curva ROC en línea con numiqo. Para ello, simplemente copiamos nuestros datos en esta tabla y hacemos clic en Calculadora ROC. Alternativamente, también puede crear una curva ROC en la Calculadora de Regresión en Regresión Logística.

Create ROC curve online

Simplemente seleccionamos las dos variables Enfermedad y Valor en sangre, y especificamos lo que consideramos un evento positivo, en nuestro caso la respuesta sí. Así obtenemos la curva ROC. En la tabla bajo la curva ROC encontramos el valor umbral respectivo para cada punto de la curva.

Cita numiqo: numiqo Team (2026). numiqo: Online Statistics Calculator. numiqo e.U. Graz, Austria. URL https://numiqo.es