Implementasi laso non negatif di R

13

Saya mencari beberapa sumber terbuka atau perpustakaan yang ada yang dapat saya gunakan. Sejauh yang saya katakan paket glmnet tidak mudah diperluas untuk menutupi kasus non negatif. Saya mungkin salah, Siapa pun yang punya ide sangat dihargai.

Maksud saya non-negatif semua koefisien dibatasi menjadi positif (> 0).

gbh.
sumber
1
Maafkan saya untuk bertanya, tetapi apa sebenarnya yang Anda maksud dengan laso non-negatif? Untuk menjaga semua koefisien> 0 atau hanya mengizinkan prediksi positif? Googling tidak mencerahkan saya, tetapi kedengarannya seperti sesuatu yang ingin saya ketahui.
Backlin
1
Maaf untuk menutup pertanyaan Anda, tetapi lebih baik ditanyakan dan dijawab di www.crossvalidated.com. Saya menandai pertanyaan untuk migrasi, jadi mod akan segera menanganinya. Ini mengatakan, tolong jelaskan pertanyaan Anda dan jelaskan apa yang Anda inginkan. Pakar laso dalam kelompok riset kami tidak mungkin menemukan apa yang Anda tuju ...
Joris Meys
Maaf soal itu. Non negatif berarti semua koefisien positif. Saya mencoba menggunakan paket glmnet tetapi itu hanya memecahkan kasus umum.
gbh.

Jawaban:

8

Di glmnetsana ada pilihan

lower.limits=0

yang dapat Anda gunakan dan itu akan menjadi cara yang tepat untuk menegakkan batasan positif pada koefisien yang dipasang dan jika Anda mengatur parameter alphake 1 Anda akan menyesuaikan LASSO. Dalam kombinasi dengan argumen upper.limitsAnda juga dapat menentukan batasan kotak. The glmnetpaket juga jauh lebih cepat daripada penalizedpaket, disarankan dalam jawaban lain di sini.

Sebuah Rcppversi glmnetyang dapat ditampung bersih lasso & elastis dengan dukungan untuk positif dan kotak kendala juga dalam persiapan, dan tersedia untuk pengujian di https://github.com/jaredhuling/ordinis

Tom Wenseleers
sumber
7

Lihat paket yang dikenakan sanksi untuk satu opsi. The Vignette (PDF!) Yang datang dengan paket memiliki contoh ini dalam bagian 3.9.

Pada dasarnya mengatur argumen positive = TRUEdalam panggilan ke penalized()fungsi.

Pasang kembali Monica - G. Simpson
sumber
4

Ini dan makalah ini menunjukkan bahwa dalam beberapa kondisi, ambang keras dari solusi kuadrat non-negatif dapat melakukan yang setara atau lebih baik daripada regularisasi L1 (LASSO), dalam hal kinerja. Salah satu contoh adalah jika matriks desain Anda hanya memiliki entri non-negatif, yang sering terjadi.

Layak dicoba, karena NNLS sangat banyak didukung dan juga akan lebih mudah / cepat untuk diselesaikan.

Bitwise
sumber