Lasso (statistiques)

De testwiki
Version datée du 3 octobre 2024 à 20:49 par imported>Mwarf (Restauration des ancres brisées)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Modèle:Infobox Méthode scientifique

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 : Modèle:Lang[1]Modèle:,[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

Soit xi=(xi,1,,xi,p)T, le vecteur contenant les variables explicatives associées à l'individu i, yi la réponse associée et β=(β1,,βp)T les coefficients à estimer.

Modèle linéaire

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 β^λL est également obtenu en minimisant la somme des carrés des résidus mais sous une contrainte supplémentaire :

minβ0,β1,,βp12i=1n(yiβ0j=1pβjxi,j)2 sous la contrainte j=1p|βj|t.

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

Il s'agit d'une pénalisation de la norme

1

des coefficients

βj,j=1,,p

. Cette contrainte va contracter la valeur des coefficients (tout comme la régression ridge) mais la forme de la pénalité

1

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

n<p

, le lasso en sélectionnera au plus

n

[3].

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

minβ0,β1,,βp12i=1n(yiβ0j=1pβjxi,j)2+λj=1p|βj|

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

Écriture vectorielle

En rouge, la fonction de seuillage doux, S(x;λ). En pointillés, la droite d'équation y=x.

Soit X la matrice contenant en ligne les individus, Xi,.=(xi,1,,xi,p). Le lasso s'écrit généralement sous forme vectorielle, en considérant les variables centrées afin d'enlever la constante β0 du problème :

minβp12yXβ22 sous la contrainte β1t

avec aq=(i=1n|ai|q)1/q la norme q.

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

minβp12yXβ22+λβ1.

Cas orthonormal

Dans le cas où la matrice X est telle que XTX=Ip, le lasso a une solution explicite. L'estimateur lasso correspond alors à un seuillage doux de la solution des moindres carrées. Notons β^LS la solution des moindres carrées. La solution du lasso pour j=1,,p est :

β^jL=sgn(β^jLS)max(0,|β^jLS|λ)

Modèle:Démonstration

Conditions de Karush-Kuhn-Tucker

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 j=1,,p :

X.,j(yXβ^λL)=λsj,
sj{sgn((β^λL)j)si(β^λL)j=0[1;1]si(β^λL)j=0

avec X.,j la jieme colonne de la matrice X et sj appartenant au sous-différentiel de la fonction f(x)=|x|[3].

Cas général

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 :

minβp1ni=1nfβ(Xi,.,yi)+λβ1

avec fβ une fonction objectif.

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

fβ(Xi,.,yi)=1Ni=1Nyilog(1+e(β0+Xi,.Tβ)).

Avantages et limites du lasso

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 (n<p), 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 (β0=K<p), 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 (p très grand comparé à n) 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

Modèle:Article principal 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]Modèle:,[9]Modèle:,[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]Modèle:,[12]. Le package celer est disponible sur GitHub.

Applications

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 (np), 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).

Extensions

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

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 n variables dans le cas où n<p. 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 :

minβp12yXβ22+λ1β1+λ2β22

avec λ10 et λ20.

Fused-lasso

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 1 de la différence de deux coefficients successifs. De la même manière que pénaliser la norme 1 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 :

minβp12yXβ22+λ1β1+λ2j=2p|βjβj1|

avec λ10 et λ20.

Group-Lasso

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 𝒢={G1,,GK}, une partition des p variables en K groupes. On note βG, pour G𝒢, le vecteur β restreint aux éléments du groupe G. L'objectif du Group-Lasso est :

minβp12yXβ22+λj=1KwjβGj2

avec λ0, le paramètre de régularisation et wj>0, un poids associé au groupe Gj (généralement Card(Gj)).

Notes et références

Modèle:Références

Voir aussi

Lien interne

Liens externes

Modèle:Portail

  1. 1,0 et 1,1 Modèle:Article.
  2. Modèle:Lien web.
  3. 3,0 et 3,1 Modèle:Article.
  4. 4,0 et 4,1 Modèle:Article.
  5. Modèle:Article.
  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. 7,0 et 7,1 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. Modèle:Article.
  9. Modèle:Article.
  10. Modèle:Article.
  11. Modèle:Article.
  12. Modèle:Article.
  13. Modèle:Article.
  14. Modèle:Article.
  15. Modèle:Article.