Saya menjalankan LASSO yang memiliki beberapa prediktor variabel variabel dan beberapa yang kontinu. Saya punya pertanyaan tentang variabel kategori. Langkah pertama yang saya mengerti adalah memecah mereka masing-masing menjadi boneka, membakukan mereka untuk hukuman yang adil, dan kemudian mundur. Beberapa opsi muncul untuk merawat variabel dummy:
Masukkan semua kecuali satu boneka untuk setiap faktor, biarkan yang itu sebagai tingkat referensi. Interpretasi koefisien dummy relatif terhadap kategori "referensi" yang dikecualikan. Intersep sekarang respons rata-rata untuk kategori referensi.
Kelompokkan variabel-variabel dalam setiap faktor sehingga semuanya termasuk atau tidak termasuk. Saya percaya itulah yang disarankan oleh @Glen_b di sini :
Biasanya, ya, Anda menjaga faktor Anda bersama-sama. Ada beberapa paket R yang bisa melakukan ini, termasuk glmnet
Sertakan semua level, seperti yang disarankan oleh @Andrew M di sini :
Anda mungkin juga ingin mengubah fungsi kontras default, yang secara default tidak menyertakan satu level dari masing-masing faktor (pengkodean pengobatan). Tetapi karena penalti laso, ini tidak lagi diperlukan untuk identifikasi, dan pada kenyataannya membuat interpretasi dari variabel yang dipilih lebih rumit. Untuk melakukan ini, atur
contr.Dummy <- function(contrasts, ...){ conT <- contr.treatment(contrasts=FALSE, ...) conT } options(contrasts=c(ordered='contr.Dummy', unordered='contr.Dummy'))
Sekarang, level apa pun dari suatu faktor dipilih, Anda dapat menganggapnya sebagai menyarankan bahwa level spesifik ini penting, dibandingkan semua level yang dihilangkan. Dalam pembelajaran mesin, saya telah melihat pengkodean ini disebut sebagai pengkodean satu-panas.
Pertanyaan:
- Apa interpretasi dari intersep dan koefisien di bawah masing-masing pendekatan ini?
- Apa pertimbangan yang terlibat dalam memilih salah satunya?
- Apakah kita membatalkan skala koefisien dummy dan kemudian menafsirkannya sebagai perubahan dari mati menjadi aktif?