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


13

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

Под неотрицательным я подразумеваю, что все коэффициенты должны быть положительными (> 0).


1
Извините за вопрос, но что именно вы имеете в виду под неотрицательным лассо? Сохранить все коэффициенты> 0 или разрешить только положительные прогнозы? Гугл не просветил меня, но это звучит как то, о чем я хотел бы знать.
Бэклин

1
Извините за закрытие вашего вопроса, но лучше спросить и ответить на www.crossvalidated.com Я пометил вопрос для миграции, так что моды позаботятся о нем в ближайшее время. При этом, пожалуйста, проясните свой вопрос и объясните, что именно вы хотите. Эксперт по лассо в нашей исследовательской группе не мог понять, к чему ты стремился ...
Джорис Мейс

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

Ответы:


8

В glmnetесть вариант

lower.limits=0

что вы можете использовать, и это было бы подходящим способом обеспечить ограничения положительности на подобранные коэффициенты, и если вы установите параметр alphaв 1, вы будете использовать LASSO. В сочетании с аргументом upper.limitsвы также можете указать ограничения блока. glmnetПакет также намного быстрее , чем penalizedпакет, предложенный в другой ответ здесь.

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



4

Эта и эта статья демонстрируют, что при некоторых условиях жесткое определение порога неотрицательного решения наименьших квадратов может выполнять эквивалент или лучше, чем регуляризация L1 (LASSO), с точки зрения производительности. Один из примеров - если в вашей матрице дизайна есть только неотрицательные записи, что часто имеет место.

Стоит проверить, так как NNLS очень широко поддерживается и также будет легче / быстрее решать.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.