Aller au contenu

Lasso (statistiques)

Un article de Wikipédia, l'encyclopédie libre.
Lasso
Type
Méthode statistique (d)Voir et modifier les données sur Wikidata
Inventeur
Date d'invention

En statistiques, le lasso est une méthode de contraction des coefficients de la régression développée par Robert Tibshirani dans un article publié en 1996 intitulé Regression shrinkage and selection via the lasso[1].

Le nom est un acronyme anglais : Least Absolute Shrinkage and Selection Operator[1],[2].

Bien que cette méthode fut utilisée à l'origine pour des modèles utilisant l'estimateur usuel des moindres carrés, la pénalisation lasso s'étend facilement à de nombreux modèles statistiques tels que les modèles linéaires généralisés, les modèles à risque proportionnel, et les M-estimateurs. La capacité du lasso à sélectionner un sous-ensemble de variables est due à la nature de la contrainte exercée sur les coefficients et peut s'interpréter de manière géométrique, en statistique bayésienne ou analyse convexe.

Présentation formelle

[modifier | modifier le code]

Soit , le vecteur contenant les variables explicatives associées à l'individu , la réponse associée et les coefficients à estimer.

Modèle linéaire

[modifier | modifier le code]

Dans le cadre d'un modèle linéaire standard, les coefficients sont obtenus par minimisation de la somme des carrés des résidus.

Avec la méthode lasso, le vecteur de coefficients est également obtenu en minimisant la somme des carrés des résidus mais sous une contrainte supplémentaire :

Le paramètre contrôle le niveau de régularisation des coefficients estimés.

