O que significa AUC e o que é?

228

Pesquisou alta e baixa e não conseguiu descobrir o que a AUC, como relacionada à previsão, significa ou significa.

Josh
fonte
8
Verifique a descrição da auctag usada: stats.stackexchange.com/questions/tagged/auc
Tim
4
Área sob a curva (ou seja, curva ROC)
Andrej
7
Os leitores aqui também podem estar interessados ​​no seguinte tópico: Noções básicas sobre a curva ROC .
gung
11
A expressão "Pesquisado alto e baixo" é interessante, pois você pode encontrar muitas definições / usos excelentes para AUC digitando "AUC" ou "estatísticas da AUC" no google. Pergunta apropriada, é claro, mas essa afirmação me pegou de surpresa!
Behacad
3
Eu fiz a AUC do Google, mas muitos dos principais resultados não declararam explicitamente AUC = Area Under Curve. A primeira página da Wikipedia relacionada a ele tem, mas não até a metade do caminho. Em retrospecto, parece bastante óbvio! Obrigado a todos por algumas respostas muito detalhadas
josh

Respostas:

309

Abreviações

AUC é usada na maioria das vezes para significar AUROC, o que é uma prática ruim, pois, como Marc Claesen apontou, a AUC é ambígua (poderia ser qualquer curva) enquanto a AUROC não é.


Interpretando o AUROC

O AUROC tem várias interpretações equivalentes :

  • A expectativa de que um positivo aleatório desenhado uniformemente seja classificado antes de um negativo aleatório desenhado uniformemente.
  • A proporção esperada de positivos classificados antes de um negativo aleatório desenhado uniformemente.
  • A verdadeira taxa positiva esperada se a classificação for dividida imediatamente antes de um negativo aleatório desenhado uniformemente.
  • A proporção esperada de negativos classificados após um positivo aleatório sorteado uniformemente.
  • A taxa de falso positivo esperada se a classificação for dividida logo após um positivo aleatório sorteado uniformemente.

Indo além: Como derivar a interpretação probabilística do AUROC?


Computando o AUROC

Suponha que tenhamos um classificador binário probabilístico, como regressão logística.

Antes de apresentar a curva ROC (= curva característica de operação do receptor), o conceito de matriz de confusão deve ser entendido. Quando fazemos uma previsão binária, pode haver 4 tipos de resultados:

  • Prevemos 0 enquanto a classe verdadeira é realmente 0: isso é chamado de Negativo Verdadeiro , ou seja, prevemos corretamente que a classe é negativa (0). Por exemplo, um antivírus não detectou um arquivo inofensivo como vírus.
  • Prevemos 0 enquanto a classe verdadeira é realmente 1: isso é chamado de Falso Negativo , ou seja, prevemos incorretamente que a classe é negativa (0). Por exemplo, um antivírus falhou ao detectar um vírus.
  • Prevemos 1 enquanto a classe verdadeira é realmente 0: isso é chamado de Falso Positivo , ou seja, prevemos incorretamente que a classe é positiva (1). Por exemplo, um antivírus considerava um arquivo inofensivo um vírus.
  • Prevemos 1 enquanto a classe verdadeira é realmente 1: isso é chamado de Verdadeiro Positivo , ou seja, prevemos corretamente que a classe é positiva (1). Por exemplo, um antivírus detectou corretamente um vírus.

Para obter a matriz de confusão, examinamos todas as previsões feitas pelo modelo e contamos quantas vezes cada um desses 4 tipos de resultado ocorre:

insira a descrição da imagem aqui

Neste exemplo de matriz de confusão, entre os 50 pontos de dados classificados, 45 são classificados corretamente e os 5 são classificados incorretamente.

Como para comparar dois modelos diferentes, geralmente é mais conveniente ter uma única métrica em vez de várias, calculamos duas métricas da matriz de confusão, que posteriormente combinaremos em uma:

  • Taxa positiva verdadeira ( TPR ), aka. sensibilidade, taxa de acerto e recuperação , que é definido como TPTP+FN . Intuitivamente, essa métrica corresponde à proporção de pontos de dados positivos que são corretamente considerados positivos, com relação a todos os pontos de dados positivos. Em outras palavras, quanto maior o TPR, menos pontos positivos serão perdidos.
  • Taxa de falsos positivos ( FPR ), aka. queda , definida como FPFP+TN

