¿Área bajo la curva ROC o área bajo la curva PR para datos desequilibrados?

16

Tengo algunas dudas sobre qué medida de rendimiento usar, área bajo la curva ROC (TPR como función de FPR) o área bajo la curva de recuperación de precisión (precisión como función de recuperación).

Mis datos están desequilibrados, es decir, el número de instancias negativas es mucho mayor que las instancias positivas.

Estoy usando la predicción de salida de weka, una muestra es:

inst#,actual,predicted,prediction
1,2:0,2:0,0.873
2,2:0,2:0,0.972
3,2:0,2:0,0.97
4,2:0,2:0,0.97
5,2:0,2:0,0.97
6,2:0,2:0,0.896
7,2:0,2:0,0.973

Y estoy usando las bibliotecas pROC y ROCR r.

MM
fuente
Olvidó mencionar lo que quiere lograr con cualquiera de estas curvas.
Marc Claesen
1
Nota: parece que desea elegir entre las curvas ROC (TPR en función de FPR en todo el rango operativo) y las curvas PR (precisión versus recuperación en todo el rango operativo). Terminología como " AUC-ROC de precisión y recuperación " es muy engañosa, así que he editado esto. Por favor revísela si no he entendido bien.
Marc Claesen

Respuestas:

27

La pregunta es bastante vaga, así que voy a suponer que desea elegir una medida de rendimiento adecuada para comparar diferentes modelos. Para obtener una buena visión general de las diferencias clave entre las curvas ROC y PR, puede consultar el siguiente documento: La relación entre recuperación de precisión y curvas ROC de Davis y Goadrich .

Para citar a Davis y Goadrich:

Sin embargo, cuando se trata de conjuntos de datos muy asimétricos, las curvas de recuperación de precisión (PR) ofrecen una imagen más informativa del rendimiento de un algoritmo.

FPR=FPFP+TN,TPR=TPTP+FN.
recall=TPTP+FN=TPR,precision=TPTP+FP

FP

Las curvas de recuperación de precisión son mejores para resaltar las diferencias entre modelos para conjuntos de datos altamente desequilibrados. Si desea comparar diferentes modelos en configuraciones desequilibradas, el área bajo la curva PR probablemente exhibirá mayores diferencias que el área bajo la curva ROC.

Dicho esto, las curvas ROC son mucho más comunes (incluso si son menos adecuadas). Dependiendo de su audiencia, las curvas ROC pueden ser la lengua franca, por lo que usarlas es probablemente la opción más segura. Si un modelo domina completamente a otro en el espacio PR (por ejemplo, siempre tiene una mayor precisión en todo el rango de recuperación), también dominará en el espacio ROC. Si las curvas se cruzan en cualquier espacio, también se cruzarán en el otro. En otras palabras, las conclusiones principales serán similares sin importar qué curva use.


Anuncio descarado . Como ejemplo adicional, podría echar un vistazo a uno de mis documentos en el que informo de las curvas ROC y PR en un entorno desequilibrado. La Figura 3 contiene curvas ROC y PR para modelos idénticos, mostrando claramente la diferencia entre los dos. Para comparar el área bajo PR versus el área bajo ROC, puede comparar las tablas 1-2 (AUPR) y las tablas 3-4 (AUROC) donde puede ver que AUPR muestra diferencias mucho mayores entre modelos individuales que AUROC. Esto enfatiza la idoneidad de las curvas PR una vez más.

Marc Claesen
fuente
Gracias por la explicación. La pregunta ahora, ¿por qué las curvas PR son más informativas para los datos desequilibrados? Para mí, ROC debería ser más informativo porque considera tanto TPR como FPR.
MM
1
@MA editó mi respuesta para aclarar.
Marc Claesen
1
Creo que hay una confusión en la ecuación para recordar entre TPR y FPR, ¿no?
Simon Thordal
Tienes razón, debería ser: recordar = ... = TPR, no FPR. @Marc Claesen, creo que solo tú puedes cambiar eso, porque cuando trato de hacerlo, me informan que: "Las ediciones deben tener al menos 6 caracteres", por lo que es imposible corregir pequeños errores tipográficos, como este.
ponadto
6

Las curvas ROC trazan TPR en el eje y y FPR en el eje x, pero depende de lo que desee representar. A menos que haya alguna razón para trazarlo de manera diferente en su área de estudio, las curvas TPR / FPR ROC son el estándar para mostrar compensaciones operativas y creo que serían más bien recibidas.

La precisión y el recuerdo solo pueden ser engañosos porque no tienen en cuenta los verdaderos negativos.

Socavador
fuente
0

Considero la mayor diferencia en ROC y PR AUC el hecho de que el ROC está determinando qué tan bien su modelo puede "calcular" la clase positiva Y la clase negativa, mientras que el PR AUC realmente solo está mirando a su clase positiva. Entonces, en una situación de clase equilibrada y donde le interesan las clases negativas y positivas, la métrica ROC AUC funciona muy bien. Cuando tiene una situación desequilibrada, se prefiere usar el AUC PR, ¡pero tenga en cuenta que solo está determinando qué tan bien su modelo puede "calcular" la clase positiva!

David
fuente