Como derivar a interpretação probabilística da AUC?


14

Por que a área sob a curva ROC tem a probabilidade de um classificador classificar uma instância "positiva" escolhida aleatoriamente (a partir das previsões obtidas) mais alta que uma instância "positiva" escolhida aleatoriamente (a partir da classe positiva original)? Como alguém prova essa afirmação matematicamente usando integral, fornecendo os CDFs e PDFs das verdadeiras distribuições de classe positiva e negativa?


2
Eu escrevi uma prova muito elementar deste aqui: madrury.github.io/jekyll/update/statistics/2017/06/21/...
Matthew Drury

Respostas:


10

Primeiro, vamos tentar definir a área sob a curva ROC formalmente. Algumas suposições e definições:

  • Temos um classificador probabilístico que gera uma "pontuação" s (x), onde x são as características es é uma função monotônica crescente genérica da probabilidade estimada p (classe = 1 | x).

  • , com k = { 0 , 1 } : = pdf das pontuações para a classe k, com CDF F k ( s )fk(s)k={0,1}Fk(s)

  • A classificação de uma nova observação é obtida comprando a pontuação s para um limiar t

Além disso, por conveniência matemática, vamos considerar a classe positiva (evento detectado) k = 0 e negativa k = 1. Nesta configuração, podemos definir:

  • Lembre-se (aka Sensitivity, aka TPR) : (proporção de casos positivos classificados como positivos)F0(t)
  • Especificidade (também conhecida como TNR) : (proporção de casos negativos classificados como negativos)1F1(t)
  • FPR (também conhecido como Fall-out) : 1 - TNR = F1(t)

A curva ROC é então um gráfico de contra F 1 ( t ) . Definindo v = F 1 ( s ) , pode-se definir formalmente a área sob a curva de ROC como: Um L C = 1 0 F 0 ( M - 1 1 ( v ) ) d v Alterando variável ( d v = f 1 ( s ) d sF0(t)F1(t)v=F1(s)

AUC=01F0(F11(v))dv
dv=f1(s)ds):
AUC=F0(s)f1(s)ds

Essa fórmula pode facilmente ser vista como a probabilidade de um membro sorteado aleatoriamente da classe 0 produzir uma pontuação menor que a pontuação de um membro sorteado aleatoriamente da classe 1.

Esta prova é retirada de: https://pdfs.semanticscholar.org/1fcb/f15898db36990f651c1e5cdc0b405855de2c.pdf


5

A resposta de @ alebu é ótima. Mas sua notação é fora do padrão e usa 0 para a classe positiva e 1 para a classe negativa. Abaixo estão os resultados para a notação padrão (0 para a classe negativa e 1 para a classe positiva):

f0(s)F0(s)

f1(s)F1(s)

x(s)=1F0(s)

y(s)=1F1(s)

AUC=01y(x)dx=01y(x(τ))dx(τ)=+y(τ)x(τ)dτ=+(1F1(τ))(f0(τ))dτ=+(1F1(τ))f0(τ)dτ

τ


1

τ

  1. A
  2. BA
  3. τ

P(A>τ)P(B>τ)

τAUC

Nós temos:

AUC=01TPR(x)dx=01P(A>τ(x))dx
xxTPR

(1)AUC=Ex[P(A>τ(x))]
xU[0,1)

xFPR

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

P(B>τ(x))U
=>P(B<τ(x))(1U)U
(2)=>FB(τ(x))U

XFX(Y)UYX

FX(X)=P(FX(x)<X)=P(X<FX1(X))=FXFX1(X)=X

τ(x)B

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

AUC=Ex(P(A>B))=P(A>B)

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.