0,00;0,01,0,02,...,1,00

A figura a seguir mostra o AUROC graficamente:

insira a descrição da imagem aqui

Nesta figura, a área azul corresponde à área sob a curva da característica de operação do receptor (AUROC). A linha tracejada na diagonal apresenta a curva ROC de um preditor aleatório: possui um AUROC de 0,5. O preditor aleatório é comumente usado como linha de base para verificar se o modelo é útil.

Se você deseja obter alguma experiência em primeira mão:

Franck Dernoncourt
fonte
4
Explicação brilhante. Obrigado. Uma pergunta apenas para esclarecer que eu entendo: estou certo ao dizer que, neste gráfico, um quadrado azul sólido teria curva ROC (AUC = 1) e seria um bom modelo de previsão? Presumo que isso seja teoricamente possível.
josh
25
@josh Sim, está certo. O AUROC está entre 0 e 1, e AUROC = 1 significa que o modelo de previsão é perfeito. De fato, quanto mais longe o AUROC estiver de 0,5, melhor: se AUROC <0,5, você precisará inverter a decisão que seu modelo está tomando. Como resultado, se AUROC = 0, isso é uma boa notícia, porque você só precisa inverter a saída do seu modelo para obter um modelo perfeito.
Franck Dernoncourt
11
o link "várias interpretações equivalentes" está quebrado.
Haitao Du
11
Nas interpretações do AUROC "A taxa de falso positivo esperada se o ranking for dividido logo após um positivo aleatório sorteado uniformemente.", Não deveria ser (1 - FPR)?
Mudit Jain
11
@ ryu576 idealmente, o número de pontos na curva ROC é realmente o número de amostras de teste.
Franck Dernoncourt 08/04/19
60

Embora eu esteja um pouco atrasado para a festa, mas aqui estão meus 5 centavos. O @FranckDernoncourt (+1) já mencionou possíveis interpretações do AUC ROC, e o meu favorito é o primeiro da lista (eu uso palavras diferentes, mas é a mesma):

P(Ponto(x+)>Ponto(x-))

Considere este exemplo (auc = 0,68):

insira a descrição da imagem aqui

Vamos tentar simular: desenhe exemplos aleatórios positivos e negativos e, em seguida, calcule a proporção de casos em que os positivos têm maior pontuação que os negativos

cls = c('P', 'P', 'N', 'P', 'P', 'P', 'N', 'N', 'P', 'N', 'P',
        'N', 'P', 'N', 'N', 'N', 'P', 'N', 'P', 'N')
score = c(0.9, 0.8, 0.7, 0.6, 0.55, 0.51, 0.49, 0.43, 0.42, 0.39, 0.33, 
          0.31, 0.23, 0.22, 0.19, 0.15, 0.12, 0.11, 0.04, 0.01)

pos = score[cls == 'P']
neg = score[cls == 'N']

set.seed(14)
p = replicate(50000, sample(pos, size=1) > sample(neg, size=1))
mean(p)

E temos 0,67926. Bem perto, não é?

 

A propósito, no RI normalmente usam o pacote ROCR para desenhar curvas ROC e calcular a AUC.

library('ROCR')

pred = prediction(score, cls)
roc = performance(pred, "tpr", "fpr")

plot(roc, lwd=2, colorize=TRUE)
lines(x=c(0, 1), y=c(0, 1), col="black", lwd=1)

auc = performance(pred, "auc")
auc = unlist(auc@y.values)
auc

insira a descrição da imagem aqui

Alexey Grigorev
fonte
Agradável. O segundo bloco cinza definitivamente esclarece o método de plotagem.
josh
+1 (de antes). Acima, eu vinculei a outro tópico em que você fez uma contribuição muito boa para um tópico relacionado. Isso aqui faz um ótimo trabalho complementando o post de @ FranckDernoncourt e ajudando a aprofundá-lo ainda mais.
gung
11
Na curva ROC produzida pelo pacote R, o que significa a cor? Você pode adicionar alguns detalhes a ele. Obrigado !
Prradep 03/03
Provavelmente seria útil adicionar verdadeiros positivos e negativos verdadeiros à explicação na caixa cinza acima? Caso contrário, pode ser um pouco confuso.
cbellei
42

