Ini sudah merupakan pertanyaan yang sudah cukup lama tetapi saya merasa bahwa sementara itu sebagian besar jawaban di sini sudah usang (dan yang sudah diperiksa karena jawaban yang benar benar salah imho).
Pertama, dalam hal mendapatkan kinerja prediksi yang baik, tidak secara universal benar bahwa LASSO selalu lebih baik daripada bertahap. Makalah "Perbandingan Perbandingan Seleksi Subset Terbaik, Seleksi Stepwise Maju, dan Lasso" oleh Hastie et al (2017) memberikan perbandingan ekstensif langkah maju, LASSO dan beberapa varian LASSO seperti LASSO santai serta subset terbaik, dan mereka tunjukkan bahwa langkah bertahap terkadang lebih baik daripada LASSO. Varian LASSO - santai LASSO - adalah salah satu yang menghasilkan akurasi prediksi model tertinggi di bawah berbagai keadaan. Kesimpulan tentang yang terbaik sangat tergantung pada apa yang Anda anggap terbaik, misalnya apakah ini akan menjadi akurasi prediksi tertinggi atau memilih variabel positif palsu paling sedikit.
Ada seluruh kebun binatang metode pembelajaran yang jarang, yang sebagian besar lebih baik daripada LASSO. Misalnya ada LASSO santai Meinhausen , LASSO adaptif dan SCAD dan regresi MCP dihukum seperti yang diterapkan dalam ncvreg
paket, yang semuanya memiliki bias kurang dari LASSO standar dan karenanya lebih disukai. Selain itu, jika Anda tertarik pada solusi sparsest absolut dengan kinerja prediksi terbaik maka regresi L0 dihukum (alias subset terbaik, yaitu berdasarkan hukuman dari nr dari koefisien bukan nol dibandingkan dengan jumlah dari nilai absolut dari koefisien dalam LASSO) lebih baik daripada LASSO, lihat misalnya l0ara
paket yang mendekati L0 yang dihukum GLM menggunakan prosedur punggungan adaptif iteratif, dan yang tidak seperti LASSO juga bekerja sangat baik dengan variabel yang sangat collinear, dan L0Learn
paket , yang dapat sesuai dengan model regresi L0 yang menggunakan penurunan koordinat , berpotensi dikombinasikan dengan penalti L2 untuk mengatur collinearity.
Jadi untuk kembali ke pertanyaan awal Anda: mengapa tidak menggunakan LASSO untuk pemilihan variabel? :
(1) karena koefisien akan sangat bias, yang ditingkatkan dalam regresi yang dihukum LASSO, MCP dan SCAD, dan diselesaikan sepenuhnya dalam regresi yang dikenakan sanksi L0 (yang memiliki sifat oracle penuh, yaitu dapat memilih variabel kausal dan retun koefisien bias, juga untuk kasus p> n)
(2) karena cenderung menghasilkan jauh lebih banyak hasil positif palsu daripada regresi yang diberi penalti L0 (dalam pengujian saya l0ara
berkinerja terbaik, yaitu punggungan adaptif iteratif, diikuti oleh L0Learn
)
(3) karena tidak dapat menangani dengan baik variabel collinear (pada dasarnya hanya akan secara acak memilih salah satu variabel collinear) - punggungan adaptif berulang / l0ara
dan hukuman L0L2 L0Learn
jauh lebih baik dalam berurusan dengan itu.
Tentu saja, secara umum, Anda masih harus menggunakan validasi silang untuk menyesuaikan parameter regularisasi Anda untuk mendapatkan kinerja prediksi yang optimal, tetapi itu bukan masalah. Dan Anda bahkan dapat melakukan inferensi dimensi tinggi pada parameter Anda dan menghitung interval kepercayaan 95% pada koefisien Anda jika Anda suka melalui bootstrap nonparametrik (bahkan dengan mempertimbangkan ketidakpastian pada pemilihan regularisasi optimal jika Anda melakukan validasi silang Anda juga pada setiap dataset bootstrap , meskipun itu menjadi sangat lambat).
Secara komputasional, LASSO tidak lebih lambat untuk menyesuaikan diri daripada pendekatan bertahap btw, tentu saja tidak jika seseorang menggunakan kode yang sangat dioptimalkan yang menggunakan penghangat awal untuk mengoptimalkan regularisasi LASSO Anda (Anda dapat membandingkan diri Anda menggunakan fs
perintah forward forward stepwise dan lasso
untuk LASSO dalam bestsubset
paket). Fakta bahwa pendekatan bertahap masih populer mungkin ada hubungannya dengan kepercayaan banyak orang bahwa seseorang kemudian dapat menyimpan model akhir Anda dan melaporkan itu terkait nilai p - yang sebenarnya bukan hal yang benar untuk dilakukan, karena ini tidak memperhitungkan ketidakpastian yang diperkenalkan oleh pemilihan model Anda, menghasilkan nilai p yang terlalu optimis.
Semoga ini membantu?