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.

Le nom est un acronyme anglais : Least Absolute Shrinkage and Selection Operator,.

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 x i = ( x i , 1 , , x i , p ) T {\displaystyle x_{i}=(x_{i,1},\dots ,x_{i,p})^{T}} , le vecteur contenant les variables explicatives associées à l'individu i {\displaystyle i} , y i {\displaystyle y_{i}} la réponse associée et β = ( β 1 , , β p ) T {\displaystyle \beta =(\beta _{1},\dots ,\beta _{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 {\displaystyle {\widehat {\beta }}_{\lambda }^{L}} est également obtenu en minimisant la somme des carrés des résidus mais sous une contrainte supplémentaire :

min β 0 , β 1 , , β p 1 2 i = 1 n ( y i β 0 j = 1 p β j x i , j ) 2  sous la contrainte  j = 1 p | β j | t . {\displaystyle {\begin{aligned}\min _{\beta _{0},\beta _{1},\dots ,\beta _{p}}{\frac {1}{2}}\sum _{i=1}^{n}\left(y_{i}-\beta _{0}-\sum _{j=1}^{p}\beta _{j}x_{i,j}\right)^{2}{\text{ sous la contrainte }}\sum _{j=1}^{p}|\beta _{j}|\leq t.\end{aligned}}}

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