Considerações importantes não estão incluídas em nenhuma dessas discussões. Os procedimentos discutidos acima convidam limiares inadequados e utilizam regras (proporções) inadequadas de pontuação de precisão que são otimizadas escolhendo os recursos errados e fornecendo pesos incorretos.

A dicotomização de previsões contínuas é contrária à teoria da decisão ideal. As curvas ROC não fornecem insights acionáveis. Eles se tornaram obrigatórios sem que os pesquisadores examinassem os benefícios. Eles têm uma proporção muito grande de tinta: informação.

As decisões ótimas não consideram "positivos" e "negativos", mas a probabilidade estimada do resultado. A função de utilidade / custo / perda, que não desempenha nenhum papel na construção do ROC, portanto, a inutilidade dos ROCs, é usada para converter a estimativa de risco na decisão ideal (por exemplo, menor perda esperada).

O objetivo de um modelo estatístico é muitas vezes fazer uma previsão, e o analista costuma parar por aí, porque o analista pode não conhecer a função de perda. Os principais componentes da previsão para validar de forma imparcial (por exemplo, usando o bootstrap) são a discriminação preditiva (uma maneira semi-boa de medir isso é a probabilidade de concordância que acontece igual à área sob o ROC, mas pode ser mais facilmente entendida se você não 't desenhar o ROC) e a curva de calibração. A validação da calibração é realmente necessária se você estiver usando previsões em uma escala absoluta.

Consulte o capítulo Perda de informações em Bioestatística para pesquisa biomédica e outros capítulos para obter mais informações.

Frank Harrell
fonte
2
Todas as outras respostas se concentram em fórmulas matemáticas que não têm utilidade prática. E a única resposta correta tem os menos votos positivos.
max
6
Eu recebi respostas aparentemente enigmáticas do Professor Harrell sobre esse tópico - elas são ótimas na maneira em que forçam você a pensar muito. O que eu acredito que ele está sugerindo é que você não deseja aceitar casos de falsos negativos em um teste de triagem para o HIV (exemplo fictício), mesmo que aceitar uma porcentagem maior de falsos negativos (reduzindo concomitantemente falsos positivos) possa colocar seu ponto de corte no máximo da AUC. Desculpe pela simplificação brutal.
Antoni Parellada
Aqui
Antoni Parellada
17

AUC é uma abreviação de área sob a curva . É usado na análise de classificação para determinar qual dos modelos usados ​​prediz melhor as classes.

Um exemplo de sua aplicação são as curvas ROC. Aqui, as taxas positivas verdadeiras são plotadas em relação às taxas positivas falsas. Um exemplo está abaixo. Quanto mais próxima a AUC de um modelo chegar a 1, melhor será. Portanto, os modelos com AUCs mais altas são preferíveis aos modelos com AUCs mais baixas.

Observe que também existem outros métodos além das curvas ROC, mas eles também estão relacionados às taxas reais positivas e falsas positivas, por exemplo, curvas de precisão de recuperação, F1-Score ou Lorenz.

                                            Exemplo de uma curva ROC

cara aleatório
fonte
2
você pode explicar a curva ROC no contexto de uma simples validação cruzada do resultado 0/1? Não sei entender muito bem como a curva é construída nesse caso.
Curioso
10

τ

  1. UMA
  2. BUMA
  3. τ

P(UMA>τ)P(B>τ)

τUMAvocêC

Nós temos:

UMAvocêC=0 01 1TPR(x)dx=0 01 1P(UMA>τ(x))dx
xxTPR

(1)UMAvocêC=Ex[P(UMA>τ(x))]
xvocê[0 0,1 1)

xFPR

x=FPR=P(B>τ(x))
x

P(B>τ(x))você
=>P(B<τ(x))(1 1-você)você
2)=>FB(τ(x))você

XFX(Y)vocêYX

FX(X)=P(FX(x)<X)=P(X<FX-1 1(X))=FXFX-1 1(X)=X

τ(x)B

Substituindo isso na equação (1), obtemos:

UMAvocêC=Ex(P(UMA>B))=P(UMA>B)

Em outras palavras, a área sob a curva é a probabilidade de uma amostra positiva aleatória ter uma pontuação mais alta que uma amostra negativa aleatória.

ryu576
fonte