Il s'agit d'une pénalisation de la norme des coefficients . Cette contrainte va contracter la valeur des coefficients (tout comme la régression ridge) mais la forme de la pénalité va permettre à certains coefficients de valoir exactement zéro (à l'inverse de la régression ridge).

En bleu, zones de contraintes de la pénalité lasso (à gauche) et de la pénalité ridge (à droite). En rouge, les contours de la fonction d'erreur des moindres carrés.

De plus, dans des cas où le nombre de variables est supérieur au nombre d'individus , le lasso en sélectionnera au plus [3].

On peut écrire aussi la version lagrangienne de ce problème :

avec le paramètre de régularisation. Ce paramètre est relié au paramètre par une relation dépendante des données.

Écriture vectorielle

[modifier | modifier le code]
En rouge, la fonction de seuillage doux, . En pointillés, la droite d'équation .

Soit la matrice contenant en ligne les individus, . Le lasso s'écrit généralement sous forme vectorielle, en considérant les variables centrées afin d'enlever la constante du problème :

avec la norme

La version vectorielle pour le lagrangien, quant à elle, s'écrit :

Cas orthonormal

[modifier | modifier le code]

Dans le cas où la matrice est telle que , le lasso a une solution explicite. L'estimateur lasso correspond alors à un seuillage doux de la solution des moindres carrées. Notons la solution des moindres carrées. La solution du lasso pour est :

Conditions de Karush-Kuhn-Tucker

[modifier | modifier le code]

Les conditions de Karush-Kuhn-Tucker sont des conditions qu'une solution d'un problème d'optimisation sous contraintes doit vérifier pour être optimale. Dans le cas de la version linéaire du lasso, les conditions du premier ordre sont pour  :

avec la ieme colonne de la matrice et appartenant au sous-différentiel de la fonction [3].

Cas général

[modifier | modifier le code]

Le lasso n'est pas uniquement restreint à la régression linéaire, il peut être également utilisé avec les modèles linéaires généralisés permettant ainsi de faire de la régression logistique pénalisée. L'écriture vectorielle de la forme lagrangienne est :

avec une fonction objectif.

Par exemple, pour une régression logistique, on a :

.

Avantages et limites du lasso

[modifier | modifier le code]

Les principaux avantages du lasso sont :

  • Grande dimension : le lasso fonctionne dans les cas où le nombre d'individus est inférieur au nombre de variables , si toutefois un faible nombre de ces variables a une influence sur les observations (hypothèse de parcimonie). Cette propriété n'est pas vraie dans le cas de la régression linéaire classique avec un risque associé qui augmente comme la dimension de l'espace des variables même si l'hypothèse de parcimonie est vérifiée.
  • Sélection parcimonieuse : le lasso permet de sélectionner un sous-ensemble restreint de variables (dépendant du paramètre ). Cette sélection restreinte permet souvent de mieux interpréter un modèle (rasoir d'Ockham).
  • Consistance de la sélection : lorsque le vrai vecteur solution est creux , c'est-à-dire que seul un sous-ensemble de variables est utilisé pour la prédiction, sous de bonnes conditions, le lasso sera en mesure de sélectionner ces variables d'intérêts avant toutes autres variables[4].

Par contre, certaines limites du lasso ont été démontrées :

  • Les fortes corrélations : si des variables sont fortement corrélées entre elles et qu'elles sont importantes pour la prédiction, le lasso en privilégiera une au détriment des autres. Un autre cas, où les corrélations posent problème, est quand les variables d'intérêts sont corrélées avec d'autres variables. Dans ce cas, la consistance de la sélection du lasso n'est plus assurée[4].
  • La très grande dimension : lorsque notamment la dimension est trop élevée ( très grand comparé à ) ou le vrai vecteur n'est pas suffisamment creux (trop de variables d'intérêts), le lasso ne pourra pas retrouver l'ensemble de ces variables d'intérêts[5].

Calcul des solutions de lasso

[modifier | modifier le code]

La fonction de perte du lasso n'est pas différentiable, mais une grande variété de techniques issues de l'analyse convexe et de la théorie de l'optimisation ont été développées pour calculer le chemin des solutions du lasso. Celles-ci incluent la descente de coordonnées[6], les méthodes de sous-gradient, la régression par angles successifs (LARS), et les méthodes de gradient proximal[7]. Les méthodes de sous-gradient sont la généralisation naturelle des méthodes traditionnelles telles que la descente de gradient et la descente de gradient stochastique au cas où la fonction objectif n'est pas différentiable en tous points. LARS est une méthode étroitement liée aux modèles lasso, et dans de nombreux cas permet de les ajuster efficacement, bien qu'elle puisse ne pas bien fonctionner dans toutes les circonstances. LARS génère des chemins de solutions complets[7]. Les méthodes proximales sont devenues populaires en raison de leur flexibilité et de leurs performances et constituent un domaine de recherche actif. Le choix de la méthode dépendra de la variante particulière de lasso, des données et des ressources disponibles. Cependant, les méthodes proximales donnent généralement de bons résultats.

Le package "glmnet" en R, où "glm" fait référence aux "modèles linéaires généralisés" et "net" fait référence au "net" de "elastic net", fournit un moyen extrêmement efficace d'implémenter LASSO et certaines de ses variantes[8],[9],[10].

Le package "celer" en Python fournit un solveur extrêmement efficace pour le problème du Lasso, surpassant souvent les solveurs traditionnels comme scikit-learn jusqu'à 100 fois dans certains scénarios, notamment avec des ensembles de données de haute dimension. Ce package exploite des techniques d'extrapolation duale pour atteindre ses gains de performance[11],[12]. Le package celer est disponible sur GitHub.

Applications

[modifier | modifier le code]
Exemple de chemin solution du lasso. Chaque courbe représente la valeur d'un coefficient estimé par le lasso en fonction de .

Le lasso est utilisé dans des problèmes de grande dimension (), un cas où des méthodes plus classiques ne fonctionnent pas. Le lasso dispose d'algorithmes peu coûteux en temps de calcul et de stockage, ce qui le rend d'autant plus populaire, comme en génomique où l'on peut être amené à traiter des jeux de données avec plusieurs centaines de milliers de variables.

En pratique, le lasso est testé pour différentes valeurs de . Un chemin solution représentant l'évolution des coefficients en fonction de est ainsi obtenu. La courbe d'un coefficient estimé en fonction de est linéaire par morceaux. Une fois ce chemin solution obtenu, une valeur de est choisie par des méthodes comme la validation croisée ou un critère d'information (AIC par exemple).

Un certain nombre de variantes du lasso ont été créées pour étendre la méthode à différents cas pratiques ou pour pallier certaines limitations du lasso. Sont présentées ici les variantes les plus courantes.

Elastic-Net

[modifier | modifier le code]

L'Elastic-net[13] a été introduit afin de surmonter deux "limitations" du lasso. Premièrement, le lasso ne peut sélectionner qu'au plus variables dans le cas où . Deuxièmement, en présence d'un groupe de variables fortement corrélées, le lasso ne sélectionne généralement qu'une seule variable du groupe. L'idée est donc d'ajouter au lasso une pénalité ridge. Ainsi l'objectif de l'Elastic-Net est :

avec et .

Fused-lasso

[modifier | modifier le code]

Le Fused-Lasso[14] permet de prendre en compte la spatialité des variables. Le principe est que les variables "proches" aient des coefficients estimés "proches". Cela est possible en pénalisant la norme de la différence de deux coefficients successifs. De la même manière que pénaliser la norme d'un coefficient a tendance à produire des coefficients égaux à 0, pénaliser la différence va favoriser l'égalité de deux coefficients successifs. L'objectif du Fused-Lasso est alors :

avec et .

Group-Lasso

[modifier | modifier le code]

L'idée du Group-Lasso[15] est d'avoir une méthode fournissant une sélection parcimonieuse de groupes (fournis a priori) et non de variables. Soit , une partition des variables en groupes. On note , pour , le vecteur restreint aux éléments du groupe . L'objectif du Group-Lasso est :

avec , le paramètre de régularisation et , un poids associé au groupe (généralement ).

Notes et références

[modifier | modifier le code]
  1. a et b (en) Robert Tibshirani, « Regression shrinkage and selection via the lasso », Journal of the Royal Statistical Society. Series B, vol. 58, no 1,‎ , p. 267-288.
  2. Andrew Gelman, « Tibshirani announces new research result: A significance test for the lasso », sur Blog d'Andrew Gelman (consulté le ).
  3. a et b (en) Ryan Tibshirani, « The lasso problem and uniqueness », Electronic Journal of Statistics, vol. 7, no 0,‎ , p. 1456-1490.
  4. a et b (en) Peng Zhao et Bin Yu, « On Model Selection Consistency of Lasso », The Journal of Machine Learning Research, vol. 7,‎ , p. 2541-2563.
  5. (en) Martin Wainwright et Bin Yu, « Sharp Thresholds for High-Dimensional and Noisy Sparsity Recovery Using -Constrained Quadratic Programming (Lasso) », IEEE Transactions on Information Theory, vol. 55, no 5,‎ , p. 2183 - 2202.
  6. Jerome Friedman, Trevor Hastie, et Robert Tibshirani. 2010. "Regularization Paths for Generalized Linear Models via Coordinate Descent". Journal of Statistical Software 33 (1): 1-21. https://www.jstatsoft.org/article/view/v033i01/v33i01.pdf.
  7. a et b Efron, Bradley, Trevor Hastie, Iain Johnstone, et Robert Tibshirani. 2004. "Least Angle Regression". The Annals of Statistics 32 (2). Institute of Mathematical Statistics: 407–51. https://www.jstor.org/stable/3448465.
  8. (en) Jerome Friedman, Trevor Hastie et Robert Tibshirani, « Regularization Paths for Generalized Linear Models via Coordinate Descent », Journal of Statistical Software, vol. 33, no 1,‎ , p. 1–22 (ISSN 1548-7660, PMID 20808728, PMCID 2929880, DOI 10.18637/jss.v033.i01 Accès libre).
  9. (en) Noah Simon, Jerome Friedman, Trevor Hastie et Rob Tibshirani, « Regularization Paths for Cox's Proportional Hazards Model via Coordinate Descent », Journal of Statistical Software, vol. 39, no 5,‎ , p. 1–13 (ISSN 1548-7660, PMID 27065756, PMCID 4824408, DOI 10.18637/jss.v039.i05, lire en ligne).
  10. (en) J. Kenneth Tay, Balasubramanian Narasimhan et Trevor Hastie, « Elastic Net Regularization Paths for All Generalized Linear Models », Journal of Statistical Software, vol. 106, no 1,‎ (ISSN 1548-7660, PMID 37138589, PMCID 10153598, DOI 10.18637/jss.v106.i01 Accès libre).
  11. Mathurin Massias, Alexandre Gramfort et Joseph Salmon, « Celer: a Fast Solver for the Lasso with Dual Extrapolation », Proceedings of the 35th International Conference on Machine Learning, vol. 80,‎ , p. 3321–3330 (lire en ligne).
  12. Mathurin Massias, Samuel Vaiter, Alexandre Gramfort et Joseph Salmon, « Dual Extrapolation for Sparse GLMs », Journal of Machine Learning Research, vol. 21, no 234,‎ , p. 1–33 (lire en ligne).
  13. (en) Hui Zou et Trevor Hastie, « Regularization and variable selection via the elastic net », Journal of the Royal Statistical Society: Series B (Statistical Methodology), vol. 67, no 2,‎ , p. 301-320.
  14. (en) Robert Tibshirani, Michael Saunders, Saharon Rosset, Ji Zhu et Keith Knight, « Sparsity and smoothness via the fused lasso », Journal of the Royal Statistical Society: Series B (Statistical Methodology), vol. 67, no 1,‎ , p. 91-108.
  15. (en) Ming Yuan et Yi Lin, « Model Selection and Estimation in Regression with Grouped Variables », Journal of the Royal Statistical Society. Series B (statistical Methodology), vol. 68, no 1,‎ , p. 49–67.

Lien interne

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]