Comment dériver l'interprétation probabiliste de l'AUC?

14

Pourquoi l'aire sous la courbe ROC a-t-elle une probabilité qu'un classificateur classe une instance "positive" choisie au hasard (à partir des prédictions récupérées) plus élevée qu'une instance "positive" choisie au hasard (à partir de la classe positive d'origine)? Comment prouver mathématiquement cette affirmation en utilisant l'intégrale, en donnant les CDF et PDF des véritables distributions de classes positives et négatives?

mff
la source
2
J'en ai écrit une preuve très élémentaire ici: madrury.github.io/jekyll/update/statistics/2017/06/21/…
Matthew Drury

Réponses:

10

Tout d'abord, essayons de définir formellement l'aire sous la courbe ROC. Quelques hypothèses et définitions:

  • Nous avons un classificateur probabiliste qui génère un «score» s (x), où x sont les caractéristiques, et s est une fonction monotone croissante générique de la probabilité estimée p (classe = 1 | x).

  • fk(s) , avec : = pdf des scores pour la classe k, avec CDFk={0,1}Fk(s)

  • La classification d'une nouvelle observation est obtenue en comparant le score s à un seuil t

De plus, pour des raisons mathématiques, considérons la classe positive (événement détecté) k = 0 et négative k = 1. Dans ce paramètre, nous pouvons définir:

  • Rappel (alias sensibilité, alias TPR) : (proportion de cas positifs classés comme positifs)F0(t)
  • Spécificité (alias TNR) : (proportion de cas négatifs classés comme négatifs)1F1(t)
  • FPR (aka Fall-out) : 1 - TNR =F1(t)

La courbe ROC est alors un tracé de contre . En définissant , nous pouvons définir formellement l'aire sous la courbe ROC comme : Modification de la variable ( ): F0(t)F1(t)v=F1(s)

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

Cette formule peut facilement être considérée comme la probabilité qu'un membre tiré au hasard de la classe 0 produise un score inférieur au score d'un membre tiré au hasard de la classe 1.

Cette preuve est tirée de: https://pdfs.semanticscholar.org/1fcb/f15898db36990f651c1e5cdc0b405855de2c.pdf

alebu
la source
5

La réponse de @ alebu est excellente. Mais sa notation n'est pas standard et utilise 0 pour la classe positive et 1 pour la classe négative. Voici les résultats de la notation standard (0 pour la classe négative et 1 pour la classe positive):

Pdf et cdf du score pour la classe négative: etf0(s)F0(s)

Pdf et cdf du score pour la classe positive: etf1(s)F1(s)

FPR =x(s)=1F0(s)

TPR =y(s)=1F1(s)

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

où signifie seuil. On peut appliquer l'interprétation de la réponse de @ alebu à la dernière expression.τ

Lei Huang
la source
1

La façon de calculer l'AUC-ROC consiste à tracer le TPR et le FPR comme seuil, est modifié et calcule l'aire sous cette courbe. Mais pourquoi cette zone sous la courbe est-elle la même que cette probabilité? Supposons ce qui suit:τ

  1. A est la distribution des scores que le modèle produit pour les points de données qui sont réellement dans la classe positive.
  2. B est la distribution des scores que le modèle produit pour les points de données qui sont en fait dans la classe négative (nous voulons que ce soit à gauche de ).A
  3. τ est le seuil de coupure. Si un point de données obtient un score supérieur à celui-ci, il est prévu comme appartenant à la classe positive. Sinon, il devrait être dans la classe négative.

Notez que le TPR (rappel) est donné par: et le FPR (retombées) est donné par: .P(A>τ)P(B>τ)

Maintenant, nous traçons le TPR sur l'axe des y et le FPR sur l'axe des x, dessinons la courbe pour divers et calculons l'aire sous cette courbe ( ).τAUC

On a:

AUC=01TPR(x)dx=01P(A>τ(x))dx
où est le FPR. Maintenant, une façon de calculer cette intégrale est de considérer comme appartenant à une distribution uniforme. Dans ce cas, cela devient simplement l'attente du .xxTPR

(1)AUC=Ex[P(A>τ(x))]
si l'on considère .xU[0,1)

Maintenant, ici était juste lexFPR

x=FPR=P(B>τ(x))
Puisque nous considérons que provient d'une distribution uniforme,x

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

Mais nous savons de la transformation inverse la loi que pour toute variable aléatoire , si puis . Cela suit puisque la prise de n'importe quelle variable aléatoire et l'application de son propre CDF conduit à l'uniforme.XFX(Y)UYX

FX(X)=P(FX(x)<X)=P(X<FX1(X))=FXFX1(X)=X
et cela ne vaut que pour l'uniforme.

L'utilisation de ce fait dans l'équation (2) nous donne:

τ(x)B

En substituant cela à l'équation (1), nous obtenons:

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

En d'autres termes, l'aire sous la courbe est la probabilité qu'un échantillon positif aléatoire obtienne un score plus élevé qu'un échantillon négatif aléatoire.

ryu576
la source