Memeriksa apakah peningkatan akurasi signifikan

14

Misalkan saya memiliki algoritma yang mengklasifikasikan hal-hal menjadi dua kategori. Saya dapat mengukur akurasi algoritma pada katakanlah 1000 hal pengujian - misalkan 80% dari hal-hal tersebut diklasifikasikan dengan benar.

Mari kita anggap saya memodifikasi algoritma sehingga 81% dari hal-hal diklasifikasikan dengan benar.

Bisakah statistik memberi tahu saya tentang apakah peningkatan saya terhadap algoritme signifikan secara statistik? Apakah konsep signifikansi statistik relevan dalam situasi ini? Tolong tunjukkan saya ke arah beberapa sumber yang mungkin relevan.

Terimakasih banyak.

Ben
sumber

Jawaban:

3

Singkatnya, ya. Signifikansi statistik relevan di sini. Anda melihat kesalahan klasifikasi (atau, seperti yang Anda berikan di sini, akurasi = 1- kesalahan klasifikasi). Jika Anda membandingkan pengklasifikasi pada 1000 sampel berbeda, Anda cukup menggunakan tes binomial, jika 1000 sampel yang sama Anda perlu menggunakan tes McNemar. Perhatikan bahwa hanya menguji kesalahan klasifikasi dengan cara ini adalah suboptimal karena Anda menganggap kesalahan klasifikasi tidak tergantung pada kelas yang sebenarnya atau bahwa proporsi kelas yang sebenarnya adalah sama di seluruh aplikasi potensial Anda.

Ini berarti Anda harus melihat langkah-langkah seperti tingkat positif benar, tingkat positif palsu atau AUC. Ukuran apa yang digunakan dan bagaimana mengujinya, tergantung pada output dari klasikator Anda. Itu mungkin hanya sebuah kelas atau mungkin nomor yang berkesinambungan yang memberikan kemungkinan untuk menjadi bagian dari kelas tertentu.

Erik
sumber
Bagus sekali, terima kasih. Saya benar-benar melihat analisis sentimen dokumen teks - mengklasifikasikannya menjadi "positif" atau "negatif" - ada banyak pekerjaan yang diterbitkan di mana orang mengubah pemilihan fitur dengan cara yang halus, dengan mengatakan peningkatan akurasi 1% - dan menulis makalah tentang ini. Saya bertanya-tanya apakah dalam banyak kasus ini penulis gagal memberikan bukti untuk peningkatan yang signifikan secara statistik dalam akurasi klasifikasi.
Ben
Tes McNemar memberi tahu Anda apakah model-model tersebut berbeda secara signifikan, yang tidak selalu menyiratkan perbedaan dalam keakuratan adalah signifikan (model yang berbeda dapat memiliki akurasi yang sama). Untuk memeriksa signifikansi peningkatan akurasi secara langsung, Anda harus membuat banyak perkiraan akurasi untuk memetakan distribusi akurasi dan dengan demikian memperkirakan jika mereka berbeda. Ini berarti melatih model Anda beberapa kali.
drevicko
3

Seperti yang dikatakan Erik, ya Anda dapat memeriksa ini untuk signifikansi statistik. Namun, pikirkan sejenak apa yang ingin Anda periksa. Saya pikir pertanyaan yang lebih menarik mungkin adalah menanyakan seberapa besar kemungkinan algoritma yang "ditingkatkan" itu lebih baik (atau lebih bermakna) daripada yang asli, mengingat data dari perbedaan 1% yang diamati. Mengajukan pertanyaan dalam hal "signifikansi statistik" cenderung mengarah pada jenis pertanyaan yang berlawanan: Mengingat bahwa kedua algoritma itu sama, apakah ada peluang kurang dari 5% untuk mengamati peningkatan setidaknya sebanyak ini?

Bagi saya, pertanyaan terakhir adalah mundur, tetapi entah bagaimana telah menjadi standar. Anda dapat memeriksa Wikipedia tentang kontroversi dalam pengujian hipotesis statistik . Anda mungkin kemudian tertarik pada kesimpulan Bayesian . Jika Anda benar-benar ingin masuk ke dalam analisis data Bayesian, Anda dapat memeriksa "Analisis Data Bayesian" dari Gelman et al atau memeriksa pertanyaan ini .

Michael McGowan
sumber
2

Menerapkan jawaban Erik ke jawaban Michael :

Anda dapat melakukan jenis pemikiran yang sama dengan Erik ketika memilih ukuran kinerja.

Saya merasa terbantu untuk merujuk pada tindakan yang berbeda seperti itu dengan pertanyaan yang mereka jawab (di sini, dalam bahasa diagnostik medis yang paling saya kenal - tapi mungkin Anda bisa mengganti pasien dengan teks dan penyakit dengan spam ;-)):

  • Sensitivitas: mengingat pasien benar-benar mengidap penyakit, seberapa besar kemungkinan pengklasifikasi menyadari hal itu?

  • Spesifisitas: mengingat pasien benar-benar tidak memiliki penyakit, seberapa besar kemungkinan pengklasifikasi menyadari hal itu?

  • Nilai prediktif positif: mengingat pengklasifikasi mengklaim pasien berpenyakit, seberapa besar kemungkinan pasien menderita penyakit tersebut?

  • Nilai prediktif negatif: mengingat pengklasifikasi mengklaim pasien tidak berpenyakit, seberapa besar kemungkinan pasien tidak memiliki penyakit tersebut?

