Régression Linéaire
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 1
Objectifs
 Comprendre la relation additive et linéaire entre variables
 Comprendre la fonction de coût
 Avoir une notion sur les méthodes de minimisation de la fonction de coût
 Savoir interpréter l’affichage summary de R d’un modèle de régression linéaire
 Savoir interpréter les mesures de qualité RSE et R2 d’un modèle de régression linéaire
 Comprendre la notion d’interaction entre variables
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 2
Sommaire
• Relation linéaire
• Régression Linéaire Simple
• Régression Linéaire Multiple
• Bibliographie
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 3
Relation linéaire
• Soit les observations enregistrées dans le
tableau.
• nombre lamantins décédés
• nombre de bateaux enregistrés
• Le graphique montre une relation
croissante et presque linéaire:
• le nombre de lamantins décédés augmente
quand le nombre de bateaux enregistrés
augmente
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 4
Nombre de lamantins décédés par des bateaux à moteur (en
milliers) le long des côtes de la Floride, entre 1981 et 1990
source [2] Bibliographie
Relation linéaire
• Soit un individu « omniscient » qui connaît
tout ce qui se passe entre les bateaux, les
lamantins et l’environnement.
• Cet individu stipule un modèle f(X) linéaire
dont les valeurs des paramètres sont
• β0 = -49
• β1 = 0.25
• Comme il sait tout, il enregistre les erreurs
sur le nombre de lamantins décédés dues
• à l’environnement (présence de crocodiles),
• aux mauvaises imputations
• à la présence d’un élément au hasard
• …
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 5
Modèle linéaire stipulé par l’individu « omniscient »
Relation linéaire
• Par contre, nous, on ne connaît ni le modèle
linéaire de l’individu « omniscient » ni les
erreurs qu’il a enregistrées.
• On ne connaît que nos observations
• On va tenter manuellement de proposer des
estimations des paramètres β0 et β1
• ෡𝜷0 = -39, ෡𝜷 𝟏 = 0.23
• ෡𝜷0 = -57, ෡𝜷 𝟏 = 0.26
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 6
quel est le
meilleur ?
Relation linéaire
• Il faut comparer les deux propositions
d’estimation de paramètres suivantes:
• ෡𝜷0 = -39, ෡𝜷 𝟏 = 0.23
• ෡𝜷0 = -57, ෡𝜷 𝟏 = 0.26
• … selon quel critère ?
• on peut faire la somme des erreurs
respectives
• en prenant le carré afin d’additionner
uniquement des nombres positifs
• ensuite on sélectionnera le minimum
• C’est la méthode des moindre carrés
• RSS*: somme des carrés des résidus
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 7
RSS = 195.46 RSS = 211.79
(*) residual sum of squares ou somme des carrés résiduelle (SCR)
Important: pour les méthodes ou modèles basés sur
les moindres carrées (least squares) assurez vous que
le nombre de variables soit inférieur que le nombre
d’observations (n > p)
Relation linéaire
• Supposons le modèle linéaire f(X) tel que
Y = f(X) + 𝜖
• La somme des carrés des erreurs s’écrit
• Les valeurs des paramètres ෡𝜷0 et ෡𝜷 𝟏 qui
minimisent RSS par la méthode des moindres
carrés:
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 8
Relation linéaire
• Version « machine learning »
• notation β = Ɵ
• m observations x n variables
• X[., 1] = 𝒙 𝟎
(𝒊)
= 1 variable dummy
• መ𝑓=> fonction hypothèse h(X) = ƟT X
• Fonction de coût à minimiser
avec l’algorithme du gradient
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 9
n+1 colonnes
cas d’une régression linéaire simple
𝜖 ℝ
versions
vectorisées
source [3] Bibliographie
Relation linéaire
• Droite des moindres carrés
• Calculer le modèle avec R:
• Interpértation:
• A chaque enregistrement d’un milliers de bateaux, le nombre
moyen de lamantins décédés augmente de 0.24
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 10
pente
ordonnée à l’origine
መ𝑓(X) = 0.24 X – 45.17
> model <- lm(nb_lamantins~nb_bateaux, data = lamantins)
> model$coefficients
(Intercept) nb_bateaux
-45.1796424 0.2402433
droite des moindres carrés
መ𝛽0 𝑖𝑛𝑡𝑒𝑟𝑐𝑒𝑝𝑡
n’a aucune interprétation
(pas de sens) lorsque X=0
Régression linéaire simple
• Simple = une seule variable X
• On ajuste la droite avec une fonction de coût
quadratique
• On aurait pu utiliser une fonction de coût en
valeur absolue, plus robuste
• voir ligne noire (pas pointillée!) sur le figure
• Malgré cela, le coût quadratique est le coût le
plus souvent utilisé
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 11
source [5] Bibliographie
Régression linéaire simple
• Point aberrants (outliers)
• Ne pas les éliminer systématiquement, il faut
s’assurer si mauvaise imputation, etc. et le placer
correctement dans le contexte de l’étude
• Alternative: utiliser une méthode plus robuste …
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 12
n’affecte pas la direction
de la droite ajustée
affecte la direction de
la droite ajustée
rlm() du package MASS
source [4] Bibliographie
source [4] Bibliographie
Coursera, Data Analysis and Statistical Inference MOOC, Duke University
Régression linéaire simple
• Estimation des valeurs des coefficients β
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 13
መ𝑓(X) = 0.24 X – 45.17
summary(model)
Call:
lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins)
Residuals:
Min 1Q Median 3Q Max
-6.3566 -3.7237 0.1971 4.2178 5.1751
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -45.17964 12.54392 -3.602 0.00696 **
nb_bateaux 0.24024 0.02052 11.710 2.58e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.868 on 8 degrees of freedom
Multiple R-squared: 0.9449, Adjusted R-squared: 0.938
F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06
Régression linéaire simple
• Estimation des valeurs des coefficients β
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 14
summary(model)
Call:
lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins)
Residuals:
Min 1Q Median 3Q Max
-6.3566 -3.7237 0.1971 4.2178 5.1751
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -45.17964 12.54392 -3.602 0.00696 **
nb_bateaux 0.24024 0.02052 11.710 2.58e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.868 on 8 degrees of freedom
Multiple R-squared: 0.9449, Adjusted R-squared: 0.938
F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06
erreur irréductible
• Std. Error:
• estimation ෝ𝝈2 = RSE avec
Régression linéaire simple
• Conditions sur les résidus
• distribution ~gaussienne de moyenne 0
• variance constante (homoscédasticité)
• ne montrent pas de schéma (pattern) particulier
(indépendance)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 15
Coursera, Data Analysis and Statistical Inference MOOC, Duke University
Régression linéaire simple
• Conditions sur les résidus
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 16
summary(model)
Call:
lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins)
Residuals:
Min 1Q Median 3Q Max
-6.3566 -3.7237 0.1971 4.2178 5.1751
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -45.17964 12.54392 -3.602 0.00696 **
nb_bateaux 0.24024 0.02052 11.710 2.58e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.868 on 8 degrees of freedom
Multiple R-squared: 0.9449, Adjusted R-squared: 0.938
F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06
df = n – 2 = 10 obs. – 2 = 8
1ère mesure de qualité: la réponse se dévie, en
moyenne, de la vraie droite de régression de RSE
Régression linéaire simple
• Test d’hypothèse sur መ𝛽1
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 17
summary(model)
Call:
lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins)
Residuals:
Min 1Q Median 3Q Max
-6.3566 -3.7237 0.1971 4.2178 5.1751
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -45.17964 12.54392 -3.602 0.00696 **
nb_bateaux 0.24024 0.02052 11.710 2.58e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.868 on 8 degrees of freedom
Multiple R-squared: 0.9449, Adjusted R-squared: 0.938
F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06
• H0: pas de relation entre Y et X (β1 = 0, null value)
• H1: il y a une relation entre Y et X (β1 ≠ 0)
On veut savoir à combien d’écart-type se trouve notre
estimation ෠𝛽1 de la null value β1 = 0; appliqué à une
distribution de « Student » ou « t »:
t value = (Estimate – 0) / Std. Error
= (0.24024 – 0) / 11.710
= 11.710
p-value: la probabilité d’observer toute valeur ≥ |t| sachant
que H0 est vraie.
p-value petite: il est peu probable d’observer une
relation importante entre Y et X due au hasard,
sachant qu’il n’existe pas de relation entre les deux
(H0 vraie). Alors on rejette H0.
Régression linéaire simple
• Intervalle de confiance à 95% de መ𝛽1
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 18
summary(model)
Call:
lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins)
Residuals:
Min 1Q Median 3Q Max
-6.3566 -3.7237 0.1971 4.2178 5.1751
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -45.17964 12.54392 -3.602 0.00696 **
nb_bateaux 0.24024 0.02052 11.710 2.58e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.868 on 8 degrees of freedom
Multiple R-squared: 0.9449, Adjusted R-squared: 0.938
F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06
• degrés de liberté: df = n – 2 = 8
• t*8 = 2.03
• CI95 = ෠𝛽1 ± t*8 x SE( ෠𝛽1)
= Estimate ± 2.03 x Std. Error
= 0.24024 ± 2.03 x 0.02052
= (0.19 , 0.28)
On est à 95% sûr que la vraie valeur de β1 se
trouve dans l’intervalle [0.19 , 0.28]
qt(p = 0.025, df = 8)
[1] -2.306004
source [4] Bibliographie
Régression linéaire simple
• 2e mesure de qualité du modèle: R2
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 19
summary(model)
Call:
lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins)
Residuals:
Min 1Q Median 3Q Max
-6.3566 -3.7237 0.1971 4.2178 5.1751
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -45.17964 12.54392 -3.602 0.00696 **
nb_bateaux 0.24024 0.02052 11.710 2.58e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.868 on 8 degrees of freedom
Multiple R-squared: 0.9449, Adjusted R-squared: 0.938
F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06
Coefficient de corrélation 𝑹 = Cov(X,Y) / 𝑉𝑎𝑟 𝑋 𝑉𝑎𝑟(𝑌)
ou
𝑹 = ෠𝛽1 𝑉𝑎𝑟 𝑋 /𝑉𝑎𝑟(𝑌)
Cov(X,Y)
Var(X)
Comment interpréter R2 ?
Coursera, Data Analysis and Statistical Inference MOOC, Duke University
Régression linéaire simple
• (cont.) 2e mesure de qualité du modèle: R2
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 20
summary(model)
Call:
lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins)
Residuals:
Min 1Q Median 3Q Max
-6.3566 -3.7237 0.1971 4.2178 5.1751
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -45.17964 12.54392 -3.602 0.00696 **
nb_bateaux 0.24024 0.02052 11.710 2.58e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.868 on 8 degrees of freedom
Multiple R-squared: 0.9449, Adjusted R-squared: 0.938
F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06
• On souhaite expliquer pourquoi le nombre
de lamantins décédés varie d’une année à
l’autre: on veut expliquer les variations de la
variable Y.
• On propose comme explication les
variations de la variable X.
• Le coefficient R2 est tout simplement le
rapport entre la variance expliquée et la
variance initiale:
… et le reste de variance alors … ?
Régression linéaire simple
• (cont.) 2e mesure de qualité du modèle: R2
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 21
summary(model)
Call:
lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins)
Residuals:
Min 1Q Median 3Q Max
-6.3566 -3.7237 0.1971 4.2178 5.1751
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -45.17964 12.54392 -3.602 0.00696 **
nb_bateaux 0.24024 0.02052 11.710 2.58e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.868 on 8 degrees of freedom
Multiple R-squared: 0.9449, Adjusted R-squared: 0.938
F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06
0
Régression linéaire simple
• Cas des variables catégorielles
• Y = niv_pauvreté et X = region4 catégorielle
region4 = {« northeast », « midwest », « west », « south »}
• La modalité « northeast » est la modalité de référence
niv_pauvreté = 9.50 + 0.03 region4:midwest + 1.79 region4:west + 4.16 region4:south
• Prévision du niveau de pauvreté pour la région « northeast » est 9.50
• Prévision du niveau de pauvreté pour la région « west » est 9.50 + 1.79 = 11.29
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 22
Coursera, Data Analysis and Statistical Inference MOOC, Duke University
Régression linéaire multiple
• On considère toujours une relation additive et linéaire entre Y et les variables X
• Additive:
• l’effet d’un changement d’une variable Xj sur la réponse Y est indépendant des valeurs des autres
variables
• Linéaire:
• si l’on varie X1 d’une unité, alors Y varie en moyenne de β1 unités,
• la présence de X2 ou d’une autre Xj (j≠1) n’affecte pas cette déclaration
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 23
Régression linéaire multiple
• Interprétation des valeurs des coefficients
• Un coefficient βj estime la variation (en moyenne) de Y
par unité de variation de sa variable Xj, en fixant tous les
autres variables explicatives.
• Cas idéal: toutes les variables sont non corrélées
• Usuellement, les variables tendent à varier ensemble …
• Quand il y a corrélation entre les variables
• la variance des coefficients augmente
• les interprétations risquent d’être hasardeuses
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 24
Régression linéaire multiple
• Exercice « The Marketing Plan »
• fichier advertising_data.txt (200 x 4)
• source [1], voir Bibliographie
1. Y a-t-il une relation entre le budget de publicité et les
ventes ?
2. Quelle est la "force" de cette relation ?
3. Quel média contribue aux ventes ?
4. Dans quelle mesure chaque média contribue-t-il aux
ventes?
5. Comment prédire les futures ventes avec le plus
d'exactitude possible ?
6. La relation est-elle linéaire ?
7. Y a-t-il une synergie entre les média ?
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 25
réponse
James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
Régression linéaire multiple
• Exercice « The Marketing Plan »
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 26
summary(modele)
Call:
lm(formula = Sales ~ ., data = data)
Residuals:
Min 1Q Median 3Q Max
-8.8277 -0.8908 0.2418 1.1893 2.8292
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.938889 0.311908 9.422 <2e-16 ***
TV 0.045765 0.001395 32.809 <2e-16 ***
Radio 0.188530 0.008611 21.893 <2e-16 ***
Newspaper -0.001037 0.005871 -0.177 0.86
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.686 on 196 degrees of freedom
Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956
F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16
Régression linéaire multiple
1. Y a-t-il une relation entre le budget de publicité et les ventes ?
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 27
summary(modele)
Call:
lm(formula = Sales ~ ., data = data)
Residuals:
Min 1Q Median 3Q Max
-8.8277 -0.8908 0.2418 1.1893 2.8292
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.938889 0.311908 9.422 <2e-16 ***
TV 0.045765 0.001395 32.809 <2e-16 ***
Radio 0.188530 0.008611 21.893 <2e-16 ***
Newspaper -0.001037 0.005871 -0.177 0.86
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.686 on 196 degrees of freedom
Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956
F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16
• Notion de la statistique F (F-statistic)
• Test d’hypothèse
• H0: β1 = β2 = β3 = … = βp = 0
• H1: au moins un βj est non nul
Ici F = 570 >> 1 alors on rejette H0
Pour répondre à la question, il ne faut pas regarder
individuellement les p-value de chaque coefficient. Voir
question 3. plus loin.
somme des carrés totale
(SCT)
il s’ajuste au nombre de variables, ici p
Régression linéaire multiple
2. Quelle est la "force" de cette relation ?
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 28
summary(modele)
Call:
lm(formula = Sales ~ ., data = data)
Residuals:
Min 1Q Median 3Q Max
-8.8277 -0.8908 0.2418 1.1893 2.8292
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.938889 0.311908 9.422 <2e-16 ***
TV 0.045765 0.001395 32.809 <2e-16 ***
Radio 0.188530 0.008611 21.893 <2e-16 ***
Newspaper -0.001037 0.005871 -0.177 0.86
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.686 on 196 degrees of freedom
Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956
F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16
Mesures de qualité du modèle:
• RSE = 1.686
• la moyenne de Sales est 14.022
• donc une erreur de RSE / 𝑆𝑎𝑙𝑒𝑠 = 12%
• R2
• 89.7% de la variance totale est expliquée par le
modèle.
• Adjusted R2
• ajoute une pénalité sur le nombre de variables
• R2 augmente si on ajoute une variable, mais si la variable
n’apporte aucune nouvelle information l’Adjusted R2
n’augmentera pas
SSE = SST – SSR   SCE = SCT - SCR
SS: sum of squares   SC: somme des carrées
E=Explained, T=Total, R=Residual
Régression linéaire multiple
3. Quel média contribue aux ventes?
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 29
summary(modele)
Call:
lm(formula = Sales ~ ., data = data)
Residuals:
Min 1Q Median 3Q Max
-8.8277 -0.8908 0.2418 1.1893 2.8292
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.938889 0.311908 9.422 <2e-16 ***
TV 0.045765 0.001395 32.809 <2e-16 ***
Radio 0.188530 0.008611 21.893 <2e-16 ***
Newspaper -0.001037 0.005871 -0.177 0.86
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.686 on 196 degrees of freedom
Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956
F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16
• Rappel: Pr(>|t|) = p-value doit être
inférieur au seuil de signification (5%) ou
probabilité d’erreur de type I
• Les valeurs de p-value respectives
suggèrent que seuls les médias TV et
Radio sont liées aux ventes (Sales)
Note: si le nombre de variables p est grand, on risque
de faire des mauvaises interprétations: on pourrait
avoir quelques p-values < 0.05 par hasard
Dans ce cas, et pour répondre à cette question, une
méthode de « sélection de modèle » (expliquée plus
loin dans ce cours) est préférable.
Régression linéaire multiple
4. Dans quelle mesure chaque média contribue-t-il aux ventes?
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 30
summary(modele)
Call:
lm(formula = Sales ~ ., data = data)
Residuals:
Min 1Q Median 3Q Max
-8.8277 -0.8908 0.2418 1.1893 2.8292
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.938889 0.311908 9.422 <2e-16 ***
TV 0.045765 0.001395 32.809 <2e-16 ***
Radio 0.188530 0.008611 21.893 <2e-16 ***
Newspaper -0.001037 0.005871 -0.177 0.86
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.686 on 196 degrees of freedom
Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956
F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16
Première approche: R2
• Vous pouvez effectuer une régression
linéaire simple pour chaque variable:
TV, Radio et Newspaper.
• Comparez les R2 respectifs
• TV: R2 = 0.61
• Radio: R2 = 0.33
• Newspaper: R2 = 0.05
• Il y a évidence d’une association plutôt
« molle » entre Newspaper et les ventes,
lorsque l’on ignore TV et Radio !
Régression linéaire multiple
4. Dans quelle mesure chaque média contribue-t-il aux ventes?
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 31
summary(modele)
Call:
lm(formula = Sales ~ ., data = data)
Residuals:
Min 1Q Median 3Q Max
-8.8277 -0.8908 0.2418 1.1893 2.8292
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.938889 0.311908 9.422 <2e-16 ***
TV 0.045765 0.001395 32.809 <2e-16 ***
Radio 0.188530 0.008611 21.893 <2e-16 ***
Newspaper -0.001037 0.005871 -0.177 0.86
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.686 on 196 degrees of freedom
Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956
F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16
Deuxième approche: les IC
• Utilisez les Std. Error pour
construire les intervalles de confiance à
95% respectifs
• TV: CI95 = (0.043, 0.049)
• Radio: CI95 = (0.172, 0.206)
• Newspaper: CI95 = (-0.013, 0.011)
• Le IC à 95% de Newspaper inclut le zéro: la
variable n’est pas significative statistiquement
… peut être dû à la multicolinéarité ? vérifiez:
>library(car)
>vif(modele) # Facteur d'inflation de la variance
TV Radio Newspaper
1.004611 1.144952 1.145187
Régression linéaire multiple
5. Comment prédire les futures ventes avec le plus d'exactitude possible?
• Attention: ici on évalue la prévision du modèle avec l’ensemble de données d’apprentissage
• Intervalle de confiance des prévisions (Y = f(X) + 𝜖)
>ICpred <- predict(object = modele, newdata = data, interval = "pred", level = 0.95)
>head(ICpred)
fit lwr upr
1 20.52397 17.158283 23.88967
2 12.33785 8.981672 15.69404
3 12.30767 8.919038 15.69630
...
• Intervalle de confiance de la droite ajustée (E(Y))
>ICdte <- predict(object = modele, newdata = data, interval = "conf", level = 0.95)
head(ICdte)
fit lwr upr
1 20.52397 19.99627 21.05168
2 12.33785 11.87465 12.80106
3 12.30767 11.64932 12.96602
…
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 32
les ICpred seront toujours plus large que les ICdte
car ils tiennent compte de l’incertitude ou erreur
irréductible 𝜖
Régression linéaire multiple
5. La relation est-elle linéaire?
• Afficher les résidus … commentez
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 33
Régression linéaire multiple
5. Y a-t-il une synergie entre les média?
• Il se peut que la relation entre Y et les
variables TV et Radio ne soit pas additive !
• il y a interaction entre ces 2 variables
• les résidus positifs restent autour de la ligne
de 45° où les budgets de TV et de Radio sont
répartis de façon presque égale
• les résidus négatifs (difficile à voir dans la
figure) sont éloignés de cette ligne
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 34
terme d’intéraction
James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
Régression linéaire multiple
• Cas des variables catégorielles
• Fonction R: model.matrix()
model.matrix(object = ~ ., data = Credit )
convertir en data.frame si vous utilisez lm()
vous pouvez lancer lm() avec la colonne (Intercept)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 35
Bibliographie
James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
Lafont G., Leçon 4 Corrélations, Module EAR206, CNAM de Paris, 2013
Ng A., Machine Learning MOOC, Coursera – Stanford University
Coursera, Data Analysis and Statistical Inference MOOC, Coursera – Duke University
Cornillon P., Matzner-LØber E., Régression avec R, ISBN 9782817801834, Springer, 2011
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 36

