Pourquoi utiliser les estimations Lasso sur les estimations OLS sur le sous-ensemble de variables identifié par Lasso?


26

Pour la régression Lasso supposons que la meilleure solution (erreur de test minimale par exemple) sélectionne k fonctionnalités, de sorte que \ hat {\ beta} ^ {lasso} = \ left (\ hat {\ beta} _1 ^ {lasso}, \ hat {\ beta} _2 ^ {lasso}, ..., \ hat {\ beta} _k ^ {lasso}, 0, ... 0 \ droite) .

L(β)=(Xβ-y)(Xβ-y)+λβ1,
β l a s s o = ( β L a s s o 1 , β l a s s o 2 , . . . , β l a s s o k , 0 , . . .0 )kβ^lunesso=(β^1lunesso,β^2lunesso,...,β^klunesso,0,...0)

Nous savons que (β^1lunesso,β^2lunesso,...,β^klunesso) est un estimation biaisée de (β1,β2,...,βk) , alors pourquoi prenons-nous toujours β^lunesso comme solution finale, au lieu de la plus 'raisonnable' β^new=(β^1:knew,0,...,0) , où β^1:knew est l'estimation LS du modèle partiel Lnew(β1:k)=(X1:kβ-y)(X1:kβ-y) . ( X1:k désigne les colonnes de X correspondant aux k entités sélectionnées).

