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 ncvreg
package, 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 l0ara
package 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 L0Learn
package , 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 l0ara
donne 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 / l0ara
et la pénalité L0L2 L0Learn
sont 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 fs
commande forward et lasso
du LASSO dans le bestsubset
package). 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?