Seperti yang Anda lihat, nilai-nilai prediktif adalah apa yang benar-benar diminati oleh para dokter dan pasien. Namun, hampir semua orang menandai penggolongnya dengan sensitivitas dan spesifisitas. Alasannya adalah bahwa nilai-nilai prediktif perlu memperhitungkan prevalensi penyakit, dan itu dapat sangat bervariasi (urutan besarnya!) Untuk berbagai jenis pasien.

Lebih banyak tentang topik untuk pertanyaan Anda:

Saya yakin Anda benar dalam mengkhawatirkan.

Mengambil kedua skenario Erik sebagai contoh:

Berikut adalah contoh uji independen:

> binom.test (x = 810, n = 1000, p = 0.8)

    Exact binomial test

data:  810 and 1000 
number of successes = 810, number of trials = 1000, p-value = 0.4526
alternative hypothesis: true probability of success is not equal to 0.8 
95 percent confidence interval:
 0.7842863 0.8338735 
sample estimates:
probability of success 
                  0.81 

(perhatikan bahwa tes ini dua sisi, dengan asumsi kedua pengklasifikasi akan diterbitkan bahkan jika hasilnya sebaliknya ...)

Inilah situasi terbaik: tes berpasangan, dan penggolong baru tepat untuk semua sampel yang lama benar, juga ditambah 10 lebih:

> ## mc.nemar: best possible case
> oldclassif <- c (rep ("correct", 800), rep ("wrong", 200))
> newclassif <- c (rep ("correct", 810), rep ("wrong", 190))
> table (oldclassif, newclassif)
          newclassif
oldclassif correct wrong
   correct     800     0
   wrong        10   190
> mcnemar.test (oldclassif, newclassif)

    McNemar's Chi-squared test with continuity correction

data:  oldclassif and newclassif 
McNemar's chi-squared = 8.1, df = 1, p-value = 0.004427

(nilai p tetap di bawah magis 0,05 selama tidak lebih dari 10 sampel dari 1000 diprediksi secara berbeda oleh kedua pengklasifikasi).

Bahkan jika nilai-p adalah jawaban yang tepat untuk pertanyaan yang salah, ada indikasi bahwa itu semacam tempat yang ketat.

Namun, dengan mempertimbangkan praktik ilmiah yang biasa yaitu jumlah fitur baru yang tidak diketahui (tidak dipublikasikan) telah diuji, dan hanya fitur yang bekerja sedikit lebih baik yang dipublikasikan, tempat tersebut menjadi semakin ketat. Dan kemudian, 80% classifier mungkin saja merupakan penerus dari beberapa 79% classifer ...

Jika Anda senang membaca bahasa Jerman, ada beberapa buku yang sangat bagus dari Beck-Bornhold dan Dubben. Jika saya ingat benar, Mit an Wahrscheinlichkeit grenzender Sicherheit memiliki diskusi yang sangat bagus tentang masalah ini. (Saya tidak tahu apakah ada edisi bahasa Inggris, terjemahan yang agak literal dari judulnya adalah "Dengan kepastian yang berbatasan dengan probabilitas")

Cbeleites mendukung Monica
sumber
1

Saya akan sangat mencegah penggunaan aturan penilaian tidak terputus yang tidak terputus (skor akurasi seperti sensitivitas, spesifisitas, proporsi yang dikoreksi benar bahwa ketika dioptimalkan menghasilkan model palsu) dan sebagai gantinya menggunakan tes rasio kemungkinan atau uji F parsial untuk nilai tambah yang baru. variabel.

Salah satu dari beberapa cara untuk melihat masalah dengan proporsi yang diklasifikasikan dengan benar adalah bahwa jika proporsi keseluruhan dalam satu kategori adalah 0,9 Anda akan benar 0,9 kali dengan mengabaikan data dan mengklasifikasikan setiap pengamatan sebagai dalam kategori itu.

Frank Harrell
sumber
2
Ya, terkadang akurasi adalah metrik yang buruk untuk digunakan, dan terkadang itu adalah metode yang hebat; tergantung. Itu tampaknya sepenuhnya bersinggungan dengan apa pertanyaannya. Pertanyaannya adalah tentang menentukan apakah algoritma baru lebih baik berdasarkan metrik yang diketahui, bukan tentang memilih metrik.
Michael McGowan
Saya pikir kita perlu menggambarkan tujuan dan fungsi utilitas dengan hati-hati, dan jika kita tidak ingin menyediakan fungsi utilitas kita harus mundur untuk fungsi utilitas yang secara efektif diasumsikan ketika klasifikasi dilakukan.
Frank Harrell
Ada alasan untuk begitu banyak downvotes anonim?
chl
2
@ chl Saya pikir saya jelaskan bahwa saya turun karena tidak benar-benar menjawab pertanyaan yang diajukan.
Michael McGowan
@MichaelMcGowan Cukup adil.
chl