Vraag:
Wanneer moet ik lasso versus nok gebruiken?
Larry Wang
2010-07-28 06:10:18 UTC
view on stackexchange narkive permalink

Stel dat ik een groot aantal parameters wil schatten, en ik wil sommige ervan bestraffen omdat ik vind dat ze weinig effect zouden moeten hebben in vergelijking met de andere. Hoe bepaal ik welke strafregeling ik moet gebruiken? Wanneer is nokregressie geschikter? Wanneer moet ik lasso gebruiken?

"Stel dat ik een groot aantal parameters wil schatten", dit zou nauwkeuriger kunnen worden gemaakt: wat is het raamwerk? Ik denk dat het lineaire regressie is?
Een soortgelijke vraag is zojuist gesteld over metaoptimize (rekening houdend met het feit dat l1 = LASSO en l2 = nok): http://metaoptimize.com/qa/questions/5205/when-to-use-l1- regularization-and-when -l2
Je zegt "lasso vs nok" alsof ze de enige twee opties zijn - hoe zit het met gegeneraliseerde dubbele pareto, hoefijzer, bma, brug, onder anderen?
@Gael Varoquaux de link is verbroken.
@Idonknow: metaoptimize is gesloten.De site die u vandaag moet gebruiken, is https://or.stackexchange.com/
Drie antwoorden:
#1
+118
emakalic
2010-07-28 10:55:31 UTC
view on stackexchange narkive permalink

Onthoud dat nokregressie geen coëfficiënten kan op nul zetten; dus uiteindelijk neem je alle coëfficiënten in het model op, of geen van hen. De LASSO daarentegen doet automatisch zowel parameterkrimp als variabele selectie. Als sommige van je covariaten sterk gecorreleerd zijn, wil je misschien kijken naar het Elastic Net [3] in plaats van naar de LASSO.

Ik zou persoonlijk aanraden om de Non-Negative Garotte (NNG) [1] te gebruiken. omdat het consistent is in termen van schatting en variabeleselectie [2]. In tegenstelling tot LASSO en nokregressie, vereist NNG een eerste schatting die vervolgens wordt verkleind naar de oorsprong. In het originele artikel beveelt Breiman de kleinste-kwadraten-oplossing aan voor de initiële schatting (u kunt de zoekopdracht echter starten vanaf een nokregressie-oplossing en zoiets als GCV gebruiken om de penaltyparameter te selecteren).

In termen van beschikbare software, heb ik de originele NNG geïmplementeerd in MATLAB (gebaseerd op de originele FORTRAN-code van Breiman). Je kunt het downloaden van:

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

Trouwens, als je de voorkeur geeft aan een Bayesiaanse oplossing, ga dan naar [4,5].

Referenties:

[1] Breiman, L. Betere subsetregressie met behulp van de niet-negatieve Garrote-techniek , 1995, 37, 373-384

[2] Yuan, M. & Lin, Y. On the non-negative garrotte Estimator Journal of the Royal Statistical Society (Series B), 2007, 69, 143 -161

[3] Zou, H. & Hastie, T. Regularisatie en variabele selectie via het elastische net Journal of the Royal Statistical Society (Series B), 2005, 67, 301-320

[4] Park, T. & Casella, G. The Bayesian Lasso Journal of the American Statistical Association, 2008, 103, 681-686

[5] Kyung, M .; Gill, J .; Ghosh, M.& Casella, G. Bestrafte regressie, standaardfouten en Bayesiaanse Lassos Bayesiaanse analyse, 2010, 5, 369-412

Kun je specifieker zijn over ridge vs lasso?Is automatische variabelenselectie de enige reden om de voorkeur te geven aan lasso?
#2
+48
Hbar
2010-07-28 09:26:17 UTC
view on stackexchange narkive permalink

Ridge of lasso zijn vormen van geregulariseerde lineaire regressies. De regularisatie kan ook worden geïnterpreteerd als prior in een maximale a posteriori schattingsmethode. Volgens deze interpretatie maken de rand en de lasso verschillende aannames over de klasse van lineaire transformatie die ze afleiden om input- en outputgegevens te relateren. In de nok zijn de coëfficiënten van de lineaire transformatie normaal verdeeld en in de lasso zijn ze Laplace-verdeeld. In de lasso maakt dit het gemakkelijker voor de coëfficiënten om nul te zijn en daarom gemakkelijker om een ​​deel van je invoervariabele te elimineren omdat ze niet bijdragen aan de uitvoer.

Er zijn ook enkele praktische overwegingen. De rand is een beetje gemakkelijker te implementeren en sneller te berekenen, wat van belang kan zijn, afhankelijk van het type gegevens dat je hebt.

Als je beide hebt geïmplementeerd, gebruik dan subsets van je gegevens om de rand en de lasso te vinden en vergelijk hoe goed ze werken op de weggelaten gegevens. De fouten zouden u een idee moeten geven welke u moet gebruiken.

Ik snap het niet - hoe zou je weten of je coëfficiënten laplace of normaal verdeeld zijn?
Waarom is Ridge-regressie sneller te berekenen?
@Hbar: "De regularisatie kan ook als prior geïnterpreteerd worden in een maximum a posteriori schattingsmethode.": Zou je dit deel in meer detail kunnen uitleggen met wiskundige symbolen, of op zijn minst een verwijzing kunnen geven?Bedankt!
@ihadanny Je zou het waarschijnlijk niet weten, en dat is het punt.U kunt alleen beslissen welke u _a posteriori_ wilt houden.
@Archie Er is een gesloten oplossing voor Ridge Regressie net als OLS, maar LASSO moet worden berekend met behulp van optimalisatieprocedures.
#3
+35
Gary
2011-03-19 06:21:06 UTC
view on stackexchange narkive permalink

Over het algemeen, als je veel kleine / middelgrote effecten hebt, moet je met ridge gaan. Als je maar een paar variabelen hebt met een gemiddeld / groot effect, ga dan voor lasso. Hastie, Tibshirani, Friedman

Maar als je een paar variabelen hebt, wil je ze misschien allemaal in je modellen behouden als ze middelgrote / grote effecten hebben, wat niet het geval zal zijn in lasso, omdat het een ervan kan verwijderen.Kunt u dit alstublieft in detail toelichten?Ik heb het gevoel dat als je veel variabelen hebt, we Lasso gebruiken om onnodige variabelen te verwijderen en niet om ridge.


Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...