Mengapa AUC lebih tinggi untuk pengklasifikasi yang kurang akurat daripada untuk yang lebih akurat?

29

Saya memiliki dua pengklasifikasi

  • A: jaringan Bayesian yang naif
  • B: tree (terhubung sendiri) jaringan Bayesian

Dalam hal akurasi dan langkah-langkah lain, A melakukan relatif lebih buruk daripada B. Namun, ketika saya menggunakan paket R ROCR dan AUC untuk melakukan analisis ROC, ternyata AUC untuk A lebih tinggi daripada AUC untuk B. Mengapa ini kejadian?

Nilai true positive (tp), false positive (fp), false negative (fn), true negative (tn), sensitivitas (sen), spesifisitas (spec), nilai prediktif positif (ppv), nilai prediktif negatif (npv), dan akurasi (acc) untuk A dan B adalah sebagai berikut.

+------+---------+---------+
|      |    A    |    B    |
+------+---------+---------+
| tp   | 3601    | 769     |
| fp   | 0       | 0       |
| fn   | 6569    | 5918    |
| tn   | 15655   | 19138   |
| sens | 0.35408 | 0.11500 |
| spec | 1.00000 | 1.00000 |
| ppv  | 1.00000 | 1.00000 |
| npv  | 0.70442 | 0.76381 |
| acc  | 0.74563 | 0.77084 |
+------+---------+---------+

Dengan pengecualian dari sens dan ties (spec dan ppv) pada marginal (tidak termasuk tp, fn, fn, dan tn), B tampaknya berkinerja lebih baik daripada A.

Ketika saya menghitung AUC untuk sens (sumbu y) vs 1-spec (sumbu x)

aucroc <- auc(roc(data$prediction,data$labels));

di sini adalah perbandingan AUC.

+----------------+---------+---------+
|                |    A    |    B    |
+----------------+---------+---------+
| sens vs 1-spec | 0.77540 | 0.64590 |
| sens vs spec   | 0.70770 | 0.61000 |
+----------------+---------+---------+

Jadi inilah pertanyaanku:

  • Mengapa AUC untuk A lebih baik daripada B, ketika B "tampaknya" mengungguli A sehubungan dengan akurasi?
  • Jadi, bagaimana saya benar-benar menilai / membandingkan kinerja klasifikasi A dan B? Maksud saya, apakah saya menggunakan nilai AUC? Apakah saya menggunakan nilai acc, dan jika demikian mengapa?
  • Selanjutnya, ketika saya menerapkan aturan penilaian yang tepat untuk A dan B, B mengungguli A dalam hal kehilangan log, kehilangan kuadratik, dan kehilangan bola (p <0,001). Bagaimana hal ini dipertimbangkan dalam menilai kinerja klasifikasi sehubungan dengan AUC?
  • Grafik ROC untuk A terlihat sangat halus (itu adalah lengkungan melengkung), tetapi grafik ROC untuk B terlihat seperti serangkaian garis yang terhubung. Kenapa ini?

Seperti yang diminta, berikut adalah plot untuk model A.

model A naif bayes net

Berikut adalah plot untuk model B.

Model B reguler bayes net

Berikut adalah plot histogram dari distribusi probabilitas untuk A dan B. (jeda ditetapkan ke 20).

plot histogram

Berikut adalah sebar plot probabilitas B vs A.

sebar plot

Jane Wayne
sumber
1
Tabel Anda tidak masuk akal: bagaimana Anda memilih titik di mana Anda menghitung nilai kinerja itu?
Calimo
3
Ingat langkah-langkah AUC kinerja atas semua ambang mungkin . Akan membantu (Anda juga) jika Anda dapat menunjukkan kurva (idealnya pada plot yang sama).
Calimo
@ Calimo maaf, saya lupa untuk memasukkan informasi itu, tetapi ambang yang digunakan untuk membuat matriks kebingungan adalah 50%.
Jane Wayne
Maksudmu 0,5? Nilai prediksi A dan B terlihat sangat berbeda, dan jika Anda belum mendapatkan petunjuknya, Anda harus memplot histogram secara berdampingan ...
Calimo
@ Calimo bisakah Anda menjelaskan, histogram apa yang berdampingan?
Jane Wayne

Jawaban:

27

cDxy

