Determine o quão bom é um AUC (Área sob a Curva de ROC)

Aug 15 2020

Atualmente, estou trabalhando em um projeto que envolve o uso de diferentes conjuntos de dados como um preditor para prever o resultado de dados fora da amostra. Eu uso AUC (Área sob a Curva de ROC) para comparar o desempenho de cada conjunto de dados.

Estou familiarizado com a teoria por trás da AUC e ROC, mas gostaria de saber se há um padrão preciso para avaliar a AUC , por exemplo, se um resultado AUC for superior a 0,75, será classificado como 'BOA AUC' ou inferior a 0,55 , será classificado como 'AUC RUIM' .

Esse padrão existe ou AUC é sempre apenas para comparação?

Respostas

17 SextusEmpiricus Aug 16 2020 at 23:45

Dos comentários:

Calimo : Se você é um comerciante e pode obter um AUC de 0,501 na previsão de futuras transações financeiras, você é o homem mais rico do mundo. Se você for um engenheiro de CPU e seu projeto obtiver um AUC de 0,999 ao dizer se um bit é 0 ou 1, você tem um pedaço de silício inútil.

10 usεr11852 Aug 16 2020 at 15:19

Esta é uma resposta complementar à resposta de Andrey (+1).

Ao procurar uma referência geralmente aceita sobre os valores AUC-ROC, me deparei com a " Regressão Logística Aplicada " de Hosmer . Em Chapt. 5 “ Avaliando o Ajuste do Modelo ”, enfatizou que “ não existe um número“ mágico ”, apenas orientações gerais ”. Nele, os seguintes valores são dados:

  • ROC = 0,5 Isso sugere nenhuma discriminação, (...).
  • 0,5 <ROC <0,7 Consideramos esta discriminação pobre, (...).
  • 0,7 $\leq$ ROC <0,8 Consideramos esta discriminação aceitável.
  • 0,8 $\leq$ ROC <0,9 Consideramos esta discriminação excelente.
  • ROC $\geq$ 0.9 Consideramos esta discriminação excepcional.

Esses valores não são absolutamente definidos e são fornecidos sem qualquer contexto. Como Star Trek nos ensina: " A lei universal é para lacaios, o contexto é para reis " , ou seja (e mais seriamente), precisamos entender o que estamos tomando em uma decisão particular e o que nossas métricas refletem. Minhas diretrizes seriam:

  1. Para qualquer nova tarefa, devemos examinar ativamente a literatura existente para ver o que é considerado desempenho competitivo. (por exemplo, detecção de câncer de pulmão a partir de imagens de raios-X) Esta é praticamente uma revisão da literatura.
  2. Se nossas tarefas não estiverem presentes na literatura, devemos ter como objetivo fornecer uma melhoria em relação a um modelo de linha de base razoável. Esse modelo de linha de base pode ser algumas regras básicas simples, outras soluções existentes e / ou previsões fornecidas por avaliadores humanos.
  3. Se tivermos uma tarefa sem literatura existente e nenhum modelo de linha de base simples disponível, devemos parar de tentar fazer uma comparação de desempenho de modelo "melhor / pior". Nesse ponto, dizer " AUC-R0C 0,75 é ruim " ou " AUC-ROC 0,75 é bom " é uma questão de opinião.
8 AndreyLukyanenko Aug 16 2020 at 03:25

Não é possível dizer porque realmente depende da tarefa e dos dados. Para algumas tarefas simples, o AUC pode ser 90+, para outras ~ 0,5-0,6.

3 Thomas Aug 16 2020 at 13:10

Geralmente, eu não diria isso. Tudo depende da tarefa, do seu conjunto de dados e dos objetivos. Não há regra de que um valor de AUC de xx seja definido como um bom modelo de previsão.

Dito isso, você deseja atingir o valor de AUC mais alto possível. Nos casos em que você obtém um AUC de 1, seu modelo é essencialmente um preditor perfeito para seu resultado. Em casos de 0,5, seu modelo não tem muito valor. Uma AUC de 0,5 significa apenas que o modelo está apenas predizendo aleatoriamente o resultado não melhor do que um macaco faria (em teoria). Só posso recomendar que você leia mais sobre isso, caso ainda não tenha lido. Isso é realmente simples. E aqui .