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 3/5, es decir, 0.6.

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.

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 DATAtab

Por supuesto, podemos crear fácilmente una curva ROC en línea con DATAtab. 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 . Así obtenemos la curva ROC. En la tabla bajo la curva ROC encontramos el valor umbral respectivo para cada punto de la curva.

Cita DATAtab: DATAtab Team (2024). DATAtab: Online Statistics Calculator. DATAtab e.U. Graz, Austria. URL https://datatab.es

Contacto y soporte Preguntas frecuentes y Sobre nosotros Política de privacidad Software estadístico