Apa AUC berdiri dan apa itu?

228

Dicari tinggi dan rendah dan belum dapat menemukan apa AUC, seperti yang terkait dengan prediksi, singkatan atau artinya.

Astaga
sumber
8
Periksa deskripsi auctag yang Anda gunakan: stats.stackexchange.com/questions/tagged/auc
Tim
4
Area Di Bawah Kurva (yaitu, kurva ROC)
Andrej
7
Pembaca di sini mungkin juga tertarik dengan utas berikut: Memahami kurva ROC .
gung
11
Ungkapan "Dicari tinggi dan rendah" menarik karena Anda dapat menemukan banyak definisi / kegunaan yang bagus untuk AUC dengan mengetikkan "AUC" atau "statistik AUC" ke google. Tentu saja pertanyaan yang tepat, tetapi pernyataan itu membuat saya lengah!
Behacad
3
Saya melakukan Google AUC tetapi banyak hasil teratas tidak secara eksplisit menyatakan AUC = Area Di Bawah Kurva. Halaman Wikipedia pertama yang terkait dengannya memang memilikinya tetapi tidak sampai setengah jalan. Kalau dipikir-pikir itu agaknya jelas! Terima kasih atas jawaban yang sangat terperinci
josh

Jawaban:

309

Singkatan

AUC digunakan sebagian besar waktu untuk berarti AUROC, yang merupakan praktik yang buruk sejak Marc Claesen menunjukkan AUC adalah ambigu (bisa berupa kurva apa pun) sedangkan AUROC tidak.


Menafsirkan AUROC

AUROC memiliki beberapa interpretasi yang setara :

  • Harapan bahwa positif acak yang ditarik seragam adalah peringkat sebelum negatif acak yang ditarik seragam.
  • Proporsi positif yang diharapkan diberi peringkat sebelum negatif acak yang seragam.
  • Tingkat positif benar yang diharapkan jika peringkat dibagi tepat sebelum negatif acak yang ditarik secara seragam.
  • Proporsi yang diharapkan dari peringkat negatif setelah acak positif ditarik seragam.
  • Tingkat positif palsu yang diharapkan jika peringkat dibagi tepat setelah acak positif yang ditarik seragam.

Lebih jauh: Bagaimana mendapatkan interpretasi probabilistik dari AUROC?


Menghitung AUROC

Asumsikan kita memiliki probabilistik, klasifikasi biner seperti regresi logistik.

Sebelum menyajikan kurva ROC (= Kurva Karakteristik Operasi Penerima), konsep matriks kebingungan harus dipahami. Saat kami membuat prediksi biner, mungkin ada 4 jenis hasil:

  • Kami memperkirakan 0 sementara kelas sebenarnya adalah 0: ini disebut True Negative , yaitu kami memprediksi dengan benar bahwa kelas tersebut negatif (0). Misalnya, antivirus tidak mendeteksi file yang tidak berbahaya sebagai virus.
  • Kami memprediksi 0 sementara kelas sebenarnya adalah 1: ini disebut False Negative , yaitu kami salah memprediksi bahwa kelas tersebut negatif (0). Misalnya, antivirus gagal mendeteksi virus.
  • Kami memprediksi 1 sedangkan kelas sebenarnya adalah 0: ini disebut False Positive , yaitu kami salah memprediksi bahwa kelas tersebut positif (1). Misalnya, antivirus menganggap file tidak berbahaya sebagai virus.
  • Kami memprediksi 1 sedangkan kelas sebenarnya adalah 1: ini disebut True Positive , yaitu kami memprediksi dengan benar bahwa kelas tersebut positif (1). Misalnya, antivirus mendeteksi virus dengan benar.

Untuk mendapatkan matriks kebingungan, kita membahas semua prediksi yang dibuat oleh model, dan menghitung berapa kali masing-masing dari 4 jenis hasil terjadi:

masukkan deskripsi gambar di sini

Dalam contoh ini dari matriks kebingungan, di antara 50 titik data yang diklasifikasikan, 45 diklasifikasikan dengan benar dan 5 diklasifikasi salah.

