Área sob a curva ROC ou área sob a curva PR para dados desequilibrados?

16

Tenho algumas dúvidas sobre qual medida de desempenho usar, área sob a curva ROC (TPR como uma função da FPR) ou área sob a curva de precisão de recall (precisão como uma função de recall).

Meus dados estão desequilibrados, ou seja, o número de instâncias negativas é muito maior que as instâncias positivas.

Estou usando a previsão de saída de weka, uma amostra é:

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

E eu estou usando bibliotecas pROC e ROCR r.

MILÍMETROS
fonte
Você esqueceu de mencionar o que deseja alcançar com qualquer uma dessas curvas.
Marc Claesen
1
Nota: parece que você deseja escolher entre curvas ROC (TPR em função do FPR em toda a faixa de operação) e curvas PR (precisão versus recuperação em toda a faixa de operação). Terminologia como " AUC-ROC de precisão e recall " é muito enganadora, então eu editei isso. Por favor, reverta-o se eu entendi errado.
Marc Claesen

Respostas:

27

A pergunta é bastante vaga, por isso vou assumir que você deseja escolher uma medida de desempenho apropriada para comparar diferentes modelos. Para uma boa visão geral das principais diferenças entre as curvas ROC e PR, você pode consultar o seguinte artigo: A Relação entre Precision-Recall e ROC Curves, de Davis e Goadrich .

Para citar Davis e Goadrich:

No entanto, ao lidar com conjuntos de dados altamente assimétricos, as curvas Precision-Recall (PR) fornecem uma imagem mais informativa do desempenho de um algoritmo.

Curvas ROC plotam FPR vs TPR. Para ser mais explícito: Curvas de PR plotam precisão versus recall (FPR), ou mais explicitamente: recall=

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

A precisão é diretamente influenciada pelo (s) saldo de classe, uma vez que é afectada, ao passo que só depende TPR positivos. É por isso que as curvas ROC não capturam esses efeitos.FP

As curvas de recuperação de precisão são melhores para destacar as diferenças entre os modelos para conjuntos de dados altamente desequilibrados. Se você deseja comparar modelos diferentes em configurações desequilibradas, a área sob a curva PR provavelmente exibirá diferenças maiores que a área sob a curva ROC.

Dito isto, as curvas ROC são muito mais comuns (mesmo que sejam menos adequadas). Dependendo do seu público, as curvas ROC podem ser a língua franca, portanto, usá-las é provavelmente a escolha mais segura. Se um modelo domina completamente outro no espaço PR (por exemplo, sempre tem maior precisão em toda a faixa de recall), ele também domina no espaço ROC. Se as curvas se cruzarem em um dos espaços, elas também se cruzarão no outro. Em outras palavras, as principais conclusões serão semelhantes, independentemente da curva usada.


Propaganda vergonhosa . Como um exemplo adicional, você pode dar uma olhada em um dos meus trabalhos em que eu relato as curvas ROC e PR em um cenário desequilibrado. A Figura 3 contém curvas ROC e PR para modelos idênticos, mostrando claramente a diferença entre os dois. Para comparar a área sob o PR versus a área sob ROC, você pode comparar as tabelas 1-2 (AUPR) e tabelas 3-4 (AUROC), onde é possível ver que o AUPR mostra diferenças muito maiores entre os modelos individuais que o AUROC. Isso enfatiza a adequação das curvas PR mais uma vez.

Marc Claesen
fonte
Obrigada pelo esclarecimento. A questão agora é: por que as curvas de relações públicas são mais informativas para dados desequilibrados? Para mim, o ROC deve ser mais informativo porque considera o TPR e o FPR.
MM
1
A @MA editou minha resposta para esclarecer.
Marc Claesen
1
Eu acho que há uma confusão na equação de recall entre TPR e FPR, não?
Simon Thordal
Você está certo, deve ser: recall = ... = TPR, não FPR. @ Marc Claesen, acho que só você pode mudar isso, porque quando tento fazer isso, sou informado que: "As edições devem ter pelo menos 6 caracteres", por isso é impossível corrigir pequenos erros de digitação, como este.
Ponadto
6

As curvas ROC plotam TPR no eixo y e FPR no eixo x, mas depende do que você deseja retratar. A menos que haja algum motivo para traçá-lo de maneira diferente em sua área de estudo, as curvas ROC TPR / FPR são o padrão para mostrar trocas operacionais e acredito que elas seriam muito bem recebidas.

A Precisão e a Rechamada, por si só, podem ser enganosas, pois não representam verdadeiros negativos.

Minador
fonte
0

Considero a maior diferença no ROC e no PR AUC o fato de o ROC estar determinando quão bem o seu modelo pode "calcular" a classe positiva E a classe negativa em que, como o PR AUC, na verdade, está apenas olhando para a sua classe positiva. Portanto, em uma situação de classe equilibrada e em que você se preocupa com classes negativas e positivas, a métrica ROC AUC funciona muito bem. Quando você tem uma situação desequilibrada, é preferível usar a AUC de RP, mas lembre-se de que isso só determina o quão bem o seu modelo pode "calcular" a classe positiva!

David
fonte