Frank Harrell
sumber
6
cc
1
@ alto, 0,5 sangat arbitrer, bertepatan dengan fungsi utilitas / kerugian / biaya yang paling tidak biasa di mana dua jenis kesalahan sama buruknya. Ini jarang terjadi. Berpikir secara probabilistik, yang merupakan cara saya meyakini cara kerja alam, tidak ada yang namanya "kesalahan", melainkan tingkat buruk dari prediksi risiko. Misalnya, memprediksi probabilitas 0,6 kemudian mengamati suatu peristiwa lebih buruk daripada memprediksi probabilitas 0,9 dan kemudian mengamati suatu peristiwa. Tapi tidak ada prediksi yang "salah". Anda dapat menggunakan skor akurasi probabilitas yang tidak memerlukan ambang batas.
Frank Harrell
3
Model yang tidak terikat seperti logistik tidak mengarah pada overfitting lebih daripada pendekatan lainnya. Transformasi logistik memastikan bahwa estimasi probabilitas berperilaku baik. Satu-satunya downside ke aturan penilaian logaritmik adalah jika Anda memprediksi probabilitas sangat dekat dengan 0 atau 1 dan Anda "salah". Memang benar bahwa seseorang pada akhirnya membuat keputusan tetapi tidak mengikuti sama sekali bahwa analis harus membuat keputusan dengan menggunakan ambang batas. Keputusan harus ditunda ke pembuat keputusan. Buku Nate Silver, Signal and Noise, mendokumentasikan manfaat besar pemikiran probabilistik.
Frank Harrell
1
@ FrankHarrell, sangat frustasi bahwa Anda terus salah mengartikan pendapat saya. Saya tidak pernah menganjurkan pendekatan kotak hitam. Saya hanya berpikir pernyataan Anda "x tidak berguna, hanya gunakan y" terlalu kuat.
alto
4
@ alto itu perseptif. Saya pikir pengenalan pola waktu-nyata tidak punya waktu untuk keperluan. Ini bukan dunia tempat saya bekerja. Tapi masih ada kasus secara real time di mana Anda lebih suka memiliki kotak hitam memberi tahu Anda "tidak pasti" daripada memaksakan pilihan antara "itu adalah tank yang mendatangi Anda" vs "itu adalah mobil penumpang".
Frank Harrell
16
  1. Mengapa AUC untuk A lebih baik daripada B, ketika B "tampaknya" mengungguli A sehubungan dengan akurasi?

    Akurasi dihitung pada nilai ambang 0,5. Sementara AUC dihitung dengan menambahkan semua "akurasi" yang dihitung untuk semua nilai ambang yang mungkin. ROC dapat dilihat sebagai rata-rata (nilai yang diharapkan) dari keakuratan tersebut ketika dihitung untuk semua nilai ambang.

  2. Jadi, bagaimana saya benar-benar menilai / membandingkan kinerja klasifikasi A dan B? Maksud saya, apakah saya menggunakan nilai AUC? apakah saya menggunakan nilai acc? dan mengapa?

    Tergantung. Kurva ROC memberi tahu Anda sesuatu tentang seberapa baik model Anda model Anda memisahkan dua kelas, di mana pun nilai ambangnya. Akurasi adalah ukuran yang bekerja dengan baik biasanya ketika kelas menjaga keseimbangan yang sama di kereta dan set tes, dan ketika skor benar-benar probabilitas. ROC memberi Anda lebih banyak petunjuk tentang bagaimana model akan berperilaku jika asumsi ini dilanggar (namun hanya sebuah ide).

  3. selanjutnya, ketika saya menerapkan aturan penilaian yang tepat untuk A dan B, B mengungguli A dalam hal kehilangan log, kehilangan kuadratik, dan kehilangan bola (p <0,001). bagaimana hal ini dipertimbangkan dalam menilai kinerja klasifikasi sehubungan dengan AUC?

    Saya tidak tahu. Anda harus memahami dengan lebih baik tentang apa data Anda. Apa yang masing-masing model mampu mengerti dari data Anda. Dan putuskan nanti mana yang merupakan kompromi terbaik. Alasan mengapa itu terjadi adalah bahwa tidak ada metrik universal tentang kinerja classifier.

  4. Grafik ROC untuk A terlihat sangat halus (itu adalah lengkungan melengkung), tetapi grafik ROC untuk B terlihat seperti serangkaian garis yang terhubung. kenapa ini?

    Itu mungkin karena model bayesian memberi Anda transisi yang mulus antara kedua kelas. Itu diterjemahkan dalam banyak nilai ambang batas. Yang berarti banyak titik pada kurva ROC. Model kedua mungkin menghasilkan nilai lebih sedikit karena prediksi dengan nilai yang sama pada daerah yang lebih besar dari ruang input. Pada dasarnya, juga kurva ROC pertama dibuat oleh garis, satu-satunya perbedaan adalah bahwa ada begitu banyak garis kecil yang berdekatan, yang Anda lihat sebagai kurva.

rapaio
sumber
1
Akurasi dapat dihitung pada nilai ambang selain dari 0,5.
Calimo
Tentu saja Anda benar. Itulah sebabnya saya menggunakan "akurasi" dalam proposisi berikutnya. Namun, ketika seseorang berbicara tentang akurasi, tanpa informasi konteks lainnya, tebakan terbaik untuk nilai ambang adalah 0,5.
rapaio
2
Sangat mudah untuk melihat seberapa sewenang-wenang proses semacam itu. Beberapa penaksir dalam statistik yang membutuhkan pilihan binning atau sewenang-wenang telah bertahan tanpa kritik berat. Dan saya tidak akan pernah menyebut proporsi yang diklasifikasikan sebagai "akurasi".
Frank Harrell
@ unreasonablelearner Anda benar dengan asumsi Anda .. matriks kebingungan di atas dihitung pada ambang batas 0,5. apakah ada keuntungan untuk ambang yang berbeda?
Jane Wayne
1
@JaneWayne Formula ini memang untuk proporsi yang diklasifikasikan benar. Akurasi adalah istilah yang paling sering digunakan untuk ini. Namun ketepatan berarti lebih banyak, dan mengingat apa yang dikatakan Frank Harrell, saya pikir sekarang bahwa ketepatan bukanlah istilah terbaik untuk itu. Sekarang saya berpikir bahwa penggunaannya dapat membahayakan, bahkan jika itu populer. Inilah kesalahan saya.
rapaio
4

