Keunggulan LASSO dibandingkan seleksi maju / eliminasi mundur dalam hal kesalahan prediksi validasi silang model

10

Saya mendapatkan tiga model tereduksi dari model full asli yang menggunakan

  • seleksi ke depan
  • eliminasi mundur
  • Teknik hukuman L1 (LASSO)

Untuk model yang diperoleh dengan menggunakan seleksi maju / eliminasi mundur, saya memperoleh estimasi kesalahan prediksi prediksi yang digunakan CVlmdalam paket yang DAAGtersedia di R. Untuk model yang dipilih melalui LASSO, saya menggunakan cv.glm.

Kesalahan prediksi untuk LASSO kurang dari yang diperoleh untuk yang lain. Jadi model yang diperoleh melalui LASSO tampaknya lebih baik dalam hal kapasitas prediksi dan variabilitasnya. Apakah ini fenomena umum yang selalu terjadi atau apakah itu masalah khusus? Apa alasan teoretis untuk ini jika ini adalah fenomena umum?

pengguna41512
sumber
3
Pastikan Anda tidak menggunakan aturan penilaian akurasi yang tidak tepat seperti proporsi yang diklasifikasi benar, karena ini memberikan prediksi model / prediksi yang tidak tepat. Dan bandingkan dengan norma L2. Saya yakin itu akan lebih baik daripada 3 pendekatan yang Anda coba.
Frank Harrell

Jawaban:

16

Pemilihan model LASSO dan maju / mundur keduanya memiliki kekuatan dan keterbatasan. Tidak ada rekomendasi jauh yang bisa dibuat. Simulasi selalu dapat dieksplorasi untuk mengatasi hal ini.

Keduanya dapat dipahami dalam arti dimensionalitas: mengacu pada jumlah parameter model dan jumlah pengamatan. Jika Anda dapat menyesuaikan model menggunakan pemilihan model mundur , Anda mungkin tidak memiliki . Dalam hal itu, model "pas terbaik" adalah yang menggunakan semua parameter ... ketika divalidasi secara internal! Ini hanya masalah overfitting.halnhaln

Overfitting diperbaiki menggunakan split sample cross validation (CV) untuk evaluasi model. Karena Anda tidak menggambarkan ini, saya menganggap Anda tidak melakukannya. Tidak seperti pemilihan model bertahap, LASSO menggunakan parameter penyetelan untuk menghukum jumlah parameter dalam model. Anda dapat memperbaiki parameter tuning, atau menggunakan proses berulang yang rumit untuk memilih nilai ini. Secara default , LASSO melakukan yang terakhir. Ini dilakukan dengan CV untuk meminimalkan MSE prediksi. Saya tidak mengetahui adanya implementasi pemilihan model bertahap yang menggunakan teknik canggih seperti itu, bahkan BIC sebagai kriteria akan menderita dari bias validasi internal. Menurut akun saya, itu secara otomatis memberi LASSO leverage atas pemilihan model bertahap "out-of-the-box".

Terakhir, pemilihan model bertahap dapat memiliki kriteria yang berbeda untuk memasukkan / tidak termasuk regresi yang berbeda. Jika Anda menggunakan nilai-p untuk uji Wald parameter model tertentu atau model yang dihasilkan R ^ 2, Anda tidak akan melakukannya dengan baik, sebagian besar karena bias validasi internal (sekali lagi, dapat diperbaiki dengan CV). Saya merasa mengejutkan bahwa ini masih merupakan cara model-model tersebut cenderung diimplementasikan. AIC atau BIC adalah kriteria yang jauh lebih baik untuk pemilihan model.

Ada sejumlah masalah dengan masing-masing metode. Masalah pemilihan model stepwise jauh lebih baik dipahami, dan jauh lebih buruk daripada LASSO. Masalah utama yang saya lihat dengan pertanyaan Anda adalah bahwa Anda menggunakan alat pemilihan fitur untuk mengevaluasi prediksi . Mereka adalah tugas yang berbeda. LASSO lebih baik untuk pemilihan fitur atau pemilihan model yang jarang. Regresi Ridge dapat memberikan prediksi yang lebih baik karena menggunakan semua variabel.

