Kapan saya harus menggunakan laso vs ridge?

167

Katakanlah saya ingin memperkirakan sejumlah besar parameter, dan saya ingin menghukum beberapa dari mereka karena saya percaya mereka harus memiliki sedikit efek dibandingkan dengan yang lain. Bagaimana cara saya memutuskan skema hukuman apa yang akan digunakan? Kapan regresi ridge lebih tepat? Kapan saya harus menggunakan laso?

Larry Wang
sumber
"Katakan saya ingin memperkirakan sejumlah besar parameter" ini bisa dibuat lebih tepat: Apa kerangka kerjanya? Saya kira itu adalah regresi linier?
robin girard
2
Pertanyaan serupa baru saja diajukan pada metaoptimize (perlu diingat bahwa l1 = LASSO dan l2 = ridge): metaoptimize.com/qa/questions/5205/…
Gael Varoquaux
Anda mengatakan "laso vs punggungan" seolah-olah mereka satu-satunya pilihan - bagaimana dengan pareto ganda umum, tapal kuda, bma, jembatan, antara lain?
probabilityislogic

Jawaban:

106

Perlu diingat bahwa regresi ridge tidak dapat nol koefisien; dengan demikian, Anda akhirnya memasukkan semua koefisien dalam model, atau tidak satupun dari mereka. Sebaliknya, LASSO melakukan penyusutan parameter dan pemilihan variabel secara otomatis. Jika beberapa kovariat Anda sangat berkorelasi, Anda mungkin ingin melihat Jaring Elastis [3] dan bukan LASSO.

Saya pribadi merekomendasikan menggunakan Non-Negative Garotte (NNG) [1] karena konsisten dalam hal estimasi dan pemilihan variabel [2]. Tidak seperti LASSO dan regresi ridge, NNG membutuhkan estimasi awal yang kemudian menyusut ke arah asalnya. Dalam makalah asli, Breiman merekomendasikan solusi kuadrat-terkecil untuk estimasi awal (namun Anda mungkin ingin memulai pencarian dari solusi regresi ridge dan menggunakan sesuatu seperti GCV untuk memilih parameter penalti).

Dalam hal perangkat lunak yang tersedia, saya telah mengimplementasikan NNG asli di MATLAB (berdasarkan kode FORTRAN asli Breiman). Anda dapat mengunduhnya dari:

http://www.emakalic.org/blog/wp-content/uploads/2010/04/nngarotte.zip

BTW, jika Anda lebih suka solusi Bayesian, lihat [4,5].

Referensi:

[1] Breiman, L. Regresi Subset Yang Lebih Baik Menggunakan Technometrics Nonnegative Garrote, 1995, 37, 373-384

[2] Yuan, M. & Lin, Y. Pada estimator Garrotte non-negatif, Jurnal Royal Statistics Society (Seri B), 2007, 69, 143-161

[3] Zou, H. & Hastie, T. Regularisasi dan pemilihan variabel melalui Jurnal elastis Royal Society Statistik (Seri B), 2005, 67, 301-320

[4] Park, T. & Casella, G. The Bayesian Lasso Journal of American Statistics Association, 2008, 103, 681-686

[5] Kyung, M.; Gill, J.; Ghosh, M. & Casella, G. Penresi Regresi, Kesalahan Standar, dan Bayesian Lassos Bayesian Analysis, 2010, 5, 369-412

emakalic
sumber
2
Bisakah Anda lebih spesifik tentang ridge vs laso? Apakah pemilihan variabel otomatis satu-satunya alasan untuk lebih suka laso?
Chogg
42

Ridge atau laso adalah bentuk regresi linier yang teratur. Regulatorisasi juga dapat diartikan sebagai sebelumnya dalam metode estimasi a posteriori maksimum. Di bawah interpretasi ini, punggungan dan laso membuat asumsi yang berbeda pada kelas transformasi linear yang mereka simpulkan untuk menghubungkan data input dan output. Di punggungan, koefisien transformasi linear terdistribusi normal dan di laso mereka terdistribusi Laplace. Dalam laso, ini membuatnya lebih mudah untuk koefisien menjadi nol dan karena itu lebih mudah untuk menghilangkan beberapa variabel input Anda karena tidak berkontribusi pada output.

Ada juga beberapa pertimbangan praktis. Punggungan sedikit lebih mudah diimplementasikan dan lebih cepat untuk dihitung, yang mungkin penting tergantung pada jenis data yang Anda miliki.

Jika Anda berdua telah mengimplementasikan, gunakan himpunan bagian dari data Anda untuk menemukan punggungan dan laso dan membandingkan seberapa baik mereka bekerja pada data yang ditinggalkan. Kesalahan harus memberi Anda ide untuk digunakan.

Hbar
sumber
8
Saya tidak mengerti - bagaimana Anda tahu jika koefisien Anda adalah Laplace atau terdistribusi normal?
ihadanny
1
Mengapa regresi Ridge lebih cepat dihitung?
Archie
4
@Hbar: "Regulatorisasi juga dapat diartikan sebagai sebelumnya dalam metode estimasi posteriori maksimum.": Bisakah Anda menjelaskan bagian ini lebih detail dengan simbol matematika, atau setidaknya memberikan referensi? Terima kasih!
Mathmath
2
@ihadanny Anda kemungkinan besar tidak akan tahu, dan itulah intinya. Anda hanya dapat memutuskan mana yang untuk menjaga a posteriori .
Firebug
30

Secara umum, ketika Anda memiliki banyak efek kecil / menengah, Anda harus menggunakan punggungan. Jika Anda hanya memiliki beberapa variabel dengan efek sedang / besar, lanjutkan dengan laso. Hastie, Tibshirani, Friedman

Gary
sumber
4
Tetapi ketika Anda memiliki beberapa variabel, Anda mungkin ingin menyimpannya semua dalam model Anda jika mereka efek menengah / besar, yang tidak akan terjadi pada laso karena mungkin menghapus salah satu dari mereka. Bisakah Anda jelaskan ini secara terperinci? Saya merasa ketika Anda memiliki banyak variabel, kami menggunakan Lasso untuk menghapus variabel yang tidak perlu dan tidak ridge.
aditya bhandari