Bagaimana cara mendapatkan interpretasi probabilistik dari AUC?

14

Mengapa area di bawah kurva ROC kemungkinan bahwa classifier akan memberi peringkat instance "positif" yang dipilih secara acak (dari prediksi yang diambil) lebih tinggi daripada yang "secara acak" yang dipilih secara acak (dari kelas positif asli)? Bagaimana seseorang membuktikan pernyataan ini secara matematis menggunakan integral, memberikan CDF dan PDF dari distribusi kelas positif dan negatif yang sebenarnya?

mff
sumber
2
Saya menulis bukti yang sangat mendasar tentang hal ini di sini: madrury.github.io/jekyll/update/statistics/2017/06/21/…
Matthew Drury

Jawaban:

10

Hal pertama, mari kita coba mendefinisikan area di bawah kurva ROC secara formal. Beberapa asumsi dan definisi:

  • Kami memiliki penggolong probabilistik yang menghasilkan "skor" s (x), di mana x adalah fitur, dan s adalah fungsi monotonik peningkatan umum dari perkiraan probabilitas p (kelas = 1 | x).

  • k = { 0 , 1 } F k ( s )fk(s) , dengan : = pdf dari skor untuk kelas k, dengan CDFk={0,1}Fk(s)

  • Klasifikasi pengamatan baru diperoleh dengan mengkomposisi skor s ke ambang batas t

Selanjutnya, untuk kenyamanan matematika, mari kita pertimbangkan kelas positif (peristiwa terdeteksi) k = 0, dan negatif k = 1. Dalam pengaturan ini kita dapat mendefinisikan:

  • Ingat (alias Sensitivitas, alias TPR) : (proporsi kasus positif diklasifikasikan sebagai positif)F0(t)
  • Spesifisitas (alias TNR) : (proporsi kasus negatif diklasifikasikan sebagai negatif)1F1(t)
  • FPR (alias Fall-out) : 1 - TNR =F1(t)

Kurva ROC kemudian merupakan plot terhadap . Dengan , kami dapat secara formal mendefinisikan area di bawah kurva ROC sebagai: Mengubah variabel ( ): F 1 ( t ) v = F 1 ( s ) A U C = 1 0 F 0 ( F - 1 1 ( v ) ) d v d v = f 1 ( s ) d s A U C = - F 0 ( s ) fF0(t)F1(t)v=F1(s)

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

Formula ini dapat dengan mudah dilihat sebagai probabilitas bahwa anggota kelas 0 yang ditarik secara acak akan menghasilkan skor yang lebih rendah daripada skor anggota kelas 1 yang ditarik secara acak.

Bukti ini diambil dari: https://pdfs.semanticscholar.org/1fcb/f15898db36990f651c1e5cdc0b405855de2c.pdf

alebu
sumber
5

@ alebu jawabannya bagus. Tetapi notasinya tidak standar dan menggunakan 0 untuk kelas positif dan 1 untuk kelas negatif. Di bawah ini adalah hasil untuk notasi standar (0 untuk kelas negatif dan 1 untuk kelas positif):

Pdf dan cdf skor untuk kelas negatif: danf0(s)F0(s)

Pdf dan cdf skor untuk kelas positif: danf1(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τ

di mana berarti ambang. Seseorang dapat menerapkan interpretasi dalam jawaban alebu untuk ekspresi terakhir.τ

Lei Huang
sumber
1

Cara menghitung AUC-ROC adalah dengan memplot TPR dan FPR sebagai ambang, diubah dan menghitung area di bawah kurva itu. Tapi, mengapa area ini di bawah kurva sama dengan probabilitas ini? Mari kita asumsikan sebagai berikut:τ

  1. A adalah distribusi skor yang dihasilkan model untuk titik data yang sebenarnya berada di kelas positif.
  2. B adalah distribusi skor yang dihasilkan model untuk titik data yang sebenarnya berada di kelas negatif (kami ingin ini berada di sebelah kiri ).A
  3. τ adalah ambang batas. Jika suatu titik data mendapat skor lebih besar dari ini, itu diprediksi sebagai milik kelas positif. Kalau tidak, itu diprediksi berada di kelas negatif.

Perhatikan bahwa TPR (recall) diberikan oleh: dan FPR (fallout) diberikan menjadi: .P(A>τ)P(B>τ)

Sekarang, kita plot TPR pada sumbu y dan FPR pada sumbu x, menggambar kurva untuk berbagai dan menghitung area di bawah kurva ini ( ).τAUC

Kita mendapatkan:

AUC=01TPR(x)dx=01P(A>τ(x))dx
mana adalah FPR. Sekarang, salah satu cara untuk menghitung integral ini adalah dengan menganggap sebagai bagian dari distribusi yang seragam. Dalam hal itu, itu hanya menjadi harapan .xxTPR

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

Sekarang, sini hanyaxFPR

x=FPR=P(B>τ(x))
Karena kami menganggap berasal dari distribusi yang seragam,x

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

Tapi kita tahu dari invers transformasi hukum bahwa untuk setiap variabel acak , jika maka . Ini mengikuti sejak mengambil variabel acak dan menerapkan CDF sendiri untuk itu mengarah ke seragam.XFX(Y)UYX

FX(X)=P(FX(x)<X)=P(X<FX1(X))=FXFX1(X)=X
dan ini hanya berlaku untuk seragam.

Menggunakan fakta ini dalam persamaan (2) memberi kita:

τ(x)B

Mengganti ini menjadi persamaan (1) kita dapatkan:

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

Dengan kata lain, area di bawah kurva adalah probabilitas bahwa sampel positif acak akan memiliki skor lebih tinggi daripada sampel negatif acak.

ryu576
sumber