Il s'agit d'une pénalisation de la norme 1 {\displaystyle \ell _{1}} des coefficients β j , j = 1 , , p {\displaystyle \beta _{j},j=1,\dots ,p} . Cette contrainte va contracter la valeur des coefficients (tout comme la régression ridge) mais la forme de la pénalité 1 {\displaystyle \ell _{1}} va permettre à certains coefficients de valoir exactement zéro (à l'inverse de la régression ridge).

De plus, dans des cas où le nombre de variables est supérieur au nombre d'individus n < p {\displaystyle n , le lasso en sélectionnera au plus n {\displaystyle n} .

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

min β 0 , β 1 , , β p 1 2 i = 1 n ( y i β 0 j = 1 p β j x i , j ) 2 λ j = 1 p | β j | {\displaystyle \min _{\beta _{0},\beta _{1},\dots ,\beta _{p}}{\frac {1}{2}}\sum _{i=1}^{n}\left(y_{i}-\beta _{0}-\sum _{j=1}^{p}\beta _{j}x_{i,j}\right)^{2} \lambda \sum _{j=1}^{p}|\beta _{j}|}

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

Écriture vectorielle

Soit X {\displaystyle X} la matrice contenant en ligne les individus, X i , . = ( x i , 1 , , x i , p ) {\displaystyle X_{i,.}=(x_{i,1},\dots ,x_{i,p})} . Le lasso s'écrit généralement sous forme vectorielle, en considérant les variables centrées afin d'enlever la constante β 0 {\displaystyle \beta _{0}} du problème :

min β R p 1 2 y X β 2 2  sous la contrainte  β 1 t {\displaystyle {\begin{aligned}\min _{\beta \in \mathbb {R} ^{p}}{\frac {1}{2}}\|y-X\beta \|_{2}^{2}{\text{ sous la contrainte }}\|\beta \|_{1}\leq t\end{aligned}}}

avec a q = ( i = 1 n | a i | q ) 1 / q {\textstyle \|a\|_{q}=\left(\sum _{i=1}^{n}|a_{i}|^{q}\right)^{1/q}} la norme q . {\displaystyle \ell _{q}.}

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

min β R p 1 2 y X β 2 2 λ β 1 . {\displaystyle \min _{\beta \in \mathbb {R} ^{p}}{\frac {1}{2}}\|y-X\beta \|_{2}^{2} \lambda \|\beta \|_{1}.}

Cas orthonormal

Dans le cas où la matrice X {\displaystyle X} est telle que X T X = I p {\displaystyle X^{T}X=I_{p}} , le lasso a une solution explicite. L'estimateur lasso correspond alors à un seuillage doux de la solution des moindres carrées. Notons β ^ L S {\displaystyle {\hat {\beta }}^{LS}} la solution des moindres carrées. La solution du lasso pour j = 1 , , p {\displaystyle j=1,\dots ,p} est :

β ^ j L = sgn ( β ^ j L S ) max ( 0 , | β ^ j L S | λ ) {\displaystyle {\hat {\beta }}_{j}^{L}=\operatorname {sgn}({\hat {\beta }}_{j}^{LS})\cdot \max(0,|{\hat {\beta }}_{j}^{LS}|-\lambda )}

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 {\displaystyle j=1,\dots ,p}  :

X . , j ( y X β ^ λ L ) = λ s j , {\displaystyle X_{.,j}(y-X{\hat {\beta }}_{\lambda }^{L})=\lambda s_{j},}
s j { sgn ( ( β ^ λ L ) j ) si ( β ^ λ L ) j 0 [ 1 ; 1 ] si ( β ^ λ L ) j = 0 {\displaystyle s_{j}\in \left\{{\begin{array}{lll}\operatorname {sgn}(({\hat {\beta }}_{\lambda }^{L})_{j})&{\mbox{si}}&({\hat {\beta }}_{\lambda }^{L})_{j}\not =0\\{[-1;1]}&{\mbox{si}}&({\hat {\beta }}_{\lambda }^{L})_{j}=0\end{array}}\right.}

avec X . , j {\displaystyle X_{.,j}} la j {\displaystyle j} ieme colonne de la matrice X {\displaystyle X} et s j {\displaystyle s_{j}} appartenant au sous-différentiel de la fonction f ( x ) = | x | {\displaystyle f(x)=|x|} .

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 β R p 1 n i = 1 n f β ( X i , . , y i ) λ β 1 {\displaystyle \min _{\beta \in \mathbb {R} ^{p}}{\frac {1}{n}}\sum \limits _{i=1}^{n}f_{\beta }(X_{i,.},y_{i}) \lambda \|\beta \|_{1}}

avec f β {\displaystyle f_{\beta }} une fonction objectif.

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

f β ( X i , . , y i ) = 1 N i = 1 N y i log ( 1 e ( β 0 X i , . T β ) ) {\displaystyle f_{\beta }(X_{i,.},y_{i})={\frac {1}{N}}\sum _{i=1}^{N}y_{i}-\log(1 e^{(\beta _{0} X_{i,.}^{T}\beta )})} .

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 ) {\displaystyle (n , 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 λ {\displaystyle \lambda } ). 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 β {\displaystyle \beta } est creux ( β 0 = K < p ) {\displaystyle (\|\beta \|_{0}=K , 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.

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.
  • La très grande dimension : lorsque notamment la dimension est trop élevée ( p {\displaystyle p} très grand comparé à n {\displaystyle n} ) ou le vrai vecteur β {\displaystyle \beta } 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.

Calcul des solutions de lasso

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, les méthodes de sous-gradient, la régression par angles successifs (LARS), et les méthodes de gradient proximal. 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. 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,,.

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,. Le package celer est disponible sur GitHub.

Applications

Le lasso est utilisé dans des problèmes de grande dimension ( n p {\displaystyle n\ll p} ), 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 λ {\displaystyle \lambda } . Un chemin solution représentant l'évolution des coefficients en fonction de λ {\displaystyle \lambda } est ainsi obtenu. La courbe d'un coefficient estimé en fonction de λ {\displaystyle \lambda } est linéaire par morceaux. Une fois ce chemin solution obtenu, une valeur de λ {\displaystyle \lambda } 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 a été introduit afin de surmonter deux "limitations" du lasso. Premièrement, le lasso ne peut sélectionner qu'au plus n {\displaystyle n} variables dans le cas où n < p {\displaystyle n . 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 β R p 1 2 y X β 2 2 λ 1 β 1 λ 2 β 2 2 {\displaystyle \min _{\beta \in \mathbb {R} ^{p}}{\frac {1}{2}}\|y-X\beta \|_{2}^{2} \lambda _{1}\|\beta \|_{1} \lambda _{2}\|\beta \|_{2}^{2}}

avec λ 1 0 {\displaystyle \lambda _{1}\geq 0} et λ 2 0 {\displaystyle \lambda _{2}\geq 0} .

Fused-lasso

Le Fused-Lasso 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 {\displaystyle \ell _{1}} de la différence de deux coefficients successifs. De la même manière que pénaliser la norme 1 {\displaystyle \ell _{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 β R p 1 2 y X β 2 2 λ 1 β 1 λ 2 j = 2 p | β j β j 1 | {\displaystyle \min _{\beta \in \mathbb {R} ^{p}}{\frac {1}{2}}\|y-X\beta \|_{2}^{2} \lambda _{1}\|\beta \|_{1} \lambda _{2}\sum \limits _{j=2}^{p}|\beta _{j}-\beta _{j-1}|}

avec λ 1 0 {\displaystyle \lambda _{1}\geq 0} et λ 2 0 {\displaystyle \lambda _{2}\geq 0} .

Group-Lasso

L'idée du Group-Lasso est d'avoir une méthode fournissant une sélection parcimonieuse de groupes (fournis a priori) et non de variables. Soit G = { G 1 , , G K } {\displaystyle {\mathcal {G}}=\{G_{1},\dots ,G_{K}\}} , une partition des p {\displaystyle p} variables en K {\displaystyle K} groupes. On note β G {\displaystyle \beta _{G}} , pour G G {\displaystyle G\in {\mathcal {G}}} , le vecteur β {\displaystyle \beta } restreint aux éléments du groupe G {\displaystyle G} . L'objectif du Group-Lasso est :

min β R p 1 2 y X β 2 2 λ j = 1 K w j β G j 2 {\displaystyle \min _{\beta \in \mathbb {R} ^{p}}{\frac {1}{2}}\|y-X\beta \|_{2}^{2} \lambda \sum \limits _{j=1}^{K}w_{j}\|\beta _{G_{j}}\|_{2}}

avec λ 0 {\displaystyle \lambda \geq 0} , le paramètre de régularisation et w j > 0 {\displaystyle w_{j}>0} , un poids associé au groupe G j {\displaystyle G_{j}} (généralement C a r d ( G j ) {\displaystyle {\sqrt {\mathrm {Card} (G_{j})}}} ).

Notes et références

Voir aussi

Lien interne

  • Acquisition comprimée

Liens externes

  • The Lasso Page sur le site web de Robert Tibshirani
  • Portail des probabilités et de la statistique

Lasso Semantic Scholar

Lasso coefficient profiles. Download Scientific Diagram

LASSO regression. (A) LASSO regression coefficients under diverse log λ

Lasso

Why Does Lasso (L1) Regression Create Sparsity?