Karena untuk membandingkan dua model yang berbeda, seringkali lebih mudah untuk memiliki satu metrik daripada beberapa yang lain, kami menghitung dua metrik dari matriks kebingungan, yang nantinya akan kami gabungkan menjadi satu:

  • True positive rate ( TPR ), alias. sensitivitas, hit rate , dan recall , yang didefinisikan sebagai . Secara intuitif metrik ini sesuai dengan proporsi poin data positif yang benar dianggap positif, sehubungan dengan semua poin data positif. Dengan kata lain, semakin tinggi TPR, semakin sedikit poin data positif yang akan kami lewatkan.TPTP+FN
  • Tingkat positif palsu ( FPR ), alias. fall-out , yang didefinisikan sebagai . Secara intuitif metrik ini sesuai dengan proporsi titik data negatif yang keliru dianggap positif, sehubungan dengan semua titik data negatif. Dengan kata lain, semakin tinggi FPR, semakin banyak poin data negatif akan salah diklasifikasikan.FPFP+TN

Untuk menggabungkan FPR dan TPR ke dalam satu metrik tunggal, pertama-tama kita menghitung dua metrik sebelumnya dengan banyak ambang yang berbeda (misalnya ) untuk regresi logistik, lalu plotkan pada satu grafik, dengan nilai-nilai FPR pada absis dan nilai-nilai TPR pada ordinasi. Kurva yang dihasilkan disebut kurva ROC, dan metrik yang kami pertimbangkan adalah AUC dari kurva ini, yang kami sebut AUROC.0.00;0.01,0.02,,1.00

Gambar berikut menunjukkan AUROC secara grafis:

masukkan deskripsi gambar di sini

Dalam gambar ini, area biru sesuai dengan Area Di Bawah kurva Receiver Operating Characteristic (AUROC). Garis putus-putus dalam diagonal kami menyajikan kurva ROC dari prediktor acak: ia memiliki AUROC 0,5. Prediktor acak biasanya digunakan sebagai dasar untuk melihat apakah model itu berguna.

Jika Anda ingin mendapatkan pengalaman langsung:

Franck Dernoncourt
sumber
4
Penjelasan yang brilian. Terima kasih. Satu pertanyaan hanya untuk memperjelas bahwa saya mengerti: apakah saya benar mengatakan bahwa, pada grafik ini, kotak biru solid akan memiliki kurva ROC (AUC = 1) dan akan menjadi model prediksi yang baik? Saya menganggap ini secara teori mungkin.
josh
25
@ ya, benar. AUROC adalah antara 0 dan 1, dan AUROC = 1 berarti model prediksi sempurna. Bahkan, semakin jauh AUROC dari 0,5, semakin baik: jika AUROC <0,5, maka Anda hanya perlu membalikkan keputusan yang dibuat oleh model Anda. Akibatnya, jika AUROC = 0, itu kabar baik karena Anda hanya perlu membalikkan output model Anda untuk mendapatkan model yang sempurna.
Franck Dernoncourt
1
tautan "beberapa interpretasi yang setara" terputus.
Haitao Du
1
Dalam interpretasi AUROC "Tingkat positif palsu yang diharapkan jika peringkat dibagi tepat setelah acak positif ditarik seragam.", Bukankah ini seharusnya (1 - FPR)?
Mudit Jain
1
@ ryu576 idealnya jumlah titik dalam kurva ROC memang jumlah sampel pengujian.
Franck Dernoncourt
60

Meskipun saya agak terlambat ke pesta, tapi inilah 5 sen saya. @FranckDernoncourt (+1) telah menyebutkan kemungkinan interpretasi AUC ROC, dan favorit saya adalah yang pertama dalam daftar (saya menggunakan kata-kata yang berbeda, tetapi sama):

AUC dari classifier sama dengan probabilitas bahwa classifier akan memberi peringkat contoh positif yang dipilih secara acak lebih tinggi daripada contoh negatif yang dipilih secara acak, yaituP(score(x+)>score(x))

Pertimbangkan contoh ini (auc = 0.68):

masukkan deskripsi gambar di sini

Mari kita coba untuk mensimulasikannya: gambarkan contoh acak positif dan negatif dan kemudian hitung proporsi kasus ketika positif memiliki skor lebih besar daripada negatif

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)

Dan kami mendapat 0,67926. Cukup dekat, bukan?

 

Omong-omong, di RI biasanya menggunakan paket ROCR untuk menggambar kurva ROC dan menghitung 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

masukkan deskripsi gambar di sini

Alexey Grigorev
sumber
Bagus. Blok abu-abu kedua jelas memperjelas metode merencanakan.
josh
+1 (dari sebelumnya). Di atas saya menautkan ke utas lain tempat Anda memberikan kontribusi yang sangat bagus untuk topik terkait. Ini di sini melakukan pekerjaan yang bagus memuji posting @ FranckDernoncourt & membantu menyempurnakannya.
gung
1
Dalam kurva ROC yang dihasilkan oleh paket R, apa warna artinya? Bisakah Anda menambahkan beberapa detailnya? Terima kasih!
Prradep
Ini mungkin akan berguna untuk menambah benar positif dan benar negatif penjelasan dalam kotak abu-abu di atas? Kalau tidak, mungkin agak membingungkan.
cbellei
42

