• 12 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 23/12/2019

Appréhendez la régression linéaire

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

L'objectif de ce chapitre est de :

  • comprendre la régression linéaire,

  • savoir expliquer le résultat de la régression linéaire,

  • déterminer les variables explicatives les plus pertinentes.

Il fait beau, mes vélos seront-ils loués ?

Prenons les données quotidiennes de location de vélos dans une ville américaine (un extrait est sur la figure ci-dessous). Elles peuvent être téléchargées  ici

Données location de vélos
Tableau 1 : Données location de vélos

L'objectif est de prédire le nombre de locations (la colonne count)  en utilisant les autres variables. La signification des variables est présentée dans le tableau 2.

Variable

holiday

workingday

weather

temp

humidity

windspeed

registered

count

Signification

jour férié

jour ouvré

météo

température

humidité

vitesse du vent

nombre d'abonnés

nombre de locations

Nature

 binaire

binaire

catégorielle

continue

 continue

 continue

continue

 continue

Tableau 2 :  signification et nature des variables

Comme dans le cours sur l'ACP, nous allons noter XRn×d la matrice des données sans la colonne count. n est le nombre de données et d le nombre de variables.

Définissez un modèle de régression linéaire

Régression mono-variable

Prédisons les locations de vélos en fonction de la température :

count=β1×temp+β0+e

 e représente l'écart entre la prédiction  β1×temp+β0  et la vraie valeur count comme le montre la figure 1.

Droite de régression linéaire. Les points rouges sont les données ; les erreurs sont matérialisées par les lignes en pointillé
Figure 1 : Droite de régression linéaire. Les points rouges sont les données ; les erreurs sont matérialisées par les lignes en pointillé.

Les paramètres  β1 et  β0 sont déterminés de façon à minimiser ces erreurs.

Régression multiple

