Quels sont les inconvénients de l’utilisation du lasso pour la sélection variable pour la régression?


60

D'après ce que je sais, utiliser un lasso pour la sélection de variables résout le problème des entrées corrélées. De plus, étant donné qu’elle est équivalente à la régression par le plus petit angle, elle n’est pas lente en calcul. Cependant, beaucoup de personnes (par exemple des personnes que je connais en bio-statistique) semblent toujours favoriser la sélection variable par étapes ou par étapes. Y at-il des inconvénients pratiques à l’utilisation du lasso qui le rendent défavorable?


9
Je ne sais pas où vous avez entendu dire que Lasso gère le problème de la colinéarité, ce n'est absolument pas vrai.
Macro

3
Le fer à cheval a priori est meilleur que LASSO pour la sélection du modèle - du moins dans le cas rare du modèle (où la sélection du modèle est la plus utile). Vous pouvez trouver une discussion de ces points dans ce lien . Deux des auteurs de cet article ont également publié un article similaire lors des réunions à Valence, Bayesian Statistics 9 "Rétrécissez-le dans le monde entier localement: régularisation et prédiction bayésiennes clairsemées". L'article de Valence approfondit beaucoup plus le cadre des sanctions.
probabilitéislogique

9
Si vous ne vous intéressez qu'à la prédiction, la sélection du modèle ne vous aide pas et fait généralement mal (par opposition à une pénalité quadratique = L2 norme = régression de crête sans sélection de variable). LASSO paie un prix en termes de discrimination prédictive pour avoir essayé de faire une sélection variable.
Frank Harrell

3
Lancer une pièce de monnaie pour prendre une décision arbitraire révèle souvent que vous vous souciez réellement du résultat. Toute méthode qui propose de prendre des décisions pour vous concernant la sélection des prédicteurs indique souvent que vous avez des idées sur les prédicteurs qui appartiennent plus naturellement au modèle, idées que vous ne voulez pas ignorer. LASSO peut fonctionner comme ça.
Nick Cox

5
Je soutiens @Nick: "aucune théorie disponible pour guider la sélection du modèle" n’est guère réaliste. Le sens commun est la théorie.
Scortchi - Réintégrer Monica

Réponses:


29

Il n'y a AUCUNE raison de faire une sélection par étapes. C'est juste faux.

LASSO / LAR sont les meilleures méthodes automatiques. Mais ce sont des méthodes automatiques. Ils ont laissé l'analyste ne pas penser.

Dans de nombreuses analyses, certaines variables doivent figurer dans le modèle, quelle que soit la mesure de leur importance. Parfois, ce sont des variables de contrôle nécessaires. D'autres fois, il peut être très important de trouver un effet mineur.


43
"Il n'y a AUCUNE raison de faire une sélection par étapes. C'est tout simplement faux." - Presque jamais, des déclarations aussi radicales comme celle-là, dépourvues de contexte, constituent une bonne pratique statistique. Si quelque chose ici est "tout à fait faux", c'est la déclaration en gras ci-dessus. Si votre analyse ne met pas l'accent sur les valeurs ou les estimations de paramètres (par exemple, les modèles prédictifs), la sélection de variables par étapes peut être une bonne chose à faire et peut :: gasp :: surpasser LASSO dans certains cas. (Peter, je sais que nous avons eu cette convo auparavant - ce commentaire s'adresse davantage à un futur lecteur qui ne rencontrera peut-être que cet article et pas l'autre). p
Macro

4
-1 en raison de la critique générale de pas à pas. Ce n'est pas "tout à fait faux" mais a sa place en tant que modèle de recherche déterministe. Vous avez vraiment une abeille dans votre capot sur les méthodes automatiques.
probabilitéislogique

8
@ Elvis, je ne suis ni un expert sur le sujet ni un partisan des étapes; Je ne conteste que la nature inconditionnelle de la déclaration. Mais, par curiosité, j’ai fait quelques simulations simples et j’ai constaté que lorsque vous avez un grand nombre de prédicteurs colinéaires qui ont tous des effets à peu près égaux, la sélection en arrière donne de meilleurs résultats que LASSO en termes de prédiction hors échantillon. J'ai utilisé avec . Les prédicteurs sont normaux avec pour chaque paire . ε ~ N ( 0 , 1 ) c o r ( X i j , X i k ) = 1 / 2 ( j , k )
Yi=j=1100Xij+εi
εN(0,1)cor(Xij,Xik)=1/2(j,k)
Macro

10
Vous devriez certainement enquêter sur la colinéarité avant de vous lancer dans une régression. Je dirais que si vous avez un grand nombre de variables colinéaires, vous ne devez pas utiliser LASSO ou Stepwise; vous devez soit résoudre le problème de colinéarité (supprimer des variables, obtenir plus de données, etc.) ou utiliser une méthode conçue pour de tels problèmes (par exemple, une régression de crête)
Peter Flom - Rétablir Monica

