Pembukaan
Ini posting yang panjang. Jika Anda membaca ulang ini, harap perhatikan bahwa saya telah merevisi bagian pertanyaan, meskipun materi latar belakangnya tetap sama. Selain itu, saya percaya bahwa saya telah menemukan solusi untuk masalah ini. Solusi itu muncul di bagian bawah pos. Terima kasih kepada CliffAB untuk menunjukkan bahwa solusi asli saya (diedit dari posting ini; lihat edit riwayat untuk solusi itu) tentu menghasilkan estimasi yang bias.
Masalah
Dalam masalah klasifikasi pembelajaran mesin, salah satu cara untuk menilai kinerja model adalah dengan membandingkan kurva ROC, atau area di bawah kurva ROC (AUC). Namun, pengamatan saya bahwa ada sedikit diskusi berharga tentang variabilitas kurva ROC atau perkiraan AUC; yaitu, statistik yang diperkirakan dari data, dan memiliki beberapa kesalahan yang terkait dengannya. Mengkarakterisasi kesalahan dalam estimasi ini akan membantu mengkarakterisasi, misalnya, apakah satu classifier memang, lebih unggul dari yang lain.
Saya telah mengembangkan pendekatan berikut, yang saya sebut analisis Bayesian tentang kurva ROC, untuk mengatasi masalah ini. Ada dua pengamatan utama dalam pemikiran saya tentang masalah ini:
Kurva ROC terdiri dari taksiran jumlah dari data, dan sesuai dengan analisis Bayesian.
Kurva ROC disusun dengan memplot tingkat positif sejati terhadap tingkat positif palsu , yang masing-masingnya sendiri diperkirakan dari data. Saya menganggap fungsi dan dari , ambang keputusan yang digunakan untuk menyortir kelas A dari B (suara pohon di hutan acak, jarak dari pesawat terbang di SVM, prediksi probabilitas dalam regresi logistik, dll.). Memvariasikan nilai ambang keputusan akan menghasilkan estimasi dan . Selain itu, kita dapat mempertimbangkanT Pmenjadi perkiraan probabilitas keberhasilan dalam urutan percobaan Bernoulli. Bahkan, TPR didefinisikan sebagaiyang juga merupakan MLE probabilitas keberhasilan binomial dalam percobaan dengankeberhasilan danTotal percobaan.
Jadi dengan mempertimbangkan output dan F P R ( θ ) sebagai variabel acak, kita dihadapkan dengan masalah memperkirakan probabilitas keberhasilan percobaan binomial di mana jumlah keberhasilan dan kegagalan diketahui persis (diberikan oleh , , dan , yang saya asumsikan semuanya sudah diperbaiki). Secara konvensional, seseorang hanya menggunakan MLE, dan mengasumsikan bahwa TPR dan FPR ditetapkan untuk nilai-nilai spesifik. Tetapi dalam analisis Bayesian saya tentang kurva ROC, saya menggambar simulasi posterior kurva ROC, yang diperoleh dengan menggambar sampel dari distribusi posterior melalui kurva ROC. Model Bayesan standar untuk masalah ini adalah kemungkinan binomial dengan beta sebelum probabilitas keberhasilan; distribusi posterior pada probabilitas keberhasilan juga beta, jadi untuk setiap , kami memiliki distribusi posterior nilai TPR dan FPR. Ini membawa kita ke pengamatan kedua saya.
- Kurva ROC tidak menurun. Jadi begitu seseorang telah mengambil sampel beberapa nilai dan F P R ( θ ) , ada probabilitas nol untuk pengambilan sampel suatu titik dalam ruang ROC "tenggara" dari titik sampel. Tetapi pengambilan sampel dengan bentuk terbatas adalah masalah yang sulit.
Pendekatan Bayesian dapat digunakan untuk mensimulasikan sejumlah besar AUC dari satu set estimasi. Misalnya, 20 simulasi terlihat seperti ini dibandingkan dengan data asli.
Metode ini memiliki sejumlah keunggulan. Sebagai contoh, probabilitas bahwa AUC dari satu model lebih besar dari yang lain dapat diperkirakan secara langsung dengan membandingkan AUC dari simulasi posterior mereka. Estimasi varians dapat diperoleh melalui simulasi, yang lebih murah daripada metode resampling, dan estimasi ini tidak menimbulkan masalah sampel berkorelasi yang muncul dari metode resampling.
Larutan
Saya mengembangkan solusi untuk masalah ini dengan melakukan pengamatan ketiga dan keempat tentang sifat masalah, selain dua di atas.
dan F P R ( θ ) memiliki kepadatan marginal yang dapat disimulasikan.
Jika (wakil F P R ( θ ) ) adalah variabel acak berdistribusi beta dengan parameter T P dan F N (wakil F P dan T N ), kami juga dapat mempertimbangkan berapa rata-rata kepadatan TPR. atas beberapa nilai yang berbeda θ yang sesuai dengan analisis kami. Artinya, kita dapat mempertimbangkan proses hirarkis di mana satu sampel nilai ~ θ dari koleksi θnilai yang diperoleh dari prediksi model out-of-sample kami, dan kemudian sampel nilai . Distribusi atas sampel yang dihasilkan dari nilai T P R ( ˜ θ ) adalah kepadatan dari tingkat positif sejati yang tidak bersyarat pada θ itu sendiri. Karena kita mengasumsikan model beta untuk T P R ( θ ) , distribusi yang dihasilkan adalah campuran dari distribusi beta, dengan sejumlah komponen c sama dengan ukuran koleksi θ kami , dan koefisien campuran 1 / .
Dalam contoh ini, saya memperoleh CDF berikut pada TPR. Khususnya, karena degenerasi distribusi beta di mana salah satu parameternya nol, beberapa komponen campuran adalah fungsi delta Dirac pada 0 atau 1. Inilah yang menyebabkan lonjakan mendadak pada 0 dan 1. "Paku" ini menyiratkan bahwa kepadatan ini tidak kontinu atau terpisah. Pilihan prior yang positif di kedua parameter akan memiliki efek "menghaluskan" lonjakan mendadak ini (tidak ditampilkan), tetapi kurva ROC yang dihasilkan akan ditarik ke arah prior. Hal yang sama dapat dilakukan untuk FPR (tidak ditampilkan). Menggambar sampel dari kepadatan marginal adalah aplikasi sederhana dari inverse transform sampling.
Untuk mengatasi persyaratan bentuk-kendala, kita hanya perlu mengurutkan TPR dan FPR secara mandiri.
Dibandingkan dengan Bootstrap
Demonstrasi ini menunjukkan bahwa rata-rata bootstrap bias di bawah rata-rata sampel asli, dan bahwa KDE dari bootstrap menghasilkan "punuk" yang didefinisikan dengan baik. Genesis gundukan-gundukan ini hampir tidak misterius - kurva ROC akan sensitif terhadap dimasukkannya setiap titik, dan efek dari sampel kecil (di sini, n = 20) adalah bahwa statistik yang mendasarinya lebih sensitif terhadap penyertaan masing-masing titik. (Secara empati, pola ini bukan artefak dari bandwidth kernel - perhatikan plot permadani. Setiap strip adalah beberapa replikasi bootstrap yang memiliki nilai yang sama. Bootstrap memiliki 2000 replikasi, tetapi jumlah nilai yang berbeda jelas jauh lebih kecil. Kami dapat menyimpulkan bahwa punuk adalah fitur intrinsik dari prosedur bootstrap.) Sebaliknya, rata-rata perkiraan Bayesian AUC cenderung sangat dekat dengan perkiraan semula,
Pertanyaan
Pertanyaan saya yang direvisi adalah apakah solusi yang saya revisi salah. Jawaban yang baik akan membuktikan (atau membantah) bahwa sampel kurva ROC yang dihasilkan bias, atau juga membuktikan atau menyangkal kualitas lain dari pendekatan ini.