Mengapa ada siku tajam di kurva ROC saya?


8

Saya memiliki beberapa set data EEG yang saya uji terhadap dua kelas. Saya bisa mendapatkan tingkat kesalahan yang layak dari LDA (distribusi kelas-kondisional bukan Gaussian, tetapi memiliki ekor yang sama dan pemisahan yang cukup baik), jadi saya ingin memplot ROC dari prediktor LDA terhadap set data dari subjek lain.

Berikut adalah grafik khas untuk alat prediksi yang diuji terhadap satu uji coba: masukkan deskripsi gambar di sini

Saya telah mencoba beberapa paket berbeda (pROC dan ROCR), dan hasilnya konsisten. Pertanyaan saya adalah, ada apa dengan siku yang tajam? Apakah itu hanya artefak dari proyeksi yang dihasilkan oleh LDA, yaitu, kebetulan ada 'tebing' di mana kinerja classifier merosot?

Jawaban:


4

"Kurva" ROC yang sempurna akan dibentuk dengan tikungan tajam. Kinerja yang Anda miliki di sana adalah perpisahan yang sangat dekat. Selain itu, sepertinya Anda memiliki kelangkaan poin yang membuat kurva.


Ya, masing-masing hanya sekitar 7500 sampel waktu dalam 14 dimensi (ruang yang tidak diproyeksikan). Yang mengatakan, jika saya memiliki banyak percobaan dari mata pelajaran yang berbeda, bukankah kebisingan pada akhirnya akan memperlancar kurva di sekitar titik belok?
Bintang terang

Ketika Anda mengatakan "masing-masing" saya tidak tahu apa yang Anda maksudkan. Tidak jelas berapa banyak poin yang membentuk kurva. Ya, mungkin itu akan melengkung jika ada variabilitas di antara mata pelajaran tetapi jika tidak ada maka tidak akan. Mungkin Anda memiliki masalah pengkodean data atau Anda hanya benar-benar merencanakan beberapa sampel tetapi tidak mungkin untuk mengetahui dari apa yang telah Anda kirim.
John

Maaf, maksud saya setiap seri waktu individu (percobaan eksperimental). Ada cukup banyak variabilitas di antara subjek, tetapi ROC yang dihasilkan untuk setiap tes dari satu prediktor tunggal pada percobaan memiliki sudut tajam seperti gambar di atas, hanya terletak di tempat yang sedikit berbeda. Saya memeriksa ulang ukuran input prediktor dan respons saya terhadap perintah roc (); keduanya panjang 7500 label kelas.
Bintang terang

6

Meskipun pertanyaan ini diajukan sekitar 3 tahun yang lalu, saya merasa berguna untuk menjawabnya di sini setelah menemukan itu dan menjadi bingung untuk beberapa saat. Saat output ground truth Anda adalah 0,1 dan prediksi Anda adalah 0,1, Anda mendapatkan siku-siku. Jika prediksi atau kebenaran dasar Anda adalah nilai atau probabilitas kepercayaan diri (katakan dalam kisaran [0,1]), maka Anda akan mendapatkan siku lengkung.


5

Saya setuju dengan John, karena kurva yang tajam disebabkan oleh kelangkaan poin. Secara khusus, tampaknya Anda menggunakan prediksi biner model Anda (yaitu 1/0) dan label yang diamati (yaitu 1/0). Karena ini, Anda memiliki 3 poin, satu mengasumsikan cutoff Inf, satu mengasumsikan cutoff 0, dan yang terakhir mengasumsikan cutoff 1 yang diberikan kepada Anda oleh TPR dan FPR model Anda dan terletak pada sudut tajam di grafik Anda.

Sebagai gantinya, Anda harus menggunakan probabilitas dari kelas prediksi (nilai antara 0 dan 1) dan label yang diamati (yaitu 1/0). Ini kemudian akan memberi Anda sejumlah poin pada grafik yang sama dengan jumlah probabilitas unik yang Anda miliki (plus satu untuk Inf). Jadi, jika Anda memiliki 100 probabilitas unik, Anda akan 101 poin pada grafik untuk masing-masing dari berbagai cutoff.


Sayangnya, saya tidak ingat perhitungan atau data spesifik apa yang saya gunakan, jadi saya tidak bisa kembali melaluinya. Kedengarannya seperti saran yang sangat baik.
Bintang terang
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.