5
OK, vous avez raison, mais je ne pense pas que ce soit vraiment pertinent. Ni le lasso NOR en arrière (ni aucune méthode de sélection de variable) ne résout tous les problèmes. Il y a des choses que vous devez faire avant de commencer la modélisation - et l'une d'entre elles est de vérifier la colinéarité. Je ne me soucierais pas non plus de la méthode de sélection de variable qui fonctionnait pour d'autres ensembles de données enfreignant les règles de la régression à laquelle les deux méthodes sont censées s'appliquer.
Peter Flom - Rétablir Monica

22

Si vous vous souciez uniquement des erreurs de prédiction et des interprétations, des inférences fortuites, de la simplicité des modèles, des tests de coefficients, etc., pourquoi voulez-vous toujours utiliser un modèle de régression linéaire?

Vous pouvez utiliser quelque chose comme dynamiser les arbres de décision ou soutenir la régression de vecteur pour obtenir une meilleure qualité de prédiction tout en évitant les surajustements dans les deux cas mentionnés. C'est pourquoi Lasso n'est peut-être pas le meilleur choix pour obtenir la meilleure qualité de prédiction.

Si ma compréhension est correcte, Lasso est destiné aux situations dans lesquelles vous êtes toujours intéressé par le modèle lui-même, pas seulement aux prévisions. C’est-à-dire - voir les variables sélectionnées et leurs coefficients, interpréter d’une manière quelconque, etc. Et pour cela - Lasso peut ne pas être le meilleur choix dans certaines situations, comme indiqué dans les autres questions ici.


20

LASSO encourage la réduction des coefficients à 0, c'est-à-dire l'élimination de ces variables de votre modèle. Au contraire, d’autres techniques de régularisation, telles que l’arête, ont tendance à garder toutes les variantes.

Je vous recommande donc de vous demander si cette suppression a un sens pour vos données. Par exemple, envisagez de mettre en place un test de diagnostic clinique soit sur des données de microréseau de gènes, soit sur des données de spectroscopie vibrationnelle.

  • Vous vous attendriez à ce que certains gènes contiennent des informations pertinentes, mais beaucoup d'autres gènes ne sont que du bruit. ton application. Laisser tomber ces variables est une idée parfaitement sensée.

  • En revanche, les ensembles de données spectroscopiques vibrationnelles (bien que leurs dimensions soient généralement similaires à celles des micropuces) ont tendance à avoir les informations pertinentes «étalées» sur une grande partie du spectre (corrélation). Dans cette situation, demander à la régularisation d’abandonner des variables n’est pas une approche particulièrement judicieuse. D'autant plus que d'autres techniques de régularisation telles que la PLS sont plus adaptées à ce type de données.

Les éléments de l’apprentissage statistique donnent une bonne discussion sur le LASSO et le comparent à d’autres techniques de régularisation.


14

Si deux prédicteurs sont fortement corrélés, LASSO peut en tomber un de manière plutôt arbitraire. Ce n'est pas très bien quand vous voulez faire des prédictions pour une population où ces deux prédicteurs ne sont pas fortement corrélés, et peut-être une raison pour préférer la régression de crête dans ces circonstances.

Vous pourriez aussi penser que la normalisation des prédicteurs (pour dire quand les coefficients sont "grands" ou "petits") plutôt arbitraires et être perplexe (comme moi) sur les moyens raisonnables de normaliser les prédicteurs catégoriels.


1
Merci pour cette réponse. Connaissez-vous des articles traitant des problèmes liés aux prédicteurs corrélés / prédicteurs catégoriels?
Berk U.

2
Cela vaut la peine d'ajouter qu'il existe d'autres méthodes de régression pénalisées qui tentent d'atténuer ces problèmes (comme le filet élastique).
bdeonovic

Pour effectuer une sélection variable avec des variables hautement colinéaires, l'arête adaptative itérative (qui se rapproche de la régression pénalisée de L0 et s implémentée dans le package l0ara) a tendance à donner de meilleurs résultats, ou les pénalités L0L2, telles que mises en œuvre dans le package L0Learn, sont également ...
Tom Wenseleers

9

Lasso n'est utile que si vous vous limitez à considérer des modèles linéaires dans les paramètres à estimer. En d'autres termes, le lasso n'évalue pas si vous avez choisi la forme correcte de la relation entre la ou les variables indépendantes et dépendantes.

Il est très plausible qu'il puisse y avoir des effets non linéaires, interactifs ou polynomiaux dans un ensemble de données arbitraire. Cependant, ces spécifications de modèle alternatives ne seront évaluées que si l'utilisateur effectue cette analyse; le lasso ne se substitue pas à cela.