5.2 Régression linéaire

  • 1.
    Régression Linéaire 6/30/2016 BORISGUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 1
  • 2.
    Objectifs  Comprendre larelation additive et linéaire entre variables  Comprendre la fonction de coût  Avoir une notion sur les méthodes de minimisation de la fonction de coût  Savoir interpréter l’affichage summary de R d’un modèle de régression linéaire  Savoir interpréter les mesures de qualité RSE et R2 d’un modèle de régression linéaire  Comprendre la notion d’interaction entre variables 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 2
  • 3.
    Sommaire • Relation linéaire •Régression Linéaire Simple • Régression Linéaire Multiple • Bibliographie 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 3
  • 4.
    Relation linéaire • Soitles observations enregistrées dans le tableau. • nombre lamantins décédés • nombre de bateaux enregistrés • Le graphique montre une relation croissante et presque linéaire: • le nombre de lamantins décédés augmente quand le nombre de bateaux enregistrés augmente 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 4 Nombre de lamantins décédés par des bateaux à moteur (en milliers) le long des côtes de la Floride, entre 1981 et 1990 source [2] Bibliographie
  • 5.
    Relation linéaire • Soitun individu « omniscient » qui connaît tout ce qui se passe entre les bateaux, les lamantins et l’environnement. • Cet individu stipule un modèle f(X) linéaire dont les valeurs des paramètres sont • β0 = -49 • β1 = 0.25 • Comme il sait tout, il enregistre les erreurs sur le nombre de lamantins décédés dues • à l’environnement (présence de crocodiles), • aux mauvaises imputations • à la présence d’un élément au hasard • … 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 5 Modèle linéaire stipulé par l’individu « omniscient »
  • 6.
    Relation linéaire • Parcontre, nous, on ne connaît ni le modèle linéaire de l’individu « omniscient » ni les erreurs qu’il a enregistrées. • On ne connaît que nos observations • On va tenter manuellement de proposer des estimations des paramètres β0 et β1 • ෡𝜷0 = -39, ෡𝜷 𝟏 = 0.23 • ෡𝜷0 = -57, ෡𝜷 𝟏 = 0.26 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 6 quel est le meilleur ?
  • 7.
    Relation linéaire • Ilfaut comparer les deux propositions d’estimation de paramètres suivantes: • ෡𝜷0 = -39, ෡𝜷 𝟏 = 0.23 • ෡𝜷0 = -57, ෡𝜷 𝟏 = 0.26 • … selon quel critère ? • on peut faire la somme des erreurs respectives • en prenant le carré afin d’additionner uniquement des nombres positifs • ensuite on sélectionnera le minimum • C’est la méthode des moindre carrés • RSS*: somme des carrés des résidus 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 7 RSS = 195.46 RSS = 211.79 (*) residual sum of squares ou somme des carrés résiduelle (SCR) Important: pour les méthodes ou modèles basés sur les moindres carrées (least squares) assurez vous que le nombre de variables soit inférieur que le nombre d’observations (n > p)
  • 8.
    Relation linéaire • Supposonsle modèle linéaire f(X) tel que Y = f(X) + 𝜖 • La somme des carrés des erreurs s’écrit • Les valeurs des paramètres ෡𝜷0 et ෡𝜷 𝟏 qui minimisent RSS par la méthode des moindres carrés: 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 8
  • 9.
    Relation linéaire • Version« machine learning » • notation β = Ɵ • m observations x n variables • X[., 1] = 𝒙 𝟎 (𝒊) = 1 variable dummy • መ𝑓=> fonction hypothèse h(X) = ƟT X • Fonction de coût à minimiser avec l’algorithme du gradient 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 9 n+1 colonnes cas d’une régression linéaire simple 𝜖 ℝ versions vectorisées source [3] Bibliographie
  • 10.
    Relation linéaire • Droitedes moindres carrés • Calculer le modèle avec R: • Interpértation: • A chaque enregistrement d’un milliers de bateaux, le nombre moyen de lamantins décédés augmente de 0.24 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 10 pente ordonnée à l’origine መ𝑓(X) = 0.24 X – 45.17 > model <- lm(nb_lamantins~nb_bateaux, data = lamantins) > model$coefficients (Intercept) nb_bateaux -45.1796424 0.2402433 droite des moindres carrés መ𝛽0 𝑖𝑛𝑡𝑒𝑟𝑐𝑒𝑝𝑡 n’a aucune interprétation (pas de sens) lorsque X=0
  • 11.
    Régression linéaire simple •Simple = une seule variable X • On ajuste la droite avec une fonction de coût quadratique • On aurait pu utiliser une fonction de coût en valeur absolue, plus robuste • voir ligne noire (pas pointillée!) sur le figure • Malgré cela, le coût quadratique est le coût le plus souvent utilisé 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 11 source [5] Bibliographie
  • 12.
    Régression linéaire simple •Point aberrants (outliers) • Ne pas les éliminer systématiquement, il faut s’assurer si mauvaise imputation, etc. et le placer correctement dans le contexte de l’étude • Alternative: utiliser une méthode plus robuste … 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 12 n’affecte pas la direction de la droite ajustée affecte la direction de la droite ajustée rlm() du package MASS source [4] Bibliographie source [4] Bibliographie Coursera, Data Analysis and Statistical Inference MOOC, Duke University
  • 13.
    Régression linéaire simple •Estimation des valeurs des coefficients β 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 13 መ𝑓(X) = 0.24 X – 45.17 summary(model) Call: lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins) Residuals: Min 1Q Median 3Q Max -6.3566 -3.7237 0.1971 4.2178 5.1751 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -45.17964 12.54392 -3.602 0.00696 ** nb_bateaux 0.24024 0.02052 11.710 2.58e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 4.868 on 8 degrees of freedom Multiple R-squared: 0.9449, Adjusted R-squared: 0.938 F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06
  • 14.
    Régression linéaire simple •Estimation des valeurs des coefficients β 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 14 summary(model) Call: lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins) Residuals: Min 1Q Median 3Q Max -6.3566 -3.7237 0.1971 4.2178 5.1751 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -45.17964 12.54392 -3.602 0.00696 ** nb_bateaux 0.24024 0.02052 11.710 2.58e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 4.868 on 8 degrees of freedom Multiple R-squared: 0.9449, Adjusted R-squared: 0.938 F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06 erreur irréductible • Std. Error: • estimation ෝ𝝈2 = RSE avec
  • 15.
    Régression linéaire simple •Conditions sur les résidus • distribution ~gaussienne de moyenne 0 • variance constante (homoscédasticité) • ne montrent pas de schéma (pattern) particulier (indépendance) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 15 Coursera, Data Analysis and Statistical Inference MOOC, Duke University
  • 16.
    Régression linéaire simple •Conditions sur les résidus 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 16 summary(model) Call: lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins) Residuals: Min 1Q Median 3Q Max -6.3566 -3.7237 0.1971 4.2178 5.1751 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -45.17964 12.54392 -3.602 0.00696 ** nb_bateaux 0.24024 0.02052 11.710 2.58e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 4.868 on 8 degrees of freedom Multiple R-squared: 0.9449, Adjusted R-squared: 0.938 F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06 df = n – 2 = 10 obs. – 2 = 8 1ère mesure de qualité: la réponse se dévie, en moyenne, de la vraie droite de régression de RSE
  • 17.
    Régression linéaire simple •Test d’hypothèse sur መ𝛽1 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 17 summary(model) Call: lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins) Residuals: Min 1Q Median 3Q Max -6.3566 -3.7237 0.1971 4.2178 5.1751 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -45.17964 12.54392 -3.602 0.00696 ** nb_bateaux 0.24024 0.02052 11.710 2.58e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 4.868 on 8 degrees of freedom Multiple R-squared: 0.9449, Adjusted R-squared: 0.938 F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06 • H0: pas de relation entre Y et X (β1 = 0, null value) • H1: il y a une relation entre Y et X (β1 ≠ 0) On veut savoir à combien d’écart-type se trouve notre estimation ෠𝛽1 de la null value β1 = 0; appliqué à une distribution de « Student » ou « t »: t value = (Estimate – 0) / Std. Error = (0.24024 – 0) / 11.710 = 11.710 p-value: la probabilité d’observer toute valeur ≥ |t| sachant que H0 est vraie. p-value petite: il est peu probable d’observer une relation importante entre Y et X due au hasard, sachant qu’il n’existe pas de relation entre les deux (H0 vraie). Alors on rejette H0.
  • 18.
    Régression linéaire simple •Intervalle de confiance à 95% de መ𝛽1 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 18 summary(model) Call: lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins) Residuals: Min 1Q Median 3Q Max -6.3566 -3.7237 0.1971 4.2178 5.1751 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -45.17964 12.54392 -3.602 0.00696 ** nb_bateaux 0.24024 0.02052 11.710 2.58e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 4.868 on 8 degrees of freedom Multiple R-squared: 0.9449, Adjusted R-squared: 0.938 F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06 • degrés de liberté: df = n – 2 = 8 • t*8 = 2.03 • CI95 = ෠𝛽1 ± t*8 x SE( ෠𝛽1) = Estimate ± 2.03 x Std. Error = 0.24024 ± 2.03 x 0.02052 = (0.19 , 0.28) On est à 95% sûr que la vraie valeur de β1 se trouve dans l’intervalle [0.19 , 0.28] qt(p = 0.025, df = 8) [1] -2.306004 source [4] Bibliographie
  • 19.
    Régression linéaire simple •2e mesure de qualité du modèle: R2 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 19 summary(model) Call: lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins) Residuals: Min 1Q Median 3Q Max -6.3566 -3.7237 0.1971 4.2178 5.1751 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -45.17964 12.54392 -3.602 0.00696 ** nb_bateaux 0.24024 0.02052 11.710 2.58e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 4.868 on 8 degrees of freedom Multiple R-squared: 0.9449, Adjusted R-squared: 0.938 F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06 Coefficient de corrélation 𝑹 = Cov(X,Y) / 𝑉𝑎𝑟 𝑋 𝑉𝑎𝑟(𝑌) ou 𝑹 = ෠𝛽1 𝑉𝑎𝑟 𝑋 /𝑉𝑎𝑟(𝑌) Cov(X,Y) Var(X) Comment interpréter R2 ? Coursera, Data Analysis and Statistical Inference MOOC, Duke University
  • 20.
    Régression linéaire simple •(cont.) 2e mesure de qualité du modèle: R2 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 20 summary(model) Call: lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins) Residuals: Min 1Q Median 3Q Max -6.3566 -3.7237 0.1971 4.2178 5.1751 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -45.17964 12.54392 -3.602 0.00696 ** nb_bateaux 0.24024 0.02052 11.710 2.58e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 4.868 on 8 degrees of freedom Multiple R-squared: 0.9449, Adjusted R-squared: 0.938 F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06 • On souhaite expliquer pourquoi le nombre de lamantins décédés varie d’une année à l’autre: on veut expliquer les variations de la variable Y. • On propose comme explication les variations de la variable X. • Le coefficient R2 est tout simplement le rapport entre la variance expliquée et la variance initiale: … et le reste de variance alors … ?
  • 21.
    Régression linéaire simple •(cont.) 2e mesure de qualité du modèle: R2 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 21 summary(model) Call: lm(formula = nb_lamantins ~ nb_bateaux, data = lamantins) Residuals: Min 1Q Median 3Q Max -6.3566 -3.7237 0.1971 4.2178 5.1751 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -45.17964 12.54392 -3.602 0.00696 ** nb_bateaux 0.24024 0.02052 11.710 2.58e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 4.868 on 8 degrees of freedom Multiple R-squared: 0.9449, Adjusted R-squared: 0.938 F-statistic: 137.1 on 1 and 8 DF, p-value: 2.583e-06 0
  • 22.
    Régression linéaire simple •Cas des variables catégorielles • Y = niv_pauvreté et X = region4 catégorielle region4 = {« northeast », « midwest », « west », « south »} • La modalité « northeast » est la modalité de référence niv_pauvreté = 9.50 + 0.03 region4:midwest + 1.79 region4:west + 4.16 region4:south • Prévision du niveau de pauvreté pour la région « northeast » est 9.50 • Prévision du niveau de pauvreté pour la région « west » est 9.50 + 1.79 = 11.29 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 22 Coursera, Data Analysis and Statistical Inference MOOC, Duke University
  • 23.
    Régression linéaire multiple •On considère toujours une relation additive et linéaire entre Y et les variables X • Additive: • l’effet d’un changement d’une variable Xj sur la réponse Y est indépendant des valeurs des autres variables • Linéaire: • si l’on varie X1 d’une unité, alors Y varie en moyenne de β1 unités, • la présence de X2 ou d’une autre Xj (j≠1) n’affecte pas cette déclaration 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 23
  • 24.
    Régression linéaire multiple •Interprétation des valeurs des coefficients • Un coefficient βj estime la variation (en moyenne) de Y par unité de variation de sa variable Xj, en fixant tous les autres variables explicatives. • Cas idéal: toutes les variables sont non corrélées • Usuellement, les variables tendent à varier ensemble … • Quand il y a corrélation entre les variables • la variance des coefficients augmente • les interprétations risquent d’être hasardeuses 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 24
  • 25.
    Régression linéaire multiple •Exercice « The Marketing Plan » • fichier advertising_data.txt (200 x 4) • source [1], voir Bibliographie 1. Y a-t-il une relation entre le budget de publicité et les ventes ? 2. Quelle est la "force" de cette relation ? 3. Quel média contribue aux ventes ? 4. Dans quelle mesure chaque média contribue-t-il aux ventes? 5. Comment prédire les futures ventes avec le plus d'exactitude possible ? 6. La relation est-elle linéaire ? 7. Y a-t-il une synergie entre les média ? 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 25 réponse James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
  • 26.
    Régression linéaire multiple •Exercice « The Marketing Plan » 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 26 summary(modele) Call: lm(formula = Sales ~ ., data = data) Residuals: Min 1Q Median 3Q Max -8.8277 -0.8908 0.2418 1.1893 2.8292 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.938889 0.311908 9.422 <2e-16 *** TV 0.045765 0.001395 32.809 <2e-16 *** Radio 0.188530 0.008611 21.893 <2e-16 *** Newspaper -0.001037 0.005871 -0.177 0.86 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.686 on 196 degrees of freedom Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956 F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16
  • 27.
    Régression linéaire multiple 1.Y a-t-il une relation entre le budget de publicité et les ventes ? 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 27 summary(modele) Call: lm(formula = Sales ~ ., data = data) Residuals: Min 1Q Median 3Q Max -8.8277 -0.8908 0.2418 1.1893 2.8292 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.938889 0.311908 9.422 <2e-16 *** TV 0.045765 0.001395 32.809 <2e-16 *** Radio 0.188530 0.008611 21.893 <2e-16 *** Newspaper -0.001037 0.005871 -0.177 0.86 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.686 on 196 degrees of freedom Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956 F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16 • Notion de la statistique F (F-statistic) • Test d’hypothèse • H0: β1 = β2 = β3 = … = βp = 0 • H1: au moins un βj est non nul Ici F = 570 >> 1 alors on rejette H0 Pour répondre à la question, il ne faut pas regarder individuellement les p-value de chaque coefficient. Voir question 3. plus loin. somme des carrés totale (SCT) il s’ajuste au nombre de variables, ici p
  • 28.
    Régression linéaire multiple 2.Quelle est la "force" de cette relation ? 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 28 summary(modele) Call: lm(formula = Sales ~ ., data = data) Residuals: Min 1Q Median 3Q Max -8.8277 -0.8908 0.2418 1.1893 2.8292 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.938889 0.311908 9.422 <2e-16 *** TV 0.045765 0.001395 32.809 <2e-16 *** Radio 0.188530 0.008611 21.893 <2e-16 *** Newspaper -0.001037 0.005871 -0.177 0.86 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.686 on 196 degrees of freedom Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956 F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16 Mesures de qualité du modèle: • RSE = 1.686 • la moyenne de Sales est 14.022 • donc une erreur de RSE / 𝑆𝑎𝑙𝑒𝑠 = 12% • R2 • 89.7% de la variance totale est expliquée par le modèle. • Adjusted R2 • ajoute une pénalité sur le nombre de variables • R2 augmente si on ajoute une variable, mais si la variable n’apporte aucune nouvelle information l’Adjusted R2 n’augmentera pas SSE = SST – SSR   SCE = SCT - SCR SS: sum of squares   SC: somme des carrées E=Explained, T=Total, R=Residual
  • 29.
    Régression linéaire multiple 3.Quel média contribue aux ventes? 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 29 summary(modele) Call: lm(formula = Sales ~ ., data = data) Residuals: Min 1Q Median 3Q Max -8.8277 -0.8908 0.2418 1.1893 2.8292 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.938889 0.311908 9.422 <2e-16 *** TV 0.045765 0.001395 32.809 <2e-16 *** Radio 0.188530 0.008611 21.893 <2e-16 *** Newspaper -0.001037 0.005871 -0.177 0.86 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.686 on 196 degrees of freedom Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956 F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16 • Rappel: Pr(>|t|) = p-value doit être inférieur au seuil de signification (5%) ou probabilité d’erreur de type I • Les valeurs de p-value respectives suggèrent que seuls les médias TV et Radio sont liées aux ventes (Sales) Note: si le nombre de variables p est grand, on risque de faire des mauvaises interprétations: on pourrait avoir quelques p-values < 0.05 par hasard Dans ce cas, et pour répondre à cette question, une méthode de « sélection de modèle » (expliquée plus loin dans ce cours) est préférable.
  • 30.
    Régression linéaire multiple 4.Dans quelle mesure chaque média contribue-t-il aux ventes? 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 30 summary(modele) Call: lm(formula = Sales ~ ., data = data) Residuals: Min 1Q Median 3Q Max -8.8277 -0.8908 0.2418 1.1893 2.8292 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.938889 0.311908 9.422 <2e-16 *** TV 0.045765 0.001395 32.809 <2e-16 *** Radio 0.188530 0.008611 21.893 <2e-16 *** Newspaper -0.001037 0.005871 -0.177 0.86 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.686 on 196 degrees of freedom Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956 F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16 Première approche: R2 • Vous pouvez effectuer une régression linéaire simple pour chaque variable: TV, Radio et Newspaper. • Comparez les R2 respectifs • TV: R2 = 0.61 • Radio: R2 = 0.33 • Newspaper: R2 = 0.05 • Il y a évidence d’une association plutôt « molle » entre Newspaper et les ventes, lorsque l’on ignore TV et Radio !
  • 31.
    Régression linéaire multiple 4.Dans quelle mesure chaque média contribue-t-il aux ventes? 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 31 summary(modele) Call: lm(formula = Sales ~ ., data = data) Residuals: Min 1Q Median 3Q Max -8.8277 -0.8908 0.2418 1.1893 2.8292 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.938889 0.311908 9.422 <2e-16 *** TV 0.045765 0.001395 32.809 <2e-16 *** Radio 0.188530 0.008611 21.893 <2e-16 *** Newspaper -0.001037 0.005871 -0.177 0.86 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.686 on 196 degrees of freedom Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956 F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16 Deuxième approche: les IC • Utilisez les Std. Error pour construire les intervalles de confiance à 95% respectifs • TV: CI95 = (0.043, 0.049) • Radio: CI95 = (0.172, 0.206) • Newspaper: CI95 = (-0.013, 0.011) • Le IC à 95% de Newspaper inclut le zéro: la variable n’est pas significative statistiquement … peut être dû à la multicolinéarité ? vérifiez: >library(car) >vif(modele) # Facteur d'inflation de la variance TV Radio Newspaper 1.004611 1.144952 1.145187
  • 32.
    Régression linéaire multiple 5.Comment prédire les futures ventes avec le plus d'exactitude possible? • Attention: ici on évalue la prévision du modèle avec l’ensemble de données d’apprentissage • Intervalle de confiance des prévisions (Y = f(X) + 𝜖) >ICpred <- predict(object = modele, newdata = data, interval = "pred", level = 0.95) >head(ICpred) fit lwr upr 1 20.52397 17.158283 23.88967 2 12.33785 8.981672 15.69404 3 12.30767 8.919038 15.69630 ... • Intervalle de confiance de la droite ajustée (E(Y)) >ICdte <- predict(object = modele, newdata = data, interval = "conf", level = 0.95) head(ICdte) fit lwr upr 1 20.52397 19.99627 21.05168 2 12.33785 11.87465 12.80106 3 12.30767 11.64932 12.96602 … 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 32 les ICpred seront toujours plus large que les ICdte car ils tiennent compte de l’incertitude ou erreur irréductible 𝜖
  • 33.
    Régression linéaire multiple 5.La relation est-elle linéaire? • Afficher les résidus … commentez 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 33
  • 34.
    Régression linéaire multiple 5.Y a-t-il une synergie entre les média? • Il se peut que la relation entre Y et les variables TV et Radio ne soit pas additive ! • il y a interaction entre ces 2 variables • les résidus positifs restent autour de la ligne de 45° où les budgets de TV et de Radio sont répartis de façon presque égale • les résidus négatifs (difficile à voir dans la figure) sont éloignés de cette ligne 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 34 terme d’intéraction James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
  • 35.
    Régression linéaire multiple •Cas des variables catégorielles • Fonction R: model.matrix() model.matrix(object = ~ ., data = Credit ) convertir en data.frame si vous utilisez lm() vous pouvez lancer lm() avec la colonne (Intercept) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 35
  • 36.
    Bibliographie James and al.,An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014 Lafont G., Leçon 4 Corrélations, Module EAR206, CNAM de Paris, 2013 Ng A., Machine Learning MOOC, Coursera – Stanford University Coursera, Data Analysis and Statistical Inference MOOC, Coursera – Duke University Cornillon P., Matzner-LØber E., Régression avec R, ISBN 9782817801834, Springer, 2011 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - PARTIE 5 - RÉGRESSION LINÉAIRE 36