Vous êtes sur la page 1sur 20

Régression linéaire simple

Régression linéaire multiple

Apprentissage automatique
Apprentissage supervisé
Prédiction

Gorgoumack SAMBE

Université Assane Seck de Ziguinchor

Version 1.0 - 2021

1/17 Gorgoumack SAMBE Apprentissage automatique


Régression linéaire simple
Régression linéaire multiple

Objectifs

Objectif général
Sélectionner, appliquer et évaluer un modèle de prédiction
(régression).

2/17 Gorgoumack SAMBE Apprentissage automatique


Régression linéaire simple
Régression linéaire multiple

Objectifs

Objectif général
Sélectionner, appliquer et évaluer un modèle de prédiction
(régression).

Objectifs spéciques
1 Appliquer et évaluer une régression linéaire simple ;
2 Appliquer et évaluer une régression linéaire multiple ;

2/17 Gorgoumack SAMBE Apprentissage automatique


Plan

1 Régression linéaire simple

2 Régression linéaire multiple


Plan

1 Régression linéaire simple

2 Régression linéaire multiple


Régression linéaire simple
Régression linéaire multiple

Les bases

Régression simple
étude de la relation 1 entre deux variables X et Y quantitatives.
trouver une fonction f telle que y ≈ f (x)
i.e. y = f (x) + ,  minimal.

1. Explication/prédiction
5/17 Gorgoumack SAMBE Apprentissage automatique
Régression linéaire simple
Régression linéaire multiple

Les bases

Régression simple
étude de la relation 1 entre deux variables X et Y quantitatives.
trouver une fonction f telle que y ≈ f (x)
i.e. y = f (x) + ,  minimal.

modélisation polynomiale : f polynôme


modélisation quadratique : f de degré deux.
modélisation linéaire : fonction ane f (x) = ax + b

1. Explication/prédiction
5/17 Gorgoumack SAMBE Apprentissage automatique
Régression linéaire simple
Régression linéaire multiple

Les bases

Régression simple
étude de la relation 1 entre deux variables X et Y quantitatives.
trouver une fonction f telle que y ≈ f (x)
i.e. y = f (x) + ,  minimal.

modélisation polynomiale : f polynôme


modélisation quadratique : f de degré deux.
modélisation linéaire : fonction ane f (x) = ax + b

Exemples
y : note de langage C, x : note d'algorithmique
y : tension artérielle , x : age

1. Explication/prédiction
5/17 Gorgoumack SAMBE Apprentissage automatique
Régression linéaire simple
Régression linéaire multiple

Pertinence du choix du modèle

Pourquoi penserait je à faire une régression :


1 Tracé des observations/forme du tracé

2 Coecient de corrélation linéaire 2 r


cov (x,y )
r= σx σy
r → 1 corrélation positive, r → −1 corrélation négative, r → 0
faible corrélation.
1
cov (x, y ) = n Σni=1 (xi − x)(yi − y )
√ q
σx = σx2 = 1n Σni=1 (xi − x)2
x = 1n Σni=1 xi y = 1n Σni=1 yi

2. la p-value de la corrélation est aussi à prendre en compte


6/17 Gorgoumack SAMBE Apprentissage automatique
Régression linéaire simple
Régression linéaire multiple

Exemple
y : tension artérielle, x : age

individu age tension Pertinence du modèle :


1 48 160 tracé étiré croissant
2 50 134 coecient de corrélation
3 50 132 r=0.7868
4 58 144
5 42 120
6 62 152
7 64 152
8 49 130
9 60 162
... ... ...
Table  tension/age

7/17 Gorgoumack SAMBE Apprentissage automatique


Régression linéaire simple
Régression linéaire multiple

Estimation des paramètres 1/2


Les Moindres Carrés Ordinaires (MCO)
y = ax + b + 
y estimé pour l'individu i : yi∗ = axi + b
erreur d'estimation pour l'individu i : i = yi∗ − yi
critère d'ajustement des moindres carrés : trouver les
valeurs de a et b qui minimisent la somme des carrés des
écarts entre les vraies valeurs de y et les valeurs prédites par le
modèle : minimisation de Σ2i

8/17 Gorgoumack SAMBE Apprentissage automatique


Régression linéaire simple
Régression linéaire multiple

Estimation des paramètres 2/2


Détermination des coecients
1 pente : â = covσ(x,y )
2

ordonnée à l'origine : b̂ = y − âx


x
2

covariance entre x et y
1
cov (x, y ) = Σni=1 (xi − x)(yi − y )
n
moyenne de x/moyenne de y
1 1
x= Σni=1 xi y= Σni=1 yi
n n
variance de x
1
σx2 = Σni=1 (xi − x)2
n
9/17 Gorgoumack SAMBE Apprentissage automatique
Régression linéaire simple
Régression linéaire multiple

Qualité du modèle