Pertimbangan penting tidak termasuk dalam diskusi ini. Prosedur yang dibahas di atas mengundang ambang batas yang tidak tepat dan memanfaatkan aturan penilaian akurasi (proporsi) yang tidak tepat yang dioptimalkan dengan memilih fitur yang salah dan memberi mereka bobot yang salah.

Dikotomisasi prediksi terus-menerus terbang di hadapan teori keputusan optimal. Kurva ROC tidak memberikan wawasan yang dapat ditindaklanjuti. Mereka menjadi kewajiban tanpa peneliti memeriksa manfaatnya. Mereka memiliki rasio tinta: informasi yang sangat besar.

Keputusan optimal tidak mempertimbangkan "positif" dan "negatif" melainkan estimasi probabilitas hasil. Fungsi utilitas / biaya / kerugian, yang tidak memainkan peran dalam konstruksi ROC sehingga tidak berguna dari ROC, digunakan untuk menerjemahkan estimasi risiko ke keputusan optimal (misalnya, kerugian yang diharapkan terendah).

Tujuan dari model statistik adalah untuk membuat prediksi, dan analis harus sering berhenti di sana karena analis mungkin tidak mengetahui fungsi kerugian. Komponen utama dari prediksi untuk memvalidasi tidak bias (misalnya, menggunakan bootstrap) adalah diskriminasi prediktif (salah satu cara semi-baik untuk mengukur ini adalah probabilitas konkordansi yang terjadi untuk menyamai area di bawah ROC tetapi dapat lebih mudah dipahami jika Anda tidak dapat menggambar ROC) dan kurva kalibrasi. Validasi kalibrasi benar-benar diperlukan jika Anda menggunakan prediksi pada skala absolut.

Lihat bab Kehilangan Informasi dalam Biostatistik untuk Penelitian Biomedis dan bab-bab lain untuk informasi lebih lanjut.

Frank Harrell
sumber
2
Setiap jawaban lain berfokus pada rumus matematika yang tidak memiliki kegunaan praktis. Dan satu-satunya jawaban yang benar memiliki paling sedikit upvotes.
maks
6
Saya telah menerima jawaban yang tampaknya samar tentang topik ini dari Profesor Harrell - mereka hebat dalam cara mereka memaksa Anda untuk berpikir keras. Apa yang saya yakin dia isyaratkan adalah bahwa Anda tidak ingin menerima kasus negatif palsu dalam tes skrining untuk HIV (contoh fiksi), bahkan jika menerima persentase negatif palsu yang lebih tinggi (secara bersamaan mengurangi positif palsu) dapat menempatkan titik cutoff Anda di AUC maxima. Maaf untuk penyederhanaan brutal yang berlebihan.
Antoni Parellada
Di sini
Antoni Parellada
17

AUC adalah singkatan untuk area di bawah kurva . Ini digunakan dalam analisis klasifikasi untuk menentukan model mana yang paling baik memprediksi kelas.

Contoh aplikasinya adalah kurva ROC. Di sini, tingkat positif sejati diplot terhadap tingkat positif palsu. Contohnya di bawah ini. Semakin dekat AUC untuk sebuah model, semakin baik 1. Jadi model dengan AUC yang lebih tinggi lebih disukai daripada model dengan AUC yang lebih rendah.

Harap dicatat, ada juga metode lain selain kurva ROC tetapi mereka juga terkait dengan tingkat positif dan positif palsu yang benar, misalnya presisi-recall, F1-Score atau kurva Lorenz.

                                            Contoh kurva ROC

random_guy
sumber
2
dapatkah Anda menjelaskan kurva ROC dalam konteks crossvalidation sederhana dari hasil 0/1? Saya tidak tahu mengerti betul bagaimana kurva dibangun dalam kasus itu.
Penasaran
10

Jawaban di forum ini sangat bagus dan saya sering datang ke sini untuk referensi. Namun, satu hal selalu hilang. Dari jawaban @ Frank, kita melihat interpretasi AUC sebagai probabilitas bahwa sampel positif akan memiliki skor lebih tinggi daripada sampel negatif. Pada saat yang sama, cara untuk menghitungnya 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? @ Alexy menunjukkan melalui simulasi bahwa mereka sudah dekat, tetapi bisakah kita mendapatkan hubungan ini secara matematis? 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 karena PDF seragam adalah 1.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