Memahami fitur mana yang paling penting untuk regresi logistik

17

Saya telah membangun classifier regresi logistik yang sangat akurat pada data saya. Sekarang saya ingin lebih mengerti mengapa itu bekerja dengan baik. Secara khusus, saya ingin memberi peringkat fitur mana yang memberikan kontribusi terbesar (fitur mana yang paling penting) dan, idealnya, menghitung seberapa banyak setiap fitur berkontribusi pada akurasi model keseluruhan (atau sesuatu dalam nada ini). Bagaimana saya melakukan ini?

Pikiran pertama saya adalah memberi peringkat berdasarkan koefisien, tetapi saya kira ini tidak benar. Jika saya memiliki dua fitur yang sama-sama berguna, tetapi penyebaran yang pertama sepuluh kali lebih besar dari yang kedua, maka saya berharap yang pertama menerima koefisien yang lebih rendah daripada yang kedua. Apakah ada cara yang lebih masuk akal untuk mengevaluasi pentingnya fitur?

Perhatikan bahwa saya tidak mencoba memahami seberapa besar perubahan kecil dalam fitur mempengaruhi probabilitas hasilnya. Sebaliknya, saya mencoba memahami betapa berharganya setiap fitur, dalam hal membuat pengklasifikasi menjadi akurat. Juga, tujuan saya bukan untuk melakukan pemilihan fitur atau membuat model dengan fitur yang lebih sedikit, tetapi untuk mencoba memberikan "kemampuan menjelaskan" untuk model yang dipelajari, sehingga pengklasifikasi tidak hanya kotak hitam buram.

DW
sumber
Saya akan melempar bahwa Hutan acak juga merupakan teknik yang baik di sini. Anda dapat memeriksa pemisahan atas hutan untuk mendapatkan intuisi tentang fitur mana yang paling berkontribusi terhadap prediksi.

Jawaban:

14

Hal pertama yang perlu diperhatikan adalah Anda tidak menggunakan regresi logistik sebagai classifier. Fakta bahwa adalah biner sama sekali tidak ada hubungannya dengan menggunakan metode kemungkinan maksimum ini untuk benar-benar mengklasifikasikan pengamatan. Setelah Anda melewati itu, berkonsentrasilah pada pengukuran informasi standar emas yang merupakan produk sampingan dari kemungkinan maksimum: rasio kemungkinan χ 2 statistik. Anda dapat menghasilkan grafik yang menunjukkan kontribusi sebagian dari masing-masing prediktor dalam hal parsial χ 2Yχ2χ2statistik. Statistik ini memiliki informasi / kekuatan maksimum. Anda dapat menggunakan bootstrap untuk menunjukkan betapa sulitnya memilih "pemenang" dan "pecundang" dengan mendapatkan interval kepercayaan pada jajaran informasi prediktif yang disediakan oleh masing-masing prediktor setelah prediktor lain diperhitungkan. Contohnya ada di Bagian 5.4 dari catatan kursus saya - klik Handout lalu Handout lagi.

Jika Anda memiliki fitur yang sangat berkorelasi, Anda dapat melakukan "chunk test" untuk menggabungkan pengaruhnya. Bagan yang melakukan ini diberikan pada Gambar 15.11 di mana sizemerupakan kontribusi gabungan dari 4 prediktor terpisah.

Frank Harrell
sumber
6

Jawaban singkatnya adalah tidak ada satu pun cara yang "benar" untuk menjawab pertanyaan ini.

Untuk ulasan terbaik dari masalah ini lihat makalah Ulrike Groemping, misalnya, Pengukur Relatif Pentingnya dalam Regresi Linier Berdasarkan Dekomposisi Varians . Opsi yang ia diskusikan berkisar dari heuristik sederhana hingga solusi multivarian yang canggih, intensif CPU.

http://prof.beuth-hochschule.de/fileadmin/prof/groemp/downloads/amstat07mayp139.pdf

Groemping mengusulkan pendekatannya sendiri dalam paket R yang disebut RELAIMPO yang juga layak dibaca.

https://cran.r-project.org/web/packages/relaimpo/relaimpo.pdf

Satu heuristik cepat dan kotor yang telah saya gunakan adalah untuk meringkas chi-kuadrat (nilai F, t-statistik) yang terkait dengan setiap parameter kemudian repercentage nilai-nilai individu dengan jumlah itu. Hasilnya akan menjadi metrik kepentingan relatif peringkat.

Yang mengatakan, saya tidak pernah menjadi penggemar "koefisien beta terstandarisasi" meskipun mereka sering direkomendasikan oleh profesi dan banyak digunakan. Inilah masalah dengan mereka: standarisasi adalah univariat dan eksternal untuk solusi model. Dengan kata lain, pendekatan ini tidak mencerminkan sifat kondisional dari hasil model.

