Saya sedang membangun model kecenderungan menggunakan regresi logistik untuk klien utilitas. Kekhawatiran saya adalah bahwa dari total sampel, akun 'buruk' saya hanya 5%, dan sisanya baik. Saya memprediksi 'buruk'.
- Apakah hasilnya akan dibiasakan?
- Apa 'proporsi buruk ke baik' yang optimal untuk membangun model yang baik?
Jawaban:
Saya tidak setuju dengan jawaban lain di komentar, jadi itu adil saya berikan jawaban saya sendiri. Biarkan menjadi respons (akun baik / buruk), dan X menjadi kovariat.Y X
Untuk regresi logistik, modelnya adalah sebagai berikut:
Pikirkan tentang bagaimana data dapat dikumpulkan:
Keduanya tidak apa-apa untuk model di atas, karena Anda hanya memodelkan distribusi . Ini akan disebut studi prospektifY| X .
Kalau tidak:
(Anda juga bisa memilih data berdasarkan dan variabel X tertentuY X : ini akan menjadi studi kasus-kontrol bertingkat, dan jauh lebih rumit untuk dikerjakan, jadi saya tidak akan membahasnya di sini).
Ada hasil yang bagus dari epidemiologi (lihat Prentice dan Pyke (1979) ) bahwa untuk studi kasus-kontrol, estimasi kemungkinan maksimum untukβ dapat ditemukan dengan regresi logistik, yaitu menggunakan model prospektif untuk data retrospektif.
Jadi bagaimana ini relevan dengan masalah Anda?
Artinya, jika Anda dapat mengumpulkan lebih banyak data, Anda bisa melihat akun buruk dan masih menggunakan regresi logistik untuk memperkirakan (tetapi Anda perlu menyesuaikan α untuk memperhitungkan representasi berlebihan). ). Katakanlah biayanya $ 1 untuk setiap akun tambahan, maka ini mungkin lebih efektif daripada hanya melihat semua akun.βsaya α
Tetapi di sisi lain, jika Anda sudah memiliki SEMUA data yang mungkin, tidak ada gunanya untuk bertingkat: Anda hanya akan membuang data (memberikan perkiraan yang lebih buruk), dan kemudian dibiarkan dengan masalah mencoba memperkirakan .α
sumber
Secara asimptot, rasio pola positif dan negatif pada dasarnya tidak relevan. Masalahnya muncul terutama ketika Anda memiliki terlalu sedikit sampel kelas minoritas untuk menggambarkan distribusi statistiknya secara memadai. Membuat dataset lebih besar umumnya menyelesaikan masalah (jika memungkinkan).
Jika ini tidak memungkinkan, hal terbaik yang harus dilakukan adalah sampel ulang data untuk mendapatkan dataset yang seimbang, dan kemudian menerapkan penyesuaian multiplikatif pada output dari classifier untuk mengkompensasi perbedaan antara set pelatihan dan frekuensi kelas relatif operasional. Meskipun Anda dapat menghitung faktor penyesuaian optimal (asimtotik), dalam praktiknya yang terbaik adalah menyesuaikan penyesuaian menggunakan validasi silang (seperti yang kita hadapi dengan kasus praktis terbatas daripada yang asimtotik).
Dalam situasi seperti ini, saya sering menggunakan komite model, di mana masing-masing dilatih pada semua pola minoritas dan sampel acak yang berbeda dari pola mayoritas dengan ukuran yang sama dengan pola minoritas. Ini menjaga terhadap nasib buruk dalam pemilihan satu himpunan bagian dari pola mayoritas.
sumber
Secara teori, Anda akan dapat membedakan dengan lebih baik jika proporsi "baik" dan "buruk" memiliki ukuran yang hampir sama. Anda mungkin dapat bergerak ke arah ini dengan mengambil sampel bertingkat, melampauikan kasus-kasus buruk dan kemudian mengubah ukuran untuk kembali ke proporsi sebenarnya nanti.
Ini membawa beberapa risiko. Khususnya, model Anda cenderung memberi label individu sebagai "berpotensi buruk" - mungkin mereka yang mungkin tidak membayar tagihan utilitas saat jatuh tempo. Penting bahwa dampak kesalahan ketika melakukan hal ini dikenali dengan benar: khususnya berapa banyak "pelanggan baik" akan diberi label "berpotensi buruk" oleh model, dan Anda cenderung tidak akan mendapatkan kesalahan pengulangan hadiah jika Anda tidak mengubah nilai Anda. model dengan stratified sampling.
sumber
Sekarang apakah itu penting jika Anda memiliki proporsi kegagalan yang rendah (akun buruk)? Tidak juga, selama data sampel Anda seimbang, seperti yang sudah ditunjukkan beberapa orang. Namun, jika data Anda tidak seimbang, maka mendapatkan lebih banyak data mungkin hampir tidak berguna jika ada beberapa efek seleksi yang tidak Anda perhitungkan. Dalam hal ini, Anda harus menggunakan pencocokan, tetapi kurangnya keseimbangan dapat menjadikan pencocokan tidak berguna. Strategi lain sedang mencoba untuk menemukan eksperimen alami, sehingga Anda dapat menggunakan variabel instrumental atau desain ketidakcocokan regresi.
Terakhir, tetapi tidak kalah pentingnya, jika Anda memiliki sampel seimbang atau tidak ada bias seleksi, Anda mungkin khawatir dengan fakta bahwa akun buruk jarang terjadi. Saya tidak berpikir 5% jarang, tetapi untuk berjaga-jaga, lihat di kertas oleh Gary King tentang menjalankan logistik acara langka. Dalam paket Zelig, di R, Anda dapat menjalankan logistik peristiwa langka.
sumber
Oke jadi saya bekerja di Deteksi Penipuan jadi masalah semacam ini bukan hal baru bagi saya. Saya pikir komunitas pembelajaran mesin memiliki sedikit untuk mengatakan tentang data tidak seimbang (seperti di kelas tidak seimbang). Jadi ada beberapa strategi mudah mati yang saya pikir telah disebutkan, dan beberapa ide yang rapi, dan beberapa jalan keluar di sana. Saya bahkan tidak akan berpura-pura tahu apa artinya ini untuk asimptotik untuk masalah Anda, tetapi sepertinya selalu memberi saya hasil yang wajar dalam regresi logistik. Mungkin ada kertas di sana di suatu tempat, tidak yakin sekalipun.
Berikut adalah opsi Anda seperti yang saya lihat:
Bagaimanapun, saya telah menggunakan semua metode ini, tetapi saya menemukan yang paling sederhana adalah hanya reweight masalah untuk regresi logistik. Satu hal yang dapat Anda lakukan untuk mengecek model Anda adalah mengambil:
-Intercept/beta
Itu harus menjadi batas keputusan (probabilitas 50% berada di kedua kelas) pada variabel ceteris paribus yang diberikan . Jika itu tidak masuk akal, misalnya batas keputusan adalah angka negatif pada variabel yang benar-benar positif, maka Anda akan mendapatkan bias dalam regresi logistik Anda yang perlu diperbaiki.
sumber