Apakah sampel yang tidak seimbang penting ketika melakukan regresi logistik?


81

Oke, jadi saya pikir saya memiliki sampel yang cukup layak, dengan mempertimbangkan aturan praktis 20: 1: sampel yang cukup besar (N = 374) dengan total 7 variabel prediktor kandidat.

Masalah saya adalah sebagai berikut: set variabel prediktor apa pun yang saya gunakan, klasifikasi tidak pernah lebih baik daripada spesifisitas 100% dan sensitivitas 0%. Namun tidak memuaskan, ini sebenarnya bisa menjadi hasil terbaik, mengingat serangkaian variabel prediktor kandidat (dari mana saya tidak bisa menyimpang).

Tapi, saya tidak bisa membantu tetapi berpikir saya bisa melakukan lebih baik, jadi saya perhatikan bahwa kategori variabel dependen cukup seimbang, hampir 4: 1. Bisakah subsampel yang lebih seimbang meningkatkan klasifikasi?


5
Sulit membayangkan bagaimana ini bisa terjadi. Mungkin Anda memotong probabilitas yang diprediksi sebesar 0,5? Jika demikian, cobalah memvariasikan cutoffnya.
Aniko

4
Area di bawah kurva-ROC adalah 0,585, hasil yang agak buruk. Ini menyiratkan bahwa sebenarnya tidak ada nilai cutoff di mana spesifisitas / sensitivitas trade-off sepadan. Mengotak-atik cutoff tidak akan meningkatkan klasifikasi terlalu banyak, karena itu hanya akan mengurangi spesifisitas sebanyak meningkatkan sensitivitas.
Michiel

3
Apakah ada koefisien Variabel yang berbeda secara signifikan dari (katakan lebih dari lima kesalahan standar)? Jika tidak masalah Anda Bisa jadi Anda hanya tidak memiliki banyak kekuatan penjelas dengan set variabel Anda. 0
probabilityislogic

2
Perhatikan juga bahwa ukuran sampel Anda dalam hal membuat prediksi yang baik sebenarnya adalah jumlah pola unik dalam variabel prediktor, dan bukan jumlah individu sampel. Misalnya, model dengan variabel prediktor kategori tunggal dengan dua level hanya dapat memenuhi model regresi logistik dengan dua parameter (satu untuk setiap kategori), bahkan jika ada jutaan orang dalam sampel.
probabilityislogic

Jawaban:


75

Saldo dalam Set Pelatihan

Untuk model regresi logistik, data pelatihan yang tidak seimbang hanya memengaruhi estimasi intersep model (meskipun ini tentu saja mengacaukan semua probabilitas yang diprediksi, yang pada gilirannya membahayakan prediksi Anda). Untungnya koreksi intersep langsung: Asalkan Anda tahu, atau dapat menebak, proporsi sebenarnya dari 0s dan 1s dan tahu proporsi dalam set pelatihan Anda dapat menerapkan koreksi peristiwa langka pada intersep. Detailnya ada di King and Zeng (2001) [ PDF ].

'Koreksi peristiwa langka' ini dirancang untuk desain penelitian kontrol kasus, sebagian besar digunakan dalam epidemiologi, yang memilih kasus dengan memilih jumlah 0 kasus dan 1 kasus yang tetap, dan kemudian perlu mengoreksi bias pemilihan sampel yang dihasilkan. Memang, Anda bisa melatih classifier Anda dengan cara yang sama. Pilih sampel seimbang yang bagus dan kemudian perbaiki intersep untuk memperhitungkan fakta bahwa Anda telah memilih pada variabel dependen untuk mempelajari lebih lanjut tentang kelas yang lebih langka daripada sampel acak yang bisa memberi tahu Anda.

Membuat Prediksi

Pada topik terkait tetapi berbeda: Jangan lupa bahwa Anda harus melakukan thresholding secara cerdas untuk membuat prediksi. Tidak selalu terbaik untuk memprediksi 1 ketika probabilitas model lebih besar 0,5. Ambang lain mungkin lebih baik. Untuk tujuan ini, Anda harus melihat kurva Receiver Operating Characteristic (ROC) dari classifier Anda, bukan hanya keberhasilan prediktifnya dengan ambang probabilitas default.