Mike Hunter
sumber
Terima kasih atas jawabannya dan tautannya! Dapatkah Anda menguraikan atau membantu saya memahami apa arti "eksternal dari solusi model" dan "sifat kondisional dari hasil model"? (Sayangnya, saya bukan ahli dalam bidang statistik.)
DW
1
Jangan khawatir. Gagasan tentang bagaimana model "mengontrol" atau kondisi untuk faktor-faktor lain dalam suatu model dapat menjadi salah satu dari hal-hal di mana banyak ahli statistik dapat benar-benar setuju. Itu juga topik yang banyak dilihat komentar di situs ini. Berikut ini tautan ke salah satu utas tersebut: stats.stackexchange.com/questions/17336/…. Salah satu komentar terbaik di dalamnya adalah oleh @whuber yang mengatakan, 'Anda mungkin berpikir "mengendalikan" sebagai "akuntansi (dalam arti yang paling sederhana) ) untuk kontribusi / pengaruh / efek / asosiasi suatu variabel terhadap semua variabel lainnya. '
Mike Hunter
Terima kasih! Saya akrab dengan gagasan "mengendalikan" beberapa faktor. Bagaimana hal itu berkaitan dengan atau membantu memahami arti "eksternal terhadap solusi model" atau "sifat kondisional dari hasil model"?
DW
Standarisasi prediktor untuk membuat "beta terstandarisasi" biasanya dilakukan sebelum model dibuat, benar? Oleh karena itu, transformasi itu adalah "eksternal" untuk solusi model. Dengan saya sejauh ini?
Mike Hunter
BAIK. Saya bisa mengerti apa yang Anda maksud dengan "eksternal" sekarang - terima kasih atas penjelasannya. Bisakah Anda menjelaskan mengapa ini menjadi masalah, dan apa yang dimaksud dengan "sifat kondisional ..."? (Mungkin kedua pertanyaan itu adalah pertanyaan yang sama dengan jawaban yang sama ...) Maaf membuatmu bertanya! Saya ingin sekali memahami apa yang Anda tulis.
DW
3

Cara yang cukup kuat untuk melakukan ini adalah dengan mencoba menyesuaikan model N kali di mana N adalah jumlah fitur. Setiap kali menggunakan N-1 dari fitur dan meninggalkan satu fitur. Kemudian Anda dapat menggunakan metrik validasi favorit Anda untuk mengukur seberapa banyak inklusi atau pengecualian dari masing-masing fitur mempengaruhi kinerja model. Tergantung pada jumlah fitur yang Anda miliki ini mungkin mahal secara komputasi.

Daniel Johnson
sumber
4
Ini tidak menangani fitur yang berkorelasi dengan baik. Sangat mudah untuk merekayasa situasi di mana dua fitur sangat berkorelasi, sehingga menghapus salah satu dari mereka berdampak minimal terhadap daya prediksi, tetapi menghapus kedua dampak itu sangat parah. Pada dasarnya, satu di mana dua alat prediksi membawa informasi yang hampir sama, tetapi penting.
Matthew Drury
2
Saya setuju. Ini juga berbahaya ketika memeriksa koefisien.
Daniel Johnson
1
Cukup benar. Cukup benar.
Matthew Drury
2

|βj^||βj^|σ^jxj. Satu masalah dengan ini adalah bahwa itu rusak ketika Anda tidak lagi berurusan dengan prediksi numerik.

Mengenai poin terakhir Anda, tentu saja ada kemungkinan bahwa variabel dapat berkontribusi banyak pada peluang log diperkirakan sementara tidak benar-benar mempengaruhi peluang log "benar" banyak, tapi saya tidak berpikir ini perlu terlalu banyak perhatian jika kita memiliki kepercayaan pada prosedur yang menghasilkan estimasi.

dsaxton
sumber
0

Anda benar tentang mengapa Anda tidak harus menggunakan koefisien sebagai ukuran relevansi, tetapi Anda pasti bisa jika Anda membaginya dengan kesalahan standar mereka! Jika Anda memperkirakan model dengan R, maka itu sudah dilakukan untuk Anda! Anda bahkan dapat menghapus fitur paling tidak penting dari model dan melihat cara kerjanya.

Pendekatan yang lebih heuristik untuk mempelajari bagaimana perubahan yang berbeda dalam variabel mengubah hasil adalah melakukan hal itu: coba input yang berbeda dan pelajari perkiraan probabilitas mereka. Namun, karena model Anda cukup sederhana, saya akan menentangnya

David
sumber