Pour obtenir un exemple simple de la façon dont cela peut mal tourner, considérons un ensemble de données dans lequel des intervalles disjoints de la variable indépendante prédiront une alternance de valeurs hautes et basses de la variable dépendante. Il sera difficile de résoudre ce problème à l’aide de modèles linéaires classiques, car il n’existe pas d’effet linéaire dans les variables manifestes présentes à l’analyse (mais une certaine transformation des variables manifestes peut être utile). Resté dans sa forme manifeste, le lasso conclura à tort que cette caractéristique est étrangère et met à zéro son coefficient car il n'y a pas de relation linéaire . D'autre part, comme il existe des divisions dans les données alignées sur les axes, un modèle basé sur une arborescence, comme une forêt aléatoire, réussira probablement très bien.

entrez la description de l'image ici


5

Un inconvénient pratique du lasso et d'autres techniques de régularisation consiste à trouver le coefficient de régularisation optimal, lambda. L'utilisation de la validation croisée pour trouver cette valeur peut être tout aussi coûteuse que les techniques de sélection par étapes.


Qu'entendez-vous par "cher"?
mark999

4
Cette affirmation n'est pas vraiment vraie. Si vous adoptez la recherche de grille "démarrage à chaud" comme dans la méthode glmnet, vous pouvez calculer la grille entière très rapidement.
probabilitéislogique

1
@probabilityislogic C'est vrai, je n'ai lu que sur les démarrages à chaud après avoir formulé le commentaire ci-dessus. Que pensez-vous de ce document, qui indique que les démarrages à chaud sont plus lents et parfois moins efficaces que la simple validation croisée? utilisateurs.cis.fiu.edu/~lzhen001/activities/KDD2011Program/docs/…
rm999

5
Le lasso bayésien ne nécessite pas de fixe :)λ
Stéphane Laurent

5

Je ne suis pas un expert de LASSO, mais je suis un expert des séries chronologiques. Si vous avez des données chronologiques ou des données spatiales, j'éviterais soigneusement une solution basée sur des observations indépendantes. En outre, si des effets déterministes inconnus ont bouleversé vos données (changements de niveau / tendances temporelles, etc.), LASSO serait encore moins efficace. En terminant, lorsque vous disposez de données chronologiques, vous devez souvent les segmenter lorsque vous rencontrez des paramètres ou une variance d'erreur qui évolue dans le temps.


1
LASSO peut offrir de bonnes performances de prévision lorsqu’il est appliqué à des modèles de séries chronologiques basés sur la régression, tels que les autorégressions (AR), les autorégressions vectorielles (VAR) et les modèles de correction d’erreur vectorielle (VECM). Par exemple, recherchez l’ autorégression du vecteur lasso et vous trouverez de nombreux exemples dans la littérature universitaire. Selon ma propre expérience, utiliser LASSO pour les modèles VAR stationnaires offre des performances de prévision supérieures à celles de tous les sous-ensembles ou régularisations de crêtes, tandis que la régularisation de crête surpasse LASSO pour les modèles VAR intégrés (en raison de la multicolinéarité, selon la réponse de Scortchi).
Richard Hardy

La défaillance de LASSO n’est donc pas inhérente à la série chronologique des données.
Richard Hardy

3

C'est déjà une question assez ancienne, mais j'estime qu'entre-temps, la plupart des réponses ici sont plutôt dépassées (et celle qui est cochée comme bonne réponse est tout simplement fausse à mon humble avis).

Premièrement, pour obtenir de bonnes performances de prévision, il n’est pas universellement vrai que LASSO est toujours meilleur que par étapes. Le document "Comparaisons étendues de la meilleure sélection de sous-ensembles, de la sélection progressive pas à pas et du lasso" de Hastie et al (2017) fournit une comparaison détaillée des variantes avancées de LASSO et de LASSO avancées telles que le LASSO décontracté et le meilleur sous-ensemble, et montrer que stepwise est parfois meilleur que LASSO. Une variante de LASSO - LASSO assouplie - était celle qui produisait la précision de prédiction du modèle la plus élevée dans le plus grand nombre de circonstances. La conclusion à propos de ce qui est le meilleur dépend beaucoup de ce que vous considérez le mieux, par exemple, s’il s’agit de l’exactitude de prédiction la plus élevée ou de la sélection du moins de variables fausses positives.

