Archivo de la etiqueta: curva ROC

El sobremuestreo ¿mejora mi estimación?

El sobremuestreo (oversampling) es una técnica de muestreo que se emplea habitualmente cuando tenemos una baja proporción de casos positivos en clasificaciones binomiales. Los modelos pueden “despreciar” los casos positivos por ser muy pocos y nuestro modelo no funcionaría. Para incrementar el número de casos positivos se emplea el sobremuestreo. Ejemplos habituales pueden ser los modelos de fraude, un 99% de las compras son correctas, un 1% son fraudulentas. Si realizo un modelo puedo estar seguro al 99% de que todas mis compras son correctas, en este caso hemos de realizar un sobremuestreo para incrementar nuestros casos de fraude y poder detectar los patrones.

Personalmente no sabría deciros el porcentaje de casos positivos a partir del cual sería necesario llevar a cabo un proceso de remuestreo. A mi particularmente me gusta hacerlo siempre. Por lo menos realizar algunas pruebas para identificar aquellas variables que son más influyentes y comenzar a eliminar aquellas que no van a funcionar. Busco exagerar. Tampoco me quiero mojar mucho sobre la proporción de casos positivos y negativos, pero si estamos realizando un nuevo muestreo podemos emplear perfectamente un 50% para ambos, aquí si que dependemos del número de registros con el que estemos trabajando ya que al final el sobremuestreo será la repetición de los casos positivos sobre la tabla de entrada del modelo.

Sin embargo, cuando ya tengo decidido como va a ser mi modelo no me gusta realizar sobremuestreo. Lo considero un paso previo (algún lector del blog considerará estas palabras incoherentes). Después de toda esta exposición teórico-práctica de malos usos de un dinosaurio  en realidad lo que cabepreguntarse es ¿mejora la estimación un modelo con sobremuestreo?

Abrimos R y Tinn-R y manos a la obr Seguir leyendo El sobremuestreo ¿mejora mi estimación?

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.