Analisis residu regresi logistik

12

Pertanyaan ini agak umum dan bertele-tele, tapi tolong tahan dengan saya.

Dalam aplikasi saya, saya memiliki banyak dataset, masing-masing terdiri dari ~ 20.000 titik data dengan ~ 50 fitur dan satu variabel biner yang tergantung. Saya mencoba untuk memodelkan dataset menggunakan regresi logistik teratur (paket R glmnet )

Sebagai bagian dari analisis saya, saya telah membuat plot residual sebagai berikut. Untuk setiap fitur, saya mengurutkan titik data sesuai dengan nilai fitur itu, membagi titik data menjadi 100 ember, dan kemudian menghitung nilai output rata-rata dan nilai prediksi rata-rata dalam setiap ember. Saya merencanakan perbedaan-perbedaan ini.

Berikut ini contoh plot sisa:

Dalam plot di atas, fitur tersebut memiliki kisaran [0,1] (dengan konsentrasi berat pada 1). Seperti yang Anda lihat, ketika nilai fitur rendah, model tampaknya bias terhadap perkiraan kemungkinan 1-output. Misalnya, dalam bucket paling kiri, model melebih-lebihkan probabilitas sekitar 9%.

Berbekal informasi ini, saya ingin mengubah definisi fitur secara langsung untuk secara kasar memperbaiki bias ini. Perubahan suka diganti

xx

atau

