Apakah saya baru saja menemukan metode Bayesian untuk analisis kurva ROC?

21

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:

  1. 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 mempertimbangkanTPR(θ)FPR(θ)TPRFPRθθTPRFPRT PTPR(θ)menjadi perkiraan probabilitas keberhasilan dalam urutan percobaan Bernoulli. Bahkan, TPR didefinisikan sebagaiTPTP+FN,yang juga merupakan MLE probabilitas keberhasilan binomial dalam percobaan denganTPkeberhasilan danTP+FN>0Total 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 spesifikTPR(θ)FPR(θ)TPFPFNTNθ. 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.θ

  2. 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.TPR(θ)FPR(θ)

Pendekatan Bayesian dapat digunakan untuk mensimulasikan sejumlah besar AUC dari satu set estimasi. Misalnya, 20 simulasi terlihat seperti ini dibandingkan dengan data asli. Kurva ROC yang disimulasikan

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.

  1. dan F P R ( θ ) memiliki kepadatan marginal yang dapat disimulasikan.TPR(θ)FPR(θ)

    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 θTPR(θ)FPR(θ)TPFNFPTNθθ~θ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 /TPR(θ~)TPR(θ~)θTPR(θ)cθ .1/c

    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.

CDF dari TPR

  1. Untuk mengatasi persyaratan bentuk-kendala, kita hanya perlu mengurutkan TPR dan FPR secara mandiri.

    beta(0,0)

masukkan deskripsi gambar di sini

Dibandingkan dengan Bootstrap

n=20

masukkan deskripsi gambar di sini

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.

Sycorax berkata Reinstate Monica
sumber
1
Saya pikir Anda terlalu percaya pada kurva ROC. Saya belum melihat satu pun kasus di mana mereka mengarah pada wawasan. Saya telah melihat banyak kasus di mana mereka mengarah ke ambang batas yang sebenarnya merupakan ide yang buruk.
Frank Harrell
1
@ Frankharrell Terima kasih atas catatannya, Dr. Harrell. Tetapi untuk klien saya, saya ditugaskan mengembangkan pengklasifikasi yang akan membuat keputusan secara mandiri dalam kumpulan data yang sangat besar. Saya menghargai bahwa dalam konteks medis, ini sangat tidak produktif, tetapi analisis utilitas / biaya oleh para ahli untuk setiap pengamatan hanya tidak praktis ketika kita perlu membuat keputusan tentang ribuan titik data. Kita perlu membuat pilihan tentang model mana yang harus diterapkan untuk menyelesaikan tugas ini, dan ROC / AUC membantu dengan keputusan itu.
Sycorax berkata Reinstate Monica
2
Karena Anda telah memperkirakan probabilitas, toh Anda tidak menggunakan classifier, setidaknya pada awal proses Anda. Utilitas akan membuat keputusan lebih baik tetapi jika Anda tidak dapat memperoleh utilitas, Anda masih dapat memikirkan hal ini secara berbeda dari kurva ROC menggunakan kurva pengangkatan dan ambang risiko-keputusan. Hal ini tidak benar-benar masalah medis.
Frank Harrell
3
X1+X2<1X1,X2X1X2
3
Mulai dengan catatan mata kuliah saya - lihat biostat.mc.vanderbilt.edu/CourseBios330 . Lihat juga Biostatistics for Biomedical Research yang tersedia dari biostat.mc.vanderbilt.edu/ClinStat , terutama bab Kehilangan Informasi dan awal Bab 10.
Frank Harrell

Jawaban:

7

c

Secara umum cukup baik diterima bahwa Anda dapat memperkirakan variabilitas dalam kurva ROC menggunakan bootstrap cf Pepe Etzione Feng . Ini adalah pendekatan yang bagus karena kurva ROC adalah estimasi empiris dan bootstrap non-parametrik. Parameterisasi apa pun dengan cara seperti itu menimbulkan asumsi dan komplikasi seperti "apakah flat sebelumnya benar - benar tidak informatif?" Saya tidak yakin hal ini terjadi di sini.

θθ

Ambil, sebagai contoh, model dengan diskriminasi sempurna . Dengan menggunakan metode Anda, Anda akan menemukan bahwa pita kepercayaan adalah satuan persegi. Mereka tidak! Tidak ada variabilitas dalam model dengan diskriminasi sempurna. Bootstrap akan menunjukkan itu kepada Anda.

Jika seseorang mendekati masalah "analisis" ROC dari perspektif Bayesian, mungkin akan lebih bermanfaat untuk mengatasi masalah pemilihan model dengan menempatkan prioritas pada ruang model yang digunakan untuk analisis. Itu akan menjadi masalah yang sangat menarik.

AdamO
sumber
Saya tidak yakin bahwa jawaban ini membalas konten posting. Sebagai contoh, saya hanya mensimulasikan kurva ROC untuk model dengan diskriminasi sempurna. Kurva ini semua terkonsentrasi di sudut barat laut ruang ROC, dan interval pusat di sekitar simulasi AUC adalah beberapa angka yang sangat dekat dengan 1. Ini bertentangan langsung dengan pernyataan dalam jawaban, yang mengklaim bahwa simulasi harus terletak di seluruh unit square.
Sycorax berkata Reinstate Monica
1
θθTPR(θ)FPR(θ)
θ
θθ
@ user777 apa sebenarnya yang ada sebelumya?
AdamO