Kekuatan besar LASSO adalah bahwa ia dapat memperkirakan model di mana , seperti halnya kasus maju (tetapi tidak mundur) regresi bertahap. Dalam kedua kasus, model ini dapat efektif untuk prediksi hanya ketika ada beberapa prediktor yang sangat kuat. Jika hasil lebih baik diprediksi oleh banyak prediktor lemah, maka ridge regresi atau mengantongi / meningkatkan akan mengungguli kedua bertahap regresi maju dan Lasso oleh tembakan panjang. LASSO jauh lebih cepat daripada memajukan regresi bertahap.haln

Jelas ada banyak tumpang tindih antara pemilihan fitur dan prediksi, tetapi saya tidak pernah memberi tahu Anda tentang seberapa baik kunci pas berfungsi sebagai palu. Secara umum, untuk prediksi dengan sejumlah koefisien model dan , saya lebih suka LASSO daripada meneruskan pemilihan model bertahap.haln

AdamO
sumber
4

Anda ingin memilih subset prediktor berdasarkan beberapa kriteria. Mungkin AIC dalam sampel atau disesuaikan R ^ 2, atau validasi silang, tidak masalah.

Anda bisa menguji setiap kombinasi subset prediktor tunggal dan memilih subset terbaik. Namun

  • Sangat memakan waktu karena ledakan parameter kombinatorial.
  • Berfungsi jika Anda memiliki lebih banyak parameter daripada pengamatan dalam arti bahwa Anda menguji semua kombinasi prediktor yang memberikan solusi

Anda dapat menggunakan seleksi maju bertahap

  • Lebih sedikit memakan waktu, tetapi mungkin tidak mendapatkan kombinasi terbaik mutlak, khususnya. ketika prediktor berkorelasi (dapat memilih satu prediktor dan tidak dapat memperoleh peningkatan lebih lanjut saat menambahkan 2 prediktor lain akan menunjukkan peningkatan)
  • Bekerja bahkan ketika Anda memiliki lebih banyak parameter daripada pengamatan

Anda bisa menggunakan eliminasi mundur

  • Tidak berfungsi jika Anda memiliki lebih banyak parameter daripada pengamatan, tidak ada titik awal yang baik (secara teori Anda bisa mulai dari semua titik awal yang valid, bekerja mundur, memilih yang terbaik, tapi bukan itu yang biasanya dimaksud dengan eliminasi mundur)
  • Seperti maju bertahap, lebih sedikit memakan waktu daripada semua himpunan bagian, tetapi mungkin tidak mendapatkan kombinasi terbaik mutlak, esp. ketika prediktor berkorelasi

Anda bisa menggunakan LASSO

  • Bekerja bahkan ketika Anda memiliki lebih banyak parameter daripada pengamatan
  • Hemat CPU saat Anda memiliki banyak parameter dan ledakan himpunan bagian kombinatorial
  • Menambahkan regularisasi

Mengenai pertanyaan Anda tentang mengapa LASSO berkinerja lebih baik pada data Anda di CV

  • Salah satu kemungkinan adalah ketergantungan jalur yang dijelaskan di atas - LASSO mungkin menemukan subset yang lebih baik. Mungkin beruntung, mungkin LASSO umumnya / kadang-kadang mendapat himpunan bagian yang lebih baik, saya tidak yakin. Mungkin ada literatur tentang masalah ini.
  • Kemungkinan lain (yang lebih mungkin) adalah regularisasi LASSO mencegah overfitting, sehingga LASSO berkinerja lebih baik dalam CV / out of sample.

Intinya, LASSO memberi Anda regularisasi dan pemilihan subset yang efisien, terutama ketika Anda memiliki banyak prediktor.

BTW Anda dapat melakukan LASSO dan memilih model Anda menggunakan CV (paling umum) tetapi juga menggunakan AIC atau kriteria lainnya. Jalankan model Anda dengan regularisasi L1 dan tanpa kendala, kemudian secara bertahap kencangkan kendala hingga AIC mencapai minimum, atau kesalahan CV, atau kriteria pilihan Anda. Lihat http://scikit-learn.org/stable/auto_examples/linear_model/plot_lasso_model_selection.html

McNuts berbatu
sumber