xfSebuah(x)={Sebuah jika x<Sebuah x lain

Bagaimana saya bisa melakukan ini? Saya mencari metodologi umum sehingga manusia dapat dengan cepat menelusuri semua ~ 50 plot dan membuat perubahan, dan melakukan ini untuk semua dataset dan sering mengulangi untuk menjaga model tetap up-to-date karena data berkembang seiring waktu.

Sebagai pertanyaan umum, apakah ini pendekatan yang tepat? Pencarian Google untuk "analisis residu regresi logistik" tidak menghasilkan banyak hasil dengan saran praktis yang baik. Mereka tampaknya terpaku pada menjawab pertanyaan, "Apakah model ini cocok?" dan menawarkan berbagai tes seperti Hosmer-Lemeshow untuk menjawab. Tapi saya tidak peduli apakah model saya bagus, saya ingin tahu bagaimana membuatnya lebih baik!

dshin
sumber

Jawaban:

4

Anda tidak dapat benar-benar menilai bias dalam regresi logistik. Regresi logisitika hanya diharapkan tidak bias pada peluang log atau skor logit, log (p / (1-p)). Proporsi akan condong dan karenanya terlihat bias. Anda perlu memetakan residu dalam hal peluang log.

John
sumber
Bagaimana cara menggabungkan residu log-odd dalam ember? Rata-rata aritmatika? Ini sedikit mengganggu bagi saya. Secara intuitif, jika analisis residual tidak menunjukkan bias, maka saya berharap bahwa ketika model memprediksi Pr [y = 1] <0,2, maka y harus sama dengan 1 dengan probabilitas kurang dari 0,2. Tetapi jawaban Anda tampaknya menunjukkan bahwa ini bukan masalahnya. Apakah saya mengerti dengan benar?
dshin
ini mungkin lebih baik diposting sebagai komentar.
probabilityislogic
Tidak David, itu tidak menyiratkan apa pun selain probabilitas 0,2, mungkin suntingan saya membuatnya lebih jelas.
John
Maaf, saya masih sedikit bingung. Pemahaman intuitif saya tentang model yang tidak bias adalah bahwa jika model memprediksi p = 0,2 pada setiap satu dari sejumlah besar titik data, maka 20% dari titik data tersebut harus memiliki y = 1. Apakah pemahaman ini benar? Jika demikian, maka tampaknya metodologi merencanakan saya seharusnya menampilkan bias dengan benar. Jika tidak ... maka saya tidak terlalu senang dengan konsep "bias" ini! Jika pembacaan model yang tidak bias dari 0,2 tidak memberi tahu saya tentang probabilitas bahwa y = 1, apa gunanya ketidakberpihakan?
dshin
Ya, 20% seharusnya memiliki y = 1. Tapi itu tidak akan mati, itu akan mati dengan jumlah tertentu. Dalam ruang probabilitas arah mana menurut Anda itu akan mati dan berapa banyak? Jika tidak bias itu akan jatuh merata di suatu tempat di .2: 1 atau 0: .2. Namun, seperti yang Anda lihat dari ukuran ruang-ruang itu, mereka cenderung lebih jauh di area yang lebih besar hanya karena mereka bisa. Dalam ruang logit jaraknya harus sama dengan + atau -.
John
2

tidak mungkin ada perangkat lunak umum untuk melakukan ini. kemungkinan besar karena tidak ada teori umum untuk memperbaiki masalah dalam regresi. karenanya ini lebih merupakan tipe jawaban "apa yang akan saya lakukan" daripada prosedur yang didasarkan pada teori.

plot yang Anda hasilkan pada dasarnya adalah uji HL visual dengan 100 nampan, tetapi menggunakan prediktor tunggal alih-alih probabilitas yang diprediksi untuk melakukan binning. ini berarti prosedur Anda kemungkinan akan mewarisi beberapa sifat uji HL.

prosedur Anda terdengar masuk akal, meskipun Anda harus waspada dengan kriteria Anda yang “terlalu cocok” kriteria Anda juga kurang bermanfaat sebagai diagnostik karena telah menjadi bagian dari proses estimasi. juga, setiap kali Anda melakukan sesuatu dengan intuisi, Anda harus menuliskan proses pengambilan keputusan Anda sedetil mungkin. ini karena Anda dapat menemukan benih dari proses umum atau teori, yang ketika dikembangkan mengarah ke prosedur yang lebih baik (lebih otomatis dan optimal sehubungan dengan beberapa teori).

Saya pikir salah satu cara untuk pergi adalah mengurangi jumlah plot yang perlu Anda selidiki terlebih dahulu. salah satu cara untuk melakukan ini adalah untuk menyesuaikan setiap variabel sebagai spline kubik, dan kemudian menyelidiki plot yang memiliki estimasi non linear non linear. mengingat jumlah titik data ini juga merupakan perbaikan otomatis yang mudah untuk non linearitas. ini akan memperluas model Anda dari 50 ke 200 + 50 k di mana k adalah jumlah knot. Anda bisa menganggap ini sebagai penerapan "ekspansi seri statistik taylor" dari transformasi "benar".

jika diagnostik Anda masih terlihat buruk setelah ini, maka saya akan mencoba menambahkan istilah interaksi.

bagian dari pertanyaan Anda tampaknya lebih tentang menulis program interaktif, yang lebih merupakan domain dari stackoverflow daripada di sini. mungkin juga berguna untuk mencari alat analisis data eksplorasi karena ini lebih cenderung memiliki fitur yang Anda dapat "kembalikan".

probabilityislogic
sumber
Terima kasih atas tanggapan ini. Saya akan melihat ide spline kubik. Saya telah menggunakan pendekatan "lihat plot dan sesuaikan fitur" ini dalam pengaturan regresi linier, di mana tampak lebih jelas bagaimana mencapai kecocokan yang lebih baik. Misalnya, jika Anda melihat tongkat hoki, jelas bahwa menerapkan koreksi f_a (x) mengarah ke kecocokan yang lebih baik. Seringkali, pengetahuan dari domain masalah bertepatan dengan keputusan ini: jika Anda meramalkan kebahagiaan dari pendapatan, misalnya, masuk akal untuk membatasi pendapatan, kecuali jika Anda berpikir miliarder 1000x lebih bahagia daripada jutawan.
dshin
Tetapi ketika saya beralih ke pengaturan regresi logistik, saya menyadari bahwa saya tidak begitu yakin bagaimana cara mentransfer metodologi saya. Karena itu penyerahan ini.
dshin