Il existe tout un zoo de méthodes d'apprentissage clairsemées, dont la plupart sont meilleures que LASSO. Par exemple , la régression pénalisée LASSO , adaptative LASSO et SCAD et MCP de Meinhausen, telle que mise en œuvre dans le ncvregpackage, est moins biaisée que la norme LASSO et est donc préférable. De plus, si vous êtes intéressé par la solution la plus éparpillée absolue offrant les meilleures performances de prévision, réglez L0 en régression pénalisée (ou meilleur sous-ensemble, c’est-à-dire basé sur la pénalisation du nombre de coefficients non nuls par opposition à la somme de la valeur absolue des coefficients dans LASSO) est meilleur que LASSO, voir par exemple le l0arapackage qui se rapproche des GLM pénalisés L0 en utilisant une procédure de crête adaptative itérativeet qui, contrairement à LASSO, fonctionne également très bien avec des variables hautement colinéaires et le L0Learnpackage , qui peut s’adapter aux modèles de régression pénalisés L0 en utilisant la descente en coordonnées , éventuellement en combinaison avec une pénalité L2 pour régulariser la colinéarité.

Revenons donc à votre question initiale: pourquoi ne pas utiliser LASSO pour la sélection de variables? :

(1) parce que les coefficients seront fortement biaisés, ce qui s’améliorera dans la régression pénalisée assouplie de LASSO, MCP et SCAD, et sera complètement résolu en régression pénalisée de L0 (qui a une propriété complète d’oracle, c’est-à-dire qu’il coefficients non biaisés, également pour p> n cas)

(2) parce qu'il a tendance à produire beaucoup plus de faux positifs que la régression pénalisée L0 (dans mes tests l0aradonne les meilleurs résultats, c.-à-d. Une crête adaptative itérative, suivie de L0Learn)

(3) parce qu’il ne peut pas gérer correctement les variables colinéaires (il ne sélectionnerait qu’une seule des variables colinéaires de manière aléatoire) - les pénalités adaptatives itératives / l0araet la pénalité L0L2 L0Learnsont beaucoup mieux adaptées à cette situation.

Bien sûr, en général, vous devrez toujours utiliser la validation croisée pour ajuster vos paramètres de régularisation afin d'obtenir des performances de prévision optimales, mais ce n'est pas un problème. Et vous pouvez même faire une inférence dimensionnelle élevée sur vos paramètres et calculer des intervalles de confiance de 95% sur vos coefficients si vous le souhaitez via un bootstrapping non paramétrique (même en tenant compte de l'incertitude sur le choix de la régularisation optimale si vous effectuez votre validation croisée également sur chaque jeu de données bootstrapped , bien que cela devienne assez lent alors).

Sur le plan du calcul, LASSO n’est pas plus lent à s’adapter que les approches pas à pas, surtout si vous utilisez un code hautement optimisé qui utilise des démarrages à chaud pour optimiser votre régularisation LASSO (vous pouvez vous comparer à l’aide de la fscommande forward et lassodu LASSO dans le bestsubsetpackage). Le fait que les approches par étapes soient toujours populaires est probablement dû à la croyance erronée de nombreuses personnes que vous pouvez simplement conserver votre modèle final et signaler les valeurs p associées, ce qui n'est en fait pas une bonne chose à faire, Tenez compte de l’incertitude introduite par votre sélection de modèle, ce qui conduit à des valeurs p trop optimistes.

J'espère que cela t'aides?


0

Un gros problème est la difficulté de faire des tests d'hypothèses. Vous ne pouvez pas facilement déterminer quelles variables sont statistiquement significatives avec Lasso. Avec la régression pas à pas, vous pouvez effectuer des tests d’hypothèses dans une certaine mesure, si vous faites très attention à votre traitement de plusieurs tests.


8
Je dirais que c'est un avantage, pas un inconvénient. Cela vous empêche de faire quelque chose que vous ne devriez probablement pas faire.
Peter Flom - Rétablir Monica

@Peter: Pourquoi? Je suppose que vous corrigeriez correctement pour plusieurs tests, etc., de sorte que les valeurs P obtenues soient valides.
Dsimcha

10
il n'y a vraiment pas moyen de corriger correctement les tests multiples pas à pas. Voir, par exemple, les stratégies de modélisation de régression de Harrell. Il n'y a aucun moyen de connaître la correction à droite
Peter Flom - Réintégrer Monica

4
Il est vrai que la difficulté de faire des tests d’hypothèses est un inconvénient potentiel de LASSO. Ce n’est pas vrai qu’il s’agit d’un désavantage vis-à-vis d’une régression progressive.
Gay - Rétablir Monica

2
Il existe bien le cadre d’inférence sélective (implémenté dans le paquet sélectiveInférence) pour effectuer une inférence (après sélection) pour le LASSO ... Ou, pour toute méthode de sélection de variable, on pourrait utiliser l’amorçage non paramétrique pour faire une inférence et obtenir des intervalles de confiance sur vos estimations de paramètres. ..
Tom Wenseleers Le
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.