En bref, pourquoi utilisons-nous le Lasso à la fois pour la sélection d'entités et pour l'estimation de paramètres, au lieu de seulement pour la sélection de variables (et en laissant l'estimation sur les entités sélectionnées à OLS)?

(En outre, qu'est-ce que cela signifie que «Lasso peut sélectionner au plus n fonctionnalités»? n est la taille de l'échantillon.)


1
C’est une très bonne question. Avez-vous essayé quelques simulations pour voir à quel point les résultats seraient différents du Lasso standard si vous essayiez à votre façon?
Placidia

3
Avez-vous compris le but de "Shrinkage" dans LASSO?
Michael M

6
L'idée est de réduire les estimations de coefficient précisément parce que vous avez choisi les plus grandes. Les estimations des moindres carrés ne sont plus non biaisées lorsque vous avez préalablement sélectionné la fonction.
Scortchi - Réintégrer Monica

2
Voir la question suivante pour une excellente réponse à "Quel problème les méthodes de retrait résolvent-elles?" stats.stackexchange.com/questions/20295/…
DL Dahly

2
Pour être clair: ne pas dire que @Scortchi est faux, mais c'est un peu une zone grise lors de la discussion sur la sélection des fonctionnalités, et je pense que c'est un point technique important qui devrait être très clair.
JohnA

Réponses:


27

Je ne crois pas qu'il y ait quelque chose de mal à utiliser LASSO pour la sélection de variables, puis à utiliser OLS. Extrait de " Elements of Statistical Learning " (p. 91)

... le rétrécissement du lasso fait que les estimations des coefficients non nuls sont biaisées vers zéro et en général elles ne sont pas cohérentes [ Note ajoutée: Cela signifie que, à mesure que la taille de l'échantillon augmente, les estimations des coefficients ne convergent pas] . Une approche pour réduire ce biais consiste à exécuter le lasso pour identifier l'ensemble de coefficients non nuls, puis à ajuster un modèle linéaire non restreint à l'ensemble d'entités sélectionné. Ce n'est pas toujours possible, si l'ensemble sélectionné est grand. Alternativement, on peut utiliser le lasso pour sélectionner l'ensemble de prédicteurs non nuls, puis appliquer à nouveau le lasso, mais en utilisant uniquement les prédicteurs sélectionnés de la première étape. Ceci est connu comme le lasso détendu(Meinshausen, 2007). L'idée est d'utiliser la validation croisée pour estimer le paramètre de pénalité initial pour le lasso, puis à nouveau pour un deuxième paramètre de pénalité appliqué à l'ensemble de prédicteurs sélectionné. Étant donné que les variables de la deuxième étape ont moins de «concurrence» avec les variables de bruit, la validation croisée aura tendance à choisir une valeur plus petite pour [le paramètre de pénalité], et donc leurs coefficients seront moins réduits que ceux de l'estimation initiale.λ

Une autre approche raisonnable, similaire dans son esprit au lasso détendu, consisterait à utiliser le lasso une fois (ou plusieurs fois en tandem) pour identifier un groupe de variables prédictives candidates. Ensuite, utilisez la régression des meilleurs sous-ensembles pour sélectionner les meilleures variables prédictives à considérer (voir également «Éléments d'apprentissage statistique» pour cela). Pour que cela fonctionne, vous devez affiner le groupe de prédicteurs candidats à environ 35, ce qui ne sera pas toujours possible. Vous pouvez utiliser la validation croisée ou AIC comme critère pour éviter un sur-ajustement.


Une autre partie de ma question est, pourquoi «Lasso peut sélectionner au plus n fonctionnalités»? Si tel est le cas, je pense que l'OLS sur les fonctionnalités sélectionnées sera au moins «bon», car l'OLS est le «BLEU» (pas strictement BLUE car il est principalement biaisé). Considérez simplement une situation extrême où Lasso sélectionne exactement les bonnes caractéristiques, la conduite d'OLS sur ces caractéristiques restaurera le vrai modèle, qui je pense est meilleur que l'estimation de Lasso.
yliueagle

2
Le problème est que cette "situation extrême" est très peu susceptible de se produire, et il n'y a aucun moyen de savoir si LASSO a sélectionné exactement les bonnes fonctionnalités. Si LASSO sélectionne trop de fonctionnalités, je pense que le modèle OLS complet peut être moins performant que les estimations de LASSO. De même, la régression de crête peut surpasser OLS s'il y a trop de fonctionnalités (c.-à-d. OLS est surajusté).
Alex Williams

2
Voir aussi web.stanford.edu/~hastie/StatLearnSparsity_files/SLS.pdf , la fin de la section 2.2: "[...] les moindres carrés ajustés sur le sous-ensemble des prédicteurs [...] ont tendance à étendre les estimations du lasso loin de zéro. Les estimations non nulles du lasso ont tendance à être biaisées vers zéro, de sorte que le débiasing dans le panneau de droite peut souvent améliorer l'erreur de prédiction du modèle. Ce processus en deux étapes est également connu sous le nom de lasso détendu (Meinshausen 2007) . "
amibe dit Réintégrer Monica

1
J'ai examiné le document de Meinshausen et il recommande en fait d'adapter deux paramètres de pénalité, comme décrit dans votre citation originale de The Elements. +1
amibe dit Réintégrer Monica

@AlexWilliams Mais n'y a-t-il pas une hypothèse de rareté dans le paragraphe précédent sur la corrélation entre l'ensemble sélectionné et ce qui est supprimé étant petit?
Dimitriy V. Masterov

15

Si votre objectif est une performance optimale dans l'échantillon (par rapport au R au carré le plus élevé), utilisez simplement OLS sur chaque variable disponible. La suppression de variables diminuera le R au carré.

Si votre objectif est d'obtenir de bonnes performances hors échantillon (ce qui est généralement ce qui est beaucoup plus important), votre stratégie proposée souffrira de deux sources de sur-ajustement:

  • Sélection de variables en fonction des corrélations avec la variable de réponse
  • Estimations OLS

Le but de LASSO est de réduire les estimations des paramètres à zéro afin de combattre au-dessus de deux sources de sur-ajustement. Les prédictions dans l'échantillon seront toujours pires que l'OLS, mais l'espoir est (selon la force de la pénalisation) d'obtenir un comportement hors échantillon plus réaliste.

Concernant : Cela dépend (probablement) de l'implémentation de LASSO que vous utilisez. Une variante, Lars (régression du moindre angle), fonctionne facilement pour .p > np>np>n


2
Le "Leekasso" (toujours choisir 10 coefficients) est différent de la proposition de la question (réestimer l'OLS avec k prédicteurs choisis par LASSO)
Affine

@affine vous avez tout à fait raison. J'ai supprimé la référence.
Michael M

2
Cela semble raisonnable, mais les inventeurs de Lasso soutiennent le contraire et recommandent réellement d'utiliser une procédure en deux étapes avec OLS sur le sous-ensemble identifié par Lasso (comme suggéré par l'OP), voir la réponse de @ Alex'es.
amibe dit Réintégrer Monica

J'aime cette réponse car elle mentionne le biais de sélection de la recherche elle-même; il semble bien qu'il devrait y avoir une pénalité supplémentaire. LASSO comme simple mécanisme de sélection de sous-ensembles - est-ce tout? Alors pourquoi même imprimer ses coefficients?
Ben Ogorek

3

Concernant la question des OP sur la raison pour laquelle Lasso peut sélectionner au plus n fonctionnalités:

XTXβ=(XTX)-1XTOui

Le lasso est obligé de réduire les coefficients des variables pour que cela ne se produise pas, il ne sélectionne donc jamais plus de n entités de sorte que est toujours inversible.XTX


1
(-1) Je ne pense pas que ce soit vrai. Pouvez-vous expliquer davantage le lien entre n'existe pas et le lasso? Plus précisément, qu'est-ce que $ X ^ TX a à voir avec le lasso? Il existe des preuves de la question OPS (les réponses ici sont révélatrices, par exemple: stats.stackexchange.com/questions/38299/…) mais cette réponse ne semble pas le prouver. (S'il vous plaît laissez-moi savoir si je me trompe!)(XTX)-1
user795305
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.