Trucos Excel. Área bajo la curva ROC

curva-roc.png

¿Curva ROC y Excel? ¡Si no tiene nada que ver! No del todo.  En ocasiones tenemos que pintar las curvas ROC y empleamos las herramientas específicas para ello, sin embargo es habitual que nuestros resultados sean presentados en Excel (demasiado habitual). En ese caso creamos nuestros datos para llevarlos a Excel y realizamos nuestro gráfico. Ya tenemos nuestra tabla y hacemos un algo muy parecido a lo que tenemos más arriba. La curva ROC es un mecanismo para evaluar nuestro modelo y compara la especificidad que es la probabilidad de clasificar mal un caso negativo frente a la sensibilidad que es la probabilidad de clasificar correctamente un caso positivo, es decir, falsos positivos frente a verdaderos positivos. El área bajo la curva ROC será un valor entre 0,5 y 1. Cuanto más próximo a 1 mejor será nuestro modelo. Queda pendiente una revisión “en condiciones” de las curvas ROC y de los gráficos lift, mucho mejores cuando tienes que presentar resultados en un área de negocio.

Entonces, ya tenemos el gráfico en Excel y nos piden hayar el área bajo la curva ROC. ¿Cómo lo hacemos esto? Mediante una simulación por método Montecarlo. Creamos números aleatorios y si están por encima de la sensibilidad pues no valen. Posteriormente sumamos los que valen entre todos los que tenemos y hemos obtenido un valor muy próximo al área bajo la curva ROC. En realidad es un método para estimar el área de un póligono. Para entender mejor como se realiza el proceso os un documento de Excel con datos simulados:

curva_roc con datos simulados. Veréis que es muy sencillo. No se puede ser más dinosaurio pero ya verás como a más de uno se le enciende la bombilla. Saludos.

7 comentarios en “Trucos Excel. Área bajo la curva ROC

  1. Oh! Nunca se me habría ocupado hacer integración mediante simulación en EXCEL!. Eso es entretenido de las buenas ideas, que son simples!

    Muchas gracias por compartir!

  2. Hola, buenos días, y muchas felicidades por esta página, me encanta. Sólo comentar que si intentas representar en excel una curva ROC con los datos de una tabla con sensibilidad y especificidad tal cual lo pones, no te sale el gráfico que planteas. Para que te salga ese gráfico tienes que representar la sensibilidad y 1-especificidad. Tal vez me salgo un poco del tema que planteas en el artículo pero es algo que me ha pasado despues de hacer una reg logistica e intentar hacer la curva Roc con los datos de la salida. No obstante, muchísimas gracias por tu labor.

  3. ¡alguien se ha dado cuenta!

    La verdad es que lo hice sin querer cuando monté el excel específico para esta entrada y cambié los ejes sin darme cuenta. De hecho se ve que la curva está mal hecha.

    Me gusta que alguien observe las cosas. Muchas gracias.

  4. Hola, viendo la correción de dmm, te consulto:

    La primer column PROB como la generas y donde la usas?.

    A los valores de la columna que dice especificidad los corregí e hice por ejemplo =1-(E3/(E3+C3)), esto es correcto?

    Los valores de la columna PROB es una probabilidad de que ocurra que valor?

    Como se podría integrar al gráfico la curva de los valores de la columna Falsos Negativos?

    Desde ya muchas gracias

  5. Hola nuevamente, estoy investigando sobre este tema y sos el único que encontré que explica como debe ser esta curva, muy bueno! gracias por el aporte.
    Otras preguntas:

    Como funciona y para que sirve el cuadro de simulacion, el que esta cargado con 0 y 1. Desde ya y nuevamente gracias

    El cruce de la recta a 45º y la curva nos indica que tan fiel es nuestro sistema?

    La sensibilidad (viendo como trabaja la formula de donde se obtenien cada dato) sería el porcentaje de Falsos Negativos existentes, desde ya y nuevamente muchas gracias

  6. No había visto estos comentarios. La idea es calcular de una forma muy sencilla el área bajo la curva y se me ocurrió hacer una simulación del tipo Montecarlo muy sencilla con Excel.

    este área es lo que mide lo bueno que es nuestro modelo. Será mejor cuanto más se aproxime a 1 y peor cuanto más se aproxime a 0,5.

Deja un comentario

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