Имейте в виду, что регрессия гребня не может обнулять коэффициенты; Таким образом, вы либо включаете все коэффициенты в модель, либо ни один из них. Напротив, LASSO выполняет как сжатие параметров, так и выбор переменных автоматически. Если некоторые из ваших ковариат сильно коррелируют, вы можете захотеть взглянуть на Elastic Net [3] вместо LASSO.
Я бы лично рекомендовал использовать неотрицательный Гаротт (NNG) [1], поскольку он соответствует с точки зрения оценки и выбора переменных [2]. В отличие от LASSO и регрессии гребня, NNG требует первоначальной оценки, которая затем сокращается до начала координат. В первоначальной статье Брейман рекомендует решение для наименьших квадратов для начальной оценки (однако вы можете начать поиск с решения для регрессии гребня и использовать что-то вроде GCV для выбора параметра штрафа).
Что касается доступного программного обеспечения, я реализовал оригинальный NNG в MATLAB (на основе оригинального кода Бреймана FORTRAN). Вы можете скачать его с:
http://www.emakalic.org/blog/wp-content/uploads/2010/04/nngarotte.zip
Кстати, если вы предпочитаете байесовское решение, проверьте [4,5].
Рекомендации:
[1] Брейман Л. Лучшая регрессия подмножеств с использованием неотрицательных Garrote Technometrics, 1995, 37, 373-384.
[2] Юань М. и Лин Ю. О журнале оценки неотрицательных оценок Гаррота Королевского статистического общества (Серия B), 2007, 69, 143-161.
[3] Zou, H. & Hastie, T. Регуляризация и выбор переменных с помощью эластичной сети. Журнал Королевского статистического общества (Серия B), 2005, 67, 301-320.
[4] Парк Т. и Казелла Дж. Байесовский журнал Лассо Американской статистической ассоциации, 2008, 103, 681-686.
[5] Kyung, M .; Джилл, Дж .; Ghosh, M. & Casella, G. Исправленная регрессия, стандартные ошибки и байесовский анализ Лассоса Байесов, 2010, 5, 369-412