Kiedy powinienem używać lasso kontra grzbiet?

167

Powiedzmy, że chcę oszacować dużą liczbę parametrów i chcę ukarać niektóre z nich, ponieważ uważam, że powinny one mieć niewielki wpływ w porównaniu z innymi. Jak zdecydować, jakiego schematu kary użyć? Kiedy regresja kalenicy jest bardziej odpowiednia? Kiedy powinienem używać lasso?

Larry Wang
źródło
„Powiedz, że chcę oszacować dużą liczbę parametrów”, można to sprecyzować: jakie są ramy? Myślę, że to regresja liniowa?
robin girard
2
Podobne pytanie zostało właśnie zadane przy metaoptimize (pamiętając, że l1 = LASSO i l2 = grzbiet): metaoptimize.com/qa/questions/5205/…
Gael Varoquaux
Mówisz „lasso kontra grzbiet”, jakby to były jedyne dwie opcje - a co uogólnione podwójne pareto, podkowa, bma, brydż, między innymi?
prawdopodobieństwo

Odpowiedzi:

106

Należy pamiętać, że regresja kalenicy nie może wyzerować współczynników; tak więc albo kończysz na włączeniu wszystkich współczynników do modelu, albo żadnego z nich. W przeciwieństwie do tego, LASSO wykonuje zarówno skurcz parametrów, jak i wybór zmiennych automatycznie. Jeśli niektóre z twoich zmiennych towarzyszących są silnie skorelowane, możesz spojrzeć na Elastyczną Siatkę [3] zamiast LASSO.

Osobiście poleciłbym użycie nieujemnej Garotte (NNG) [1], ponieważ jest ona spójna pod względem estymacji i wyboru zmiennych [2]. W przeciwieństwie do LASSO i regresji grzbietu, NNG wymaga wstępnego oszacowania, które następnie zmniejsza się w kierunku źródła. W oryginalnym artykule Breiman zaleca rozwiązanie dla najmniejszych kwadratów dla wstępnego oszacowania (możesz jednak chcieć rozpocząć wyszukiwanie od rozwiązania regresji grzbietu i użyć czegoś takiego jak GCV, aby wybrać parametr kary).

Jeśli chodzi o dostępne oprogramowanie, zaimplementowałem oryginalny NNG w MATLAB (na podstawie oryginalnego kodu FORTRAN Breimana). Możesz pobrać go z:

http://www.emakalic.org/blog/wp-content/uploads/2010/04/nngarotte.zip

BTW, jeśli wolisz rozwiązanie bayesowskie, sprawdź [4,5].

Bibliografia:

[1] Breiman, L. Lepsza regresja podzbioru przy użyciu nieujemnej techniki Garrote Technometrics, 1995, 37, 373–384

[2] Yuan, M. i Lin, Y. W nieujemnym estymatorze Garrotte Journal of Royal Statistics Society (Series B), 2007, 69, 143-161

[3] Zou, H. & Hastie, T. Regularyzacja i selekcja zmiennych za pomocą elastycznej siatki Journal of Royal Statistics Society (Series B), 2005, 67, 301-320

[4] Park, T. i Casella, G. The Bayesian Lasso Journal of American Statistics Association, 2008, 103, 681–686

[5] Kyung, M .; Gill, J .; Ghosh, M. & Casella, G. Regresja karana, błędy standardowe i analiza bayesowska Lassosa Bayesa, 2010, 5, 369-412

emakaliczny
źródło
2
Czy mógłbyś być bardziej konkretny w grze Ridge vs. Lasso? Czy automatyczny wybór zmiennych jest jedynym powodem preferowania lasso?
Chogg
42

Grzbiet lub lasso są formami regularnych regresji liniowych. Regularyzację można również interpretować jako wcześniejszą metodę szacowania maksymalnie a posteriori. Zgodnie z tą interpretacją grzbiet i lasso przyjmują różne założenia dotyczące klasy transformacji liniowej, którą wnioskują w celu powiązania danych wejściowych i wyjściowych. W grzbiecie współczynniki transformacji liniowej są rozkładane normalnie, aw lasso są rozkładem Laplace'a. W lasso ułatwia to zerowanie współczynników, a tym samym łatwiej jest wyeliminować część zmiennej wejściowej, ponieważ nie wpływa ona na wynik.

Istnieje również kilka praktycznych uwag. Grzbiet jest nieco łatwiejszy do wdrożenia i szybszy do obliczenia, co może mieć znaczenie w zależności od rodzaju posiadanych danych.

Jeśli oba zostały zaimplementowane, użyj podzbiorów danych, aby znaleźć grzbiet i lasso i porównać, jak dobrze działają na pominiętych danych. Błędy powinny dać ci wyobrażenie, z którego korzystać.

Hbar
źródło
8
Nie rozumiem - skąd miałbyś wiedzieć, czy twoje współczynniki są rozkładane na laplace czy normalnie?
ihadanny,
1
Dlaczego regresja Ridge'a jest szybsza do obliczenia?
Archie,
4
@Hbar: „Regularyzację można również interpretować jako metodę szacunkową a posteriori maksymalnie.”: Czy możesz wyjaśnić tę część bardziej szczegółowo symbolami matematycznymi, a przynajmniej podać odniesienie? Dzięki!
Mathmath 17.09.17
2
@ihadanny Najprawdopodobniej nie wiedziałbyś, i o to chodzi. Możesz tylko zdecydować, który zachować a posteriori .
Firebug
30

Ogólnie rzecz biorąc, gdy masz wiele małych / średnich efektów, powinieneś iść z grzebieniem. Jeśli masz tylko kilka zmiennych o średnim / dużym efekcie, wybierz lasso. Hastie, Tibshirani, Friedman

Gary
źródło
4
Ale kiedy masz kilka zmiennych, możesz chcieć zachować je wszystkie w swoich modelach, jeśli mają one średnie / duże efekty, co nie będzie miało miejsca w lasso, ponieważ może to usunąć jedną z nich. Czy możesz to szczegółowo wyjaśnić? Czuję, że kiedy masz wiele zmiennych, używamy Lasso do usuwania niepotrzebnych zmiennych, a nie do kalenicy.
aditya bhandari