Негативна реалізація ласо в R


13

Я шукаю якісь відкриті джерела чи наявну бібліотеку, яку можу використовувати. Наскільки я кажу, пакет glmnet не дуже легко розширюється, щоб охопити негативний випадок. Я можу помилятися, будь-хто з будь-якими ідеями високо оцінений.

Під негативним я маю на увазі, що всі коефіцієнти обмежені позитивними (> 0).


1
Вибачте мене за запитання, але що саме ви маєте на увазі під негативним ласо? Щоб зберегти всі коефіцієнти> 0 чи допустити лише позитивні прогнози? Гуглінг не просвітив мене, але це звучить як щось, про що я хотів би знати.
Беклін

1
Вибачте, що закрили ваше запитання, але краще запитати і відповісти на веб-сайті www.crossvalidated.com. Я позначив це питання про міграцію, тому модники незабаром вирішать його. Сказавши це, будь ласка, уточніть своє питання та поясніть, що саме ви хочете. Експерт з ласо в нашій дослідницькій групі не міг зрозуміти, на що ви прагнули ...
Joris Meys

Вибач за це. Негативний означає, що всі коефіцієнти є позитивними. Я спробував використовувати пакет glmnet, але це вирішує лише загальний випадок.
гбх.

Відповіді:


8

В glmnetє варіант

lower.limits=0

що ви можете використовувати, і це був би відповідний спосіб закріпити обмеження позитивності на встановлених коефіцієнтах, і якщо ви встановите параметр alpha1, ви підходите до LASSO. У поєднанні з аргументом upper.limitsви також можете вказати обмеження поля. glmnetПакет також набагато швидше , ніж penalizedпакет, запропонований в іншу відповідь тут.

RcppВерсія , glmnetяка може відповідати ласо і еластичну мережу з підтримкою позитивності і коробчатих обмежень також в процесі підготовки, і доступний для тестування на https://github.com/jaredhuling/ordinis


7

Дивіться санкціонований пакет для одного варіанта. Приклад цього віньєтки (PDF!), Що постачається з пакетом, наведено в розділі 3.9.

По суті встановлений аргумент positive = TRUEу виклику penalized()функції.


4

Цей і цей документ демонструє, що за деяких умов жорстке порогове значення негативного значення найменших квадратів може виконати еквівалентне або краще, ніж регуляризація L1 (LASSO), за показниками продуктивності. Один із прикладів - якщо у вашій матриці дизайну є лише негативні записи, що часто буває.

Варто перевірити, оскільки NNLS дуже широко підтримується, і їх також буде легше / швидше вирішити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.