Mengapa AUC untuk A lebih baik daripada B, ketika B "tampaknya" mengungguli A sehubungan dengan akurasi?

Pertama, meskipun cut-off (0,5) adalah sama, itu tidak sebanding sama sekali antara A dan B. Sebenarnya, itu terlihat sangat berbeda dari histogram Anda! Lihatlah B: semua prediksi Anda <0,5.

Kedua, mengapa B begitu akurat? Karena ketidakseimbangan kelas. Dalam tes B, Anda memiliki 19138 contoh negatif, dan 6687 positif (mengapa jumlahnya berbeda dalam A tidak jelas bagi saya: nilai yang hilang mungkin?). Ini berarti bahwa dengan hanya mengatakan bahwa semuanya negatif, saya sudah dapat mencapai akurasi yang cukup baik: tepatnya 19138 / (19138 + 6687) = 74%. Perhatikan bahwa ini sama sekali tidak memerlukan pengetahuan sama sekali di luar fakta bahwa ada ketidakseimbangan di antara kelas-kelas: bahkan model paling bodoh pun bisa melakukannya!

Dan inilah yang dilakukan tes B pada ambang batas 0,5 ... Anda mendapatkan (hampir) hanya prediksi negatif.

A lebih dari tas campuran dengan. Meskipun memiliki akurasi yang sedikit lebih rendah, perhatikan bahwa sensitivitasnya jauh lebih tinggi pada ...

Akhirnya, Anda tidak dapat membandingkan akurasi (kinerja pada satu ambang batas) dengan AUC (kinerja rata-rata pada semua ambang yang mungkin). Karena metrik ini mengukur hal-hal yang berbeda, tidak mengherankan bahwa mereka berbeda.

Jadi, bagaimana saya benar-benar menilai / membandingkan kinerja klasifikasi A dan B? maksud saya, apakah saya menggunakan nilai AUC? apakah saya menggunakan nilai acc? dan mengapa?

Selanjutnya, ketika saya menerapkan aturan penilaian yang tepat untuk A dan B, B mengungguli A dalam hal kehilangan log, kehilangan kuadratik, dan kehilangan bola (p <0,001). Bagaimana hal ini dipertimbangkan dalam menilai kinerja klasifikasi sehubungan dengan AUC?

Anda harus berpikir: apa yang sebenarnya ingin Anda lakukan? Apa yang penting? Pada akhirnya, hanya Anda yang bisa menjawab pertanyaan ini berdasarkan pengetahuan Anda tentang pertanyaan itu. Mungkin AUC masuk akal (jarang benar-benar terjadi ketika Anda benar-benar memikirkannya, kecuali ketika Anda tidak ingin membuat keputusan sendiri tetapi biarkan orang lain melakukannya - itu kemungkinan besar jika Anda membuat alat untuk digunakan orang lain), mungkin keakuratannya (jika Anda membutuhkan biner, jawaban go-no go), tetapi mungkin pada ambang yang berbeda, mungkin beberapa tindakan lain yang lebih berkelanjutan, mungkin salah satu langkah yang disarankan oleh Frank Harrell ... seperti yang telah dinyatakan, tidak ada pertanyaan universal sini.

Grafik ROC untuk A terlihat sangat halus (itu adalah lengkungan melengkung), tetapi grafik ROC untuk B terlihat seperti serangkaian garis yang terhubung. Kenapa ini?

Kembali ke prediksi yang Anda tunjukkan di histogram. A memberi Anda prediksi terus-menerus, atau hampir-terus-menerus. Sebaliknya, B mengembalikan sebagian besar hanya beberapa nilai yang berbeda (seperti yang Anda lihat oleh histogram "runcing").

Dalam kurva ROC, setiap titik sesuai dengan ambang. Di A, Anda memiliki banyak ambang (karena prediksinya berkelanjutan), sehingga kurva menjadi halus. Di B, Anda hanya memiliki beberapa ambang, sehingga kurva terlihat "melompat" dari SN / SP ke yang lain.

Anda melihat lompatan vertikal ketika sensitivitas hanya berubah (ambang membuat perbedaan hanya untuk kasus positif), melompat horizontal ketika kekhususan hanya berubah (ambang membuat perbedaan hanya untuk contoh negatif), dan melompat diagonal ketika perubahan ambang mempengaruhi kedua kelas.

Calimo
sumber
+1, bagaimanapun, itu bukan kasus bahwa AUC hanya untuk "ketika Anda tidak ingin membuat keputusan sendiri tetapi biarkan orang lain melakukannya". Lihat: Cara menghitung Area Di Bawah Kurva (AUC), atau statistik-c, dengan tangan .
gung - Reinstate Monica