Décomposition de la variance
Σi (yi − y )2 = Σi (yi − ŷi )2 + Σi (ŷi − y )2
SCT = Σi (yi − y )2 Somme des carrés totaux
SCE = Σi (ŷi − y )2 Somme des carrés expliqués par le modèle
SCR = Σi (yi − ŷi )2 Somme des carrés résiduels

Qualité
2
du modèle −y
⇒ Coecient de détermination : R 2
2
R = SCE
SCT
Σ
=(ŷ i ) i
Σi (yi −y )2
= 1 − RSE
R2 → 1 le modèle est de bonne qualité
R2 → 0 le modèle n'est pas bon.

Validation du modèle ⇒ MSE 3, RMSE, . . . :


MSE = n1 Σni=1 (yi − yi0 )2 .

3. Mean squared error - Erreur quadratique moyenne


10/17 Gorgoumack SAMBE Apprentissage automatique
Régression linéaire simple
Régression linéaire multiple

Python sklearn

Classe : LinearRegression
from sklearn.linear_model import LinearRegression
modele=LinearRegression()

apprentissage
modele.t(X,y)
paramètres (coecient,ordonnée à l'origine)
modele.coef_
modele.intercept_
prédiction
modele.predict(X)
qualité du modèle 4
modele.score(X,y)

4. renvoie le R2 pour la régression


11/17 Gorgoumack SAMBE Apprentissage automatique
Régression linéaire simple
Régression linéaire multiple

Exemple
import numpy as np
from sklearn.datasets import make_regression
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
X,y=make_regression(n_samples=100,n_features=1,noise=5)
print(np.corrcoef(X,y,rowvar=False))
X_train, X_test, y_train, y_test =
train_test_split(X, y, test_size = 0.2, random_state=5)
modele_simple=LinearRegression()
modele_simple.fit(X,y) #Apprentissage
print(modele_simple.coef_,modele_simple.intercept_) #coefficient
#prediction sur le jeu test
y_test_predict=modele_simple.predict(X_test)
# qualité du modèle : R2
r2=modele_simple.score(X_train,y_train)
#validation du modèle : MSE/RMSE
mse = mean_squared_error(y_test, y_test_predict)
RMSE=np.sqrt(mse)
print('MSE=',mse)
print('RMSE=',RMSE)

12/17 Gorgoumack SAMBE Apprentissage automatique


Plan

1 Régression linéaire simple

2 Régression linéaire multiple


Régression linéaire simple
Régression linéaire multiple

Les bases

1 X1 , . . . , Xn−1 n-1 variables explicatives 5 (variables


indépendantes), Y variable réponse.
1
2 ∃!β0 , . . . , βn−1 tel que Σn−
i βi Xi + β0 ≈ Y
i.e.
1
Σn−
i βi Xi + β0 +  = Y avec  minimal
i.e.
Y = X β +  avec X = [[1], X1 , . . . , Xn−1 ] ou 1 représente une
colonne de [1] et β = [β0 , . . . , βn−1 ]
3 Exemples :
Y : Moyenne en L3, X1 , . . . , Xn−1 notes de première année

5. on parle aussi de descripteurs, attributs, prédicteurs, caractéristiques,


features
14/17 Gorgoumack SAMBE Apprentissage automatique
Régression linéaire simple
Régression linéaire multiple

Méthode
Estimateur des moindres carrés

1 Détermination des coecients

β̂ = (X 0 X )−1 X 0 Y

2 Qualité du modèle
coecient de détermination : R2

3 Validation du modèle
MSE,RMSE, . . .

15/17 Gorgoumack SAMBE Apprentissage automatique


Régression linéaire simple
Régression linéaire multiple

Sélection de variables
1 Objectif : avoir un "bon modèle" avec le minimum de
variables :
bonne capacité de prédiction
avec les variables les plus inuentes (corrélation avec la cible)
sans variable superue (colinéarité des descripteurs)
2 Sélection d'un sous-ensemble de variables parmi X1 , . . . , Xn−1
méthodes ascendantes (backward) : par incorporation ;
méthodes descendantes (forward) : par retrait ;
méthodes mixtes (stepwise).
3 Plusieurs méthodes
Exemple : méthodes basées sur la statistique de Fisher F
2
Rp+(j) −Rp2
Fp+(j) = (n − p − 1) 2
1−Rp+(j)
Rp2 : r2 du modèle à p variables
2
Rp+(j) : r2 du modèle à p variables + la variable (j)

16/17 Gorgoumack SAMBE Apprentissage automatique


Régression linéaire simple
Régression linéaire multiple

Méthode ascendante : algorithme

1 Démarrer avec un modèle à une variable


variable la plus inuente

2 Tant que R et F "pas satisfaisant"


ajouter la variable ayant la plus forte corrélation avec la cible

3 Arrêter lorsque R et F satisfaisant

17/17 Gorgoumack SAMBE Apprentissage automatique

Vous aimerez peut-être aussi