Métricas de classificação / avaliação para dados altamente desequilibrados

22

Eu lido com um problema de detecção de fraude (como pontuação de crédito). Como tal, existe uma relação altamente desequilibrada entre observações fraudulentas e não fraudulentas.

http://blog.revolutionanalytics.com/2016/03/com_class_eval_metrics_r.html fornece uma excelente visão geral das diferentes métricas de classificação. Precision and Recallou kappaambos parecem ser uma boa escolha:

Uma maneira de justificar os resultados desses classificadores é comparando-os com os dos classificadores de linha de base e mostrando que eles são realmente melhores do que as previsões aleatórias.

Tanto quanto eu entendo, kappapoderia ser a melhor escolha aqui, pois a chance aleatória é levada em consideração. Do kappa de Cohen, em inglês simples, eu entendo que kappalida com o conceito de ganho de informação:

[...] uma precisão observada de 80% é muito menos impressionante, com uma precisão esperada de 75% versus uma precisão esperada de 50% [...]

Portanto, minhas perguntas seriam:

  • É correto assumir kappaque é uma métrica de classificação mais adequada para esse problema?
  • O simples uso kappaevita os efeitos negativos do desequilíbrio no algoritmo de classificação? A aprendizagem com base em re (down / up) ou aprendizado baseado em custos (consulte http://www.icmc.usp.br/~mcmonard/public/laptec2002.pdf ) ainda é necessário?
Georg Heiler
fonte
A amostragem de dados para cima / para baixo é algo que você deve fazer quando os dados de treinamento os desequilibram e às vezes pode ajudar a impedir que os classificadores ignorem as classes minoritárias. É inapropriado (e um pouco fraudulento) usar dados reamostrados ao avaliar seu classificador - você relatará um desempenho que seu classificador não possui quando aplicado em uma amostra distribuída de forma idêntica aos dados de teste originais.
user48956
Relacionados: stats.stackexchange.com/questions/284515/...
Anton Tarasenko

Respostas:

10

Sim, suas suposições sobre Kappa parecem certas. O Kappa como métricas escalares únicas é principalmente uma vantagem sobre outras métricas escalares, como precisão, que não refletem o desempenho de previsão de classes menores (sombreado pelo desempenho de qualquer classe muito maior). O Kappa resolve esse problema de maneira mais elegante, como você apontou.

O uso de uma métrica como Kappa para medir seu desempenho não aumentará necessariamente a forma como seu modelo se ajusta aos dados. Você pode medir o desempenho de qualquer modelo usando várias métricas, mas como o modelo ajusta os dados é determinado usando outros parâmetros (por exemplo, hiperparâmetros). Portanto, você pode usar, por exemplo, o Kappa para selecionar o tipo de modelo mais adequado e a hiperparametrização entre várias opções para o seu problema muito desequilibrado - mas apenas calcular o próprio Kappa não mudará a forma como o modelo se ajusta aos seus dados desequilibrados.

Para métricas diferentes: além de Kappa e precisão / recall, observe também as taxas TPR / TNR e curvas ROC verdadeiras positivas e negativas verdadeiras e ROC e a área sob a curva AUC. Quais são úteis para o seu problema dependerão principalmente dos detalhes do seu objetivo. Por exemplo, as diferentes informações refletidas em TPR / TNR e precisão / recall: é seu objetivo ter uma alta parcela de fraudes realmente detectadas como tal, e uma alta parcela de transações legítimas sendo detectadas como tal e / ou minimizar o compartilhamento de alarmes falsos (que você naturalmente terá "em massa" com esses problemas) em todos os alarmes?

Para up / downsampling: acho que não há resposta canônica para "se isso for necessário". Eles são mais uma maneira de adaptar seu problema. Tecnicamente: sim, você pode usá-los, mas use-os com cuidado, especialmente ampliando a amostragem (você pode acabar criando amostras irrealistas sem perceber) - e esteja ciente de que alterar a frequência de amostras de ambas as classes para algo não realista "na natureza "também pode ter efeitos negativos no desempenho das previsões. Pelo menos o conjunto final de testes deve refletir a frequência real das amostras novamente. Conclusão: vi os dois casos em que fazer e não aumentar ou diminuir a amostragem resultou em melhores resultados finais; portanto, é algo que você pode precisar experimentar (mas não manipule seu (s) conjunto (s) de teste!) .

geekoverdose
fonte
Mas uma abordagem baseada em custos como o DOI 10.1109 / ICMLA.2014.48 é mais adequada porque o impacto geral nos negócios é considerado?
Georg Heiler
15

Além da AUC e do kappa de Kohonen já discutidos nas outras respostas, eu também gostaria de adicionar algumas métricas que achei úteis para dados desequilibrados. Ambos estão relacionados à precisão e recall . Porque, calculando a média destes, você obtém uma métrica que pesa e ambos os tipos de erros ( e ):TPFPFN

  • Pontuação F1 , que é a média harmônica de precisão e recuperação .
  • Medida G , que é a média geométrica de precisão e recuperação . Comparado à F1, achei um pouco melhor para dados desequilibrados.
  • Índice Jaccard , que você pode considerar o . Essa é realmente a métrica que melhor funcionou para mim.TP/(TP+FP+FN)

Nota: Para conjuntos de dados desequilibrados, é melhor ter suas métricas com média macro .

Johnson
fonte
1
O que você quer dizer com 'melhor' quando se refere à medida G e ao índice Jaccard?
Narfanar 02/01
8

Para conjuntos de dados desequilibrados, a métrica de precisão média às vezes é uma alternativa melhor ao AUROC. A pontuação AP é a área sob a curva de precisão de recuperação.

Aqui está uma discussão com algum código (Python)

Aqui está um papel .

Veja também as curvas Precision-Recall-Gain de Peter Flach , juntamente com uma discussão sobre as deficiências das curvas AP.

user48956
fonte