Pour la suite, utilisons la terminologie suivante :

  • count : sortie ou variable à prédire notée y ,

  • holiday, ..., temp, ..., registered (nombre d'abonnés) : entrées ou variables prédictives. Notons xRd   le vecteur contenant ces variables.

Le modèle de régression est maintenant

y=β0+β1×holiday++βd×registered+e=β0+xβ+e

 avec β0 l'ordonnée à l'origine et  βRd le vecteur de paramètres associé aux entrées.

Comment déterminer les paramètres du modèle  ?

Par minimisation du critère des moindres carrés :

avec les définitions suivantes :

βa=[β0β]Rd+1,Xa=[1X]Rn×(d+1)

 Y=[y1yn]Rn est le vecteur des sorties, 1=[11]Rn   est un vecteur de 1 et

X=[x1,1x1,2x1,dx2,1x2,2x2,dxn,1xn,2xn,d]Rn×d est la matrice contenant les variables prédictives.

Comment juger de la qualité du modèle ?

  • Comparez visuellement les prédictions  ˆy=ˆβ0+xˆβ et les vraies observations y (figure 2).

Tracé des vraies observations en fonction des prédictions. La droite en pointillé représente la prédiction idéale.
Figure 2 : Tracé des vraies observations en fonction des prédictions. La droite en pointillé représente la prédiction idéale.
  •  Évaluez l'erreur de prédiction :

RSE=1nd1ni=1(yiˆyi)2

Plus ce critère est petit, mieux c'est.

Sélectionnez les variables explicatives

A-t-on besoin de toutes les variables holiday, ..., temp, ..., registered ?

Pour sélectionner les variables pertinentes parmi les  d  disponibles, plusieurs stratégies sont possibles :

  • Meilleur sous-ensemble : il faut tester tous les modèles linéaires possibles à 1 variable,  puis 2 variables et ainsi de suite. Cela nécessite d'explorer 2d possibilités. Cette méthode a une complexité exponentielle par rapport au nombre de variables d .

  • Forward Selection : on inclue une à une les variables dans le modèle, soit O(d2) possibilités.

  • Backward Selection : partant d'un modèle incluant toutes les variables, on retire à chaque étape une variable, soit aussi O(d2) possibilités.

  • Pénaliser les paramètres : deux variantes sont la régression ridge et le lasso.

Régression linéaire pénalisée

Elle consiste à déterminer les paramètres par minimisation du critère des moindres carrés régularisé :

minβ0,β12ni=1(yiβ0xiβ)2+λΩ(β)(3)

  λ0 est le paramètre de régularisation (à choisir par l'utilisateur) et  Ω(β)0 est le terme de régularisation.

L'idée ici est de pousser certains paramètres  βj (ceux qui sont associés aux variables explicatives qui ne sont pas essentielles pour décrire la sortie y ) en jouant sur la valeur de  λ et la forme de Ω(β) . À l'extrême, lorsque :

  •  λ on souhaite avoir  Ω(β)0 c'est-à-dire β=0 (aucune variable n'est sélectionnée) ;

  •  λ=0, nous retrouvons la solution (2) de la régression linéaire (toutes les variables explicatives sont incluses dans le modèle).

Les choix appropriés de λ et  β permettront de déterminer un compromis entre ces deux situations extrêmes.

On remarquera que le paramètre β0 (la coordonnée à l'origine) n'est pas pénalisée.

Influence de la régularisation

Pour mieux comprendre comment ces méthodes de régularisation agissent, considérons cet exemple simple. Supposons qu'on dispose d'une seule observation  yR et qu'on cherche le modèle y=β+e avec βR . Les deux fonctions de régularisation sont représentées sur la figure 3.

Figure 3 : fonctions de régularisation ridge et lasso
Figure 3 : fonctions de régularisation ridge et lasso
  • Pour la régression ridge, nous avons à résoudre

minβ12(yβ)2+λβ2

La condition d'optimalité (annulation du gradient) fournit la solution

ˆβ=y1+λ

Nous constatons que ˆβ0  si  λ .

  • Le problème du lasso s'écrit

minβ12(yβ)2+λ|β|(4)

La difficulté du lasso est la non-dérivabilité de la fonction |β| en 0 (voir figure 3). Néanmoins on a :

  • pour β0+ la dérivée est g+=y+λ ,

  • pour  β0 la dérivée est g=yλ .

La condition d'optimalité s'écrit alors :

  • si  β0 on a (yβ)+λsigne(β)=0 ,

  • si  β=0 on a g+0 et g0 .

Nous en déduisons pour le problème (4) une solution analytique sous la forme :

ˆβ={y+λsiyλ0siλyλyλsiyλ(5)

La figure 4 montre l'influence des deux formes de régularisation.

Illustration de l'effet de rétrecissement des paramètres effectué par les régularisation ridge et lasso.
Figure 4 : Illustration de l'effet de rétrécissement des paramètres dû aux régularisations ridge et lasso. Courbes tracées pour λ=1 .
Solution de la régression linéaire pénalisée

Revenons maintenant à notre problème général (équation 3).

On peut montrer que le problème de régression ridge admet une solution analytique. En effet, si nous écrivons la condition d'optimalité respectivement par rapport à β0 et β nous obtenons

^β0=ˉyˉxˆβetˆβ=(XcXc+λI)1(XcYc)(4)

avec  ˉy la moyenne des sorties,  ˉx la moyenne des variables explicatives,   Xc  la matrice des données centrées,  Yc=Yˉy le vecteur des sorties centrées et   IRd×d la matrice identité. L'expression de cette solution est presque similaire à celle de la régression linéaire (voir équation 2) au terme  λI près.

Pour la régression lasso, la solution ˆβ0 est la même que celle de la régression ridge. En revanche, ˆβ n'admet pas de solution analytique et se détermine via des algorithmes d'optimisation itératifs. Un exemple d'algorithme de résolution du problème lasso est le suivant :

  • Initialisation

    •  centrer les sortiesyiyiˉyet les entréesxiˉxi=1,,n

    •  fixerβ0=0,ett=0

  • Répétez

    •   βt1argminβ1ni=1(yixi1β1j1xij βt1j)2+λ|β1|  

    •   βt2argminβ2ni=1(yixi1βt1xi2β2dj=3xij βt1j)2+λ|β2|

    •  

    •  βtdargminβdni=1(yid1j=1xij βtj)2+λ|βd|

    •  tt+1

  • Jusqu'à convergence

  • Calculez β0yˉxβ

Le principe est qu'à chaque itération, on fixe tous les paramètres βj sauf un, dont on optimise la valeur en résolvant un problème de lasso simplifié comme à l'équation (4).  Sa solution s'obtient par une opération de seuillage doux. Cette procédure est répétée jusqu'à la convergence des paramètres β .

Notez qu'il existe des boîtes à outils comme sklearn ou CVX qui implémentent la solution de la régression lasso.

Réglage du paramètre de régularisation λ 

Comment sélectionner le bon paramètre de régularisation ?

Les figures 5 et 6 montrent l'effet de la régularisation en fonction de  λ .

Chemin de régularisation pour la régression ridge. Pour faciliter la visualisation, nous avons tracé les paramètres normalisés
Figure 5 : Chemin de régularisation pour la régression ridge. Pour faciliter la visualisation, nous avons tracé les paramètres normalisés.
Chemin de régularisation de la régression lasso
Figure 6 : Chemin de régularisation de la régression lasso

En pratique, on teste différentes valeurs de λ (souvent prises sur une échelle logarithmique) et on évalue à chaque fois le modèle obtenu. Nous pouvons nous servir du critère RSE calculé sur les données de validation (toujours cette notion de généralisation du modèle) pour sélectionner alors le λ "optimal". Le graphique de la figure 7 montre la courbe de validation pour le lasso.

Critère de validation en fonction du paramètre de régularisation pour le lasso. La ligne en pointillé indique la valeur que nous avons retenue.
Figure 7 : Critère de validation en fonction du paramètre de régularisation pour la régression lasso. La ligne en pointillé indique la valeur retenue.

En se reportant au graphique du chemin de régularisation, nous constatons que pour la valeur de λ retenue, seules les variables "workingday", "temp" et "registered" sont sélectionnées. (Ceci signifie que les locations journalières de vélos peuvent s'expliquer par la température, le nombre d'abonnés au service de location et au fait que la journée soit ouvrée ou non.)

En résumé

Dans ce chapitre, vous avez appris :

  • comment construire un modèle de régression linéaire,

  • comment qualifier ses performances,

  • comment sélectionner les variables pertinentes en utilisant notamment le lasso.

Dans le prochain chapitre, nous verrons comment passer de la régression linéaire à la régression logistique.

Exemple de certificat de réussite
Exemple de certificat de réussite