Tengo dos clasificadores
- A: ingenua red bayesiana
- B: árbol (conectado individualmente) red bayesiana
En términos de precisión y otras medidas, A funciona comparativamente peor que B. Sin embargo, cuando uso los paquetes R ROCR y AUC para realizar el análisis ROC, resulta que el AUC para A es más alto que el AUC para B. ¿Por qué es esto? ¿sucediendo?
El verdadero positivo (tp), falso positivo (fp), falso negativo (fn), verdadero negativo (tn), sensibilidad (sen), especificidad (especificación), valor predictivo positivo (ppv), valor predictivo negativo (npv) y La precisión (acc) para A y B es la siguiente.
+------+---------+---------+
| | A | B |
+------+---------+---------+
| tp | 3601 | 769 |
| fp | 0 | 0 |
| fn | 6569 | 5918 |
| tn | 15655 | 19138 |
| sens | 0.35408 | 0.11500 |
| spec | 1.00000 | 1.00000 |
| ppv | 1.00000 | 1.00000 |
| npv | 0.70442 | 0.76381 |
| acc | 0.74563 | 0.77084 |
+------+---------+---------+
Con la excepción de sens y lazos (spec y ppv) en los marginales (excluyendo tp, fn, fn y tn), B parece tener un mejor desempeño que A.
Cuando calculo el AUC para sens (eje y) vs 1-spec (eje x)
aucroc <- auc(roc(data$prediction,data$labels));
Aquí está la comparación AUC.
+----------------+---------+---------+
| | A | B |
+----------------+---------+---------+
| sens vs 1-spec | 0.77540 | 0.64590 |
| sens vs spec | 0.70770 | 0.61000 |
+----------------+---------+---------+
Asi que aqui están mis preguntas:
- ¿Por qué el AUC para A es mejor que B, cuando B "parece" superar a A con respecto a la precisión?
- Entonces, ¿cómo juzgo / comparo realmente el rendimiento de clasificación de A y B? Quiero decir, ¿uso el valor de AUC? ¿Utilizo el valor acc y, de ser así, por qué?
- Además, cuando aplico las reglas de puntuación adecuadas a A y B, B supera a A en términos de pérdida logarítmica, pérdida cuadrática y pérdida esférica (p <0.001). ¿Cómo influyen estos en juzgar el desempeño de la clasificación con respecto al AUC?
- El gráfico ROC para A se ve muy suave (es un arco curvo), pero el gráfico ROC para B parece un conjunto de líneas conectadas. ¿Por qué es esto?
Según lo solicitado, aquí están las parcelas para el modelo A.
Aquí están las parcelas para el modelo B.
Estas son las gráficas de histograma de la distribución de las probabilidades para A y B. (los descansos se establecen en 20).
Aquí está el diagrama de dispersión de las probabilidades de B vs A.
fuente
Respuestas:
Las reglas de puntuación inadecuadas, como la proporción clasificada correctamente, la sensibilidad y la especificidad, no solo son arbitrarias (en la elección del umbral), sino que son incorrectas, es decir, tienen la propiedad de que maximizarlas conduce a un modelo falso, predicciones inexactas y seleccionar las características incorrectas . Es bueno que no estén de acuerdo con la puntuación adecuada (log-verosimilitud; regla de puntuación logarítmica; puntuación de Brier) y las reglas index (una regla de puntuación semi-adecuada - área bajo curva ROC; probabilidad de concordancia; estadística de Wilcoxon; Somers ' coeficiente de correlación de rango); Esto nos da más confianza en las reglas de puntuación adecuadas.D x ydo rex y
fuente
¿Por qué el AUC para A es mejor que B, cuando B "parece" superar a A con respecto a la precisión?
La precisión se calcula en el valor umbral de 0,5. Mientras que AUC se calcula agregando todas las "precisiones" calculadas para todos los valores umbral posibles. ROC puede verse como un promedio (valor esperado) de esas precisiones cuando se calculan para todos los valores de umbral.
Entonces, ¿cómo juzgo / comparo realmente el rendimiento de clasificación de A y B? Quiero decir, ¿uso el valor de AUC? ¿uso el valor acc? ¿y por qué?
Depende. Las curvas ROC le dicen algo acerca de qué tan bien su modelo separa las dos clases, sin importar dónde esté el valor umbral. La precisión es una medida que funciona bien generalmente cuando las clases mantienen el mismo equilibrio en el tren y las pruebas, y cuando los puntajes son realmente probabilidades. ROC le da más pistas sobre cómo se comportará el modelo si se viola esta suposición (sin embargo, es solo una idea).
Además, cuando aplico las reglas de puntuación adecuadas a A y B, B supera a A en términos de pérdida de registro, pérdida cuadrática y pérdida esférica (p <0.001). ¿Cómo influyen estos en juzgar el desempeño de la clasificación con respecto al AUC?
Yo no sé. Tienes que entender mejor de qué se tratan tus datos. Lo que cada modelo es capaz de entender de sus datos. Y luego decida cuál es el mejor compromiso. La razón por la que eso sucede es que no hay una métrica universal sobre el rendimiento de un clasificador.
El gráfico ROC para A se ve muy suave (es un arco curvo), pero el gráfico ROC para B parece un conjunto de líneas conectadas. ¿Por qué es esto?
Probablemente se deba a que el modelo bayesiano le proporciona transiciones suaves entre esas dos clases. Eso se traduce en muchos valores umbral. Lo que significa muchos puntos en la curva ROC. El segundo modelo probablemente produzca menos valores debido a la predicción con el mismo valor en regiones más grandes del espacio de entrada. Básicamente, también la primera curva ROC está hecha por líneas, la única diferencia es que hay tantas líneas pequeñas adyacentes, que la ves como una curva.
fuente
Primero, aunque el punto de corte (0.5) es el mismo, no es comparable en absoluto entre A y B. De hecho, ¡se ve muy diferente de sus histogramas! Mire B: todas sus predicciones son <0.5.
Segundo, ¿por qué B es tan preciso? Debido al desequilibrio de clase. En la prueba B, tiene 19138 ejemplos negativos y 6687 positivos (por qué los números son diferentes en A no está claro para mí: ¿valores perdidos tal vez?). Esto significa que simplemente diciendo que todo es negativo, ya puedo lograr una precisión bastante buena: precisamente 19138 / (19138 + 6687) = 74%. Tenga en cuenta que esto no requiere absolutamente ningún conocimiento más allá del hecho de que hay un desequilibrio entre las clases: ¡incluso el modelo más tonto puede hacerlo!
Y esto es exactamente lo que hace la prueba B en el umbral de 0.5 ... obtienes (casi) solo predicciones negativas.
A es más una bolsa mixta con. Aunque tiene una precisión ligeramente menor, tenga en cuenta que su sensibilidad es mucho mayor en este punto de corte ...
Finalmente, no puede comparar la precisión (un rendimiento en un umbral) con el AUC (un rendimiento promedio en todos los umbrales posibles). Como estas métricas miden cosas diferentes, no es sorprendente que sean diferentes.
Tienes que pensar: ¿qué es lo que realmente quieres hacer? ¿Lo que es importante? En última instancia, solo usted puede responder esta pregunta basándose en su conocimiento de la pregunta. Quizás AUC tiene sentido (rara vez lo hace realmente cuando lo piensas realmente, excepto cuando no quieres tomar una decisión por ti mismo pero dejas que otros lo hagan, lo más probable es que estés haciendo una herramienta para que otros lo usen), tal vez la precisión (si necesita una respuesta binaria, ir-no ir), pero tal vez en umbrales diferentes, tal vez algunas otras medidas más continuas, tal vez una de las medidas sugeridas por Frank Harrell ... como ya se dijo, no hay una pregunta universal aquí.
Volvamos a las predicciones que mostraste en los histogramas. A le da una predicción continua o casi continua. Por el contrario, B devuelve principalmente solo unos pocos valores diferentes (como puede ver en el histograma "puntiagudo").
En una curva ROC, cada punto corresponde a un umbral. En A, tiene muchos umbrales (porque las predicciones son continuas), por lo que la curva es suave. En B, solo tiene unos pocos umbrales, por lo que la curva parece "saltos" de un SN / SP a otro.
Usted ve saltos verticales cuando la sensibilidad solo cambia (el umbral hace diferencias solo para casos positivos), saltos horizontales cuando solo cambia la especificidad (el umbral hace diferencias solo para ejemplos negativos) y saltos diagonales cuando el cambio de umbral afecta a ambas clases.
fuente