Quand devrais-je utiliser le lasso vs la crête?

167

Supposons que je veuille estimer un grand nombre de paramètres et que je veuille pénaliser certains d'entre eux car je pense qu'ils devraient avoir peu d'effet par rapport aux autres. Comment décider quel schéma de pénalisation utiliser? Quand la régression de crête est-elle plus appropriée? Quand devrais-je utiliser le lasso?

Larry Wang
la source
"Disons que je veux estimer un grand nombre de paramètres", cela pourrait être précisé: Quel est le cadre? Je suppose que c'est une régression linéaire?
robin girard
2
Une question similaire vient d'être posée sur metaoptimize (en gardant à l'esprit que l1 = LASSO et l2 = arête): metaoptimize.com/qa/questions/5205/…
Gael Varoquaux
Vous dites "lasso vs crête" comme si elles étaient les deux seules options - quid du double pareto généralisé, du fer à cheval, du bma, du bridge, entre autres?
probabilityislogic

Réponses:

106

Gardez à l'esprit que la régression de crête ne peut pas mettre à zéro les coefficients; ainsi, vous finissez par inclure tous les coefficients du modèle ou aucun d'entre eux. En revanche, LASSO effectue à la fois le retrait de paramètre et la sélection de variable automatiquement. Si certaines de vos covariables sont fortement corrélées, vous voudrez peut-être utiliser Elastic Net [3] au lieu de LASSO.

Personnellement, je recommanderais d’utiliser la Garotte Non Négative (NNG) [1] car elle est cohérente en termes d’estimation et de sélection de variables [2]. Contrairement à LASSO et à la régression de crête, NNG nécessite une estimation initiale qui est ensuite réduite à l'origine. Dans le document d'origine, Breiman recommande la solution des moindres carrés pour l'estimation initiale (vous pouvez toutefois vouloir lancer la recherche à partir d'une solution de régression par arête et utiliser un paramètre tel que GCV pour sélectionner le paramètre de pénalité).

En termes de logiciels disponibles, j'ai implémenté le NNG d'origine dans MATLAB (basé sur le code FORTRAN d'origine de Breiman). Vous pouvez le télécharger à partir de:

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

BTW, si vous préférez une solution bayésienne, consultez [4,5].

Références:

[1] Breiman, L. Meilleure régression de sous-ensembles utilisant le non-négatif Garrote Technometrics, 1995, 37, 373-384.

[2] Yuan, M. et Lin, Y. Sur l'estimateur non négatif à la garrotte, Journal de la Société royale de statistique (série B), 2007, 69, 143-161.

[3] Zou, H. & Hastie, T. Régularisation et sélection de variables via le réseau élastique de la Société royale de statistique (série B), 2005, 67, 301-320.

[4] Park, T. et Casella, G. Journal bayésien de lasso de l'association américaine de statistique, 2008, 103, 681-686.

[5] Kyung, M .; Gill, J .; Ghosh, M. et Casella, G. Régression pénalisée, erreurs types et analyse bayésienne bayésienne de Lassos, 2010, 5, 369-412

emakalic
la source
2
Pourriez-vous être plus précis sur la crête vs le lasso? La sélection automatique de variables est-elle la seule raison de préférer le lasso?
Chogg
42

Ridge ou lasso sont des formes de régressions linéaires régularisées. La régularisation peut également être interprétée comme préalable dans une méthode d’estimation maximum a posteriori. Selon cette interprétation, l'arête et le lasso font des hypothèses différentes sur la classe de transformation linéaire qu'ils infèrent pour relier les données d'entrée et de sortie. Dans la crête, les coefficients de la transformation linéaire sont distribués normalement et dans le lasso, ils sont distribués. Dans le lasso, il est plus facile pour les coefficients d’être nuls et donc plus facile d’éliminer une partie de votre variable d’entrée car elle ne contribue pas à la sortie.

Il y a aussi quelques considérations pratiques. La crête est un peu plus facile à mettre en œuvre et plus rapide à calculer, ce qui peut être important selon le type de données dont vous disposez.

Si vous avez tous les deux implémentés, utilisez des sous-ensembles de vos données pour trouver la crête et le lasso et comparez leur efficacité sur les données laissées. Les erreurs devraient vous donner une idée de laquelle utiliser.

Hbar
la source
8
Je ne comprends pas - comment sauriez-vous si vos coefficients sont laplace ou distribués normalement?
ihadanny
1
Pourquoi la régression de Ridge est-elle plus rapide à calculer?
Archie
4
@Hbar: "La régularisation peut aussi être interprétée comme prioritaire dans une méthode d'estimation maximum a posteriori.": Pourriez-vous expliquer cette partie plus en détail à l'aide de symboles mathématiques, ou au moins donner une référence? Merci!
Mathmath
2
@ ihadanny Vous ne le sauriez probablement pas, et c'est le but. Vous ne pouvez décider que de garder a posteriori .
Firebug
30

En règle générale, lorsque vous avez de nombreux effets de petite / moyenne taille, vous devriez utiliser Ridge. Si vous n'avez que quelques variables avec un effet moyen / fort, utilisez le lasso. Hastie, Tibshirani, Friedman

Gary
la source
4
Toutefois, lorsque vous avez quelques variables, vous pouvez les conserver toutes dans vos modèles si elles ont des effets moyens / grands, ce qui ne sera pas le cas dans le lasso car cela pourrait en supprimer une. Pouvez-vous s'il vous plaît expliquer cela en détail? Je pense que lorsque vous avez beaucoup de variables, nous utilisons Lasso pour supprimer les variables inutiles et non les crêtes.
Aditya Bhandari