8
Jika Anda tidak tahu frekuensi kelas operasional, mereka dapat diperkirakan oleh EM tanpa mengetahui label dari sampel uji / operasional. Rinciannya ada di Saerens et al. "Menyesuaikan Output dari Klasifikasi ke Probabilitas Priori Baru: Prosedur Sederhana", Neural Computation, vol. 14, tidak. 1, hlm. 21-41, 2002 ( dx.doi.org/10.1162/089976602753284446 ). Saya telah menggunakan ini beberapa kali dan terkesan pada seberapa baik kerjanya. Namun perlu dicatat bahwa koreksi teoritis biasanya tidak optimal, dan pengaturan melalui mis. Validasi silang seringkali lebih baik.
Dikran Marsupial

Ya, saya seharusnya menyebutkan bahwa hasil dari kurva ROC tidak meyakinkan juga. Dalam hal ini saya pikir tidak ada ambang yang memberikan hasil yang memuaskan.
Michiel

Mengenai membuat prediksi: bagaimana saya bisa memperhitungkan ukuran pelatihan saya ditetapkan untuk hasil 0 dan 1? Saya memang tidak ingin menggunakan ambang batas 0,5, tetapi tidak yakin bagaimana melakukan ini di R.
Perlnika

1
@Perlnika Detailnya ada di tautan kertas (dalam kasus paling sederhana Anda mengubah perkiraan intersep). Untuk ambang batas tidak di 0,5, dapatkan probabilitas diprediksi menggunakan predictdan menghitung untuk masing-masing apakah lebih besar dari ambang batas baru.
conjugateprior

1
@SassaNF Memang benar bahwa intersep shift dapat diimbangi oleh perubahan ambang batas. Namun, hal tersebut menyandingkan estimasi probabilitas Anda (inferensi) dengan kesalahan relatif biaya (fungsi kerugian), sedangkan yang terakhir mungkin berbeda dalam aplikasi. Misalnya, ketika biaya salah mengira 1 untuk 0 adalah C kali biaya salah mengira 0 untuk 1, maka Anda ingin menetapkan ambang perkiraan probabilitas Anda pada 1 / (1 + C).
conjugateprior

41

Masalahnya bukan bahwa kelas tidak seimbang per se, tetapi mungkin tidak ada pola yang cukup dari kelas minoritas untuk secara memadai mewakili distribusinya. Ini berarti bahwa masalah dapat muncul untuk setiap classifier (bahkan jika Anda memiliki masalah sintetis dan Anda tahu Anda memiliki model yang benar), bukan hanya regresi logistik. Hal yang baik adalah bahwa semakin banyak data tersedia, masalah "ketidakseimbangan kelas" biasanya hilang. Karena itu, 4: 1 tidak terlalu seimbang.

Jika Anda menggunakan dataset yang seimbang, yang penting adalah untuk mengingat bahwa output dari model sekarang merupakan estimasi dari probabilitas a-posteriori, dengan asumsi kelas-kelasnya sama-sama umum, sehingga Anda dapat membiaskan model terlalu jauh. Saya akan menimbang pola milik masing-masing kelas secara berbeda dan memilih bobot dengan meminimalkan cross-entropy pada set tes dengan frekuensi kelas operasional yang benar.


6
+1If you use a balanced dataset, the important thing is to remember that the output of the model is now an estimate of the a-posteriori probability
Zhubarb

2

Pikirkan tentang distribusi yang mendasari dua sampel. Apakah Anda memiliki sampel yang cukup untuk mengukur kedua sub populasi tanpa bias besar dalam sampel yang lebih kecil?

Lihat di sini untuk penjelasan yang lebih panjang.

https://statisticalhorizons.com/logistic-regress-for-rare-events


5
Ini sepertinya tidak menjawab pertanyaan.
Michael Chernick

Itu karena tidak ada jawaban yang pasti! Ini tentang bagaimana Anda menerapkannya dan jumlah bias yang bersedia untuk dimasukkan ke dalam proses estimasi.
Paul Tulloch

1
Saya pikir ini jawaban yang bagus. Sejauh yang saya mengerti semua upaya untuk memperbaiki ketidakseimbangan bergantung pada beberapa pengetahuan eksternal yang tidak ditangkap dalam percobaan. Khususnya mengetahui distribusi yang mendasarinya akan membantu dengan koreksi.
user1700890
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.