Поддерживает ли пакет glmnet многомерную сгруппированную регрессию лассо?

Я пытаюсь выполнить многомерную регрессию лассо для набора данных с 300 независимыми переменными и 11 переменными ответа, используя glmnetбиблиотека. Я хотел бы сгруппировать некоторые входные переменные, а затем применить многомерную сгруппированную регрессию лассо, чтобы все сгруппированные переменные либо выбирались, либо отбрасывались моделью лассо в зависимости от их значимости. Как я могу этого добиться? Я заглянул вgrplasso пакет, но он не поддерживает многомерную регрессию.

1 ответ

Я предполагаю, что вы имеете в виду полиномиальную регрессию, поскольку у вас есть проблема нескольких классов (11 классов). Кроме того, вы хотите применить групповое лассо. Я рекомендую использовать пакет msgl, потому что он поддерживает групповое лассо, разреженное групповое лассо и обычное лассо. Это можно сделать, указав альфа-параметр

Альфа: значение α 0 для группового лассо, 1 для лассо, от 0 до 1 дает штраф для разреженного группового лассо.

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

Еще одна вещь, пакет зависит от другого необходимого пакета, который также необходимо установить, а именно sglOptim.

Другие вопросы по тегам