Régression linéaire multiple

Modélisation de l’ozone à l’aide de toutes les variables explicatives

Objectif : établir un modèle de régression multiple expliquant la pollution.

Soit un seuil d’erreur de niveau \(\alpha = 0.05\).

Ici, notre variable cible est O3 et nos features sont les T12, T15, Ne12, N12, S12, E12, W12, Vx.

Modèle de régression multiple :

\[ Y_i = b_1.X_i^1 + b_2.X_i^2 + ... + b_{p}.X_i^{p} + u_i \\ \]

\[ \underbrace{Y}_{(n \times 1)} = \underbrace{X}_{(n\times p)}.\underbrace{b}_{(p \times 1)} + \underbrace{u}_{(n \times 1)} \\ \]

\[ \begin{pmatrix} Y_1 \\ \vdots \\ Y_n \end{pmatrix} = \begin{pmatrix} X^1_1 & \cdots & X_1^{p} \\ \vdots & \ddots & \vdots \\ X_1^{n} & \cdots & X_n^{p} \end{pmatrix} \times \begin{pmatrix} b_1 \\ \vdots \\ b_{p} \end{pmatrix} + \begin{pmatrix} u_1 \\ \vdots \\ u_{n} \end{pmatrix} \]

\(u\) est l’erreur telle que :

\[ \left\{ \begin{aligned} &\mathbb E[u] = 0_n \; (centrées)\\\\ & Var(u) = \begin{pmatrix} Var(u_1) & & Cov(u_i,u_j) \\ & \ddots \\ & & Var(u_n) \end{pmatrix} = \underbrace{\sigma^2}_{homoscédasticité} \times \underbrace{Id_n}_{décorrélation} \end{aligned} \right. \]

Ainsi nous avons les paramètres du modèle :

\(b \in \mathbb R^{p-1}\)

\(\sigma^2>0\)

\(u \sim \mathcal N(0_n, \sigma^2.Id_n)\)

## 
## Call:
## lm(formula = ozo$O3 ~ ., data = feat)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -24.0532  -7.7178   0.8154   7.9974  27.9616 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 54.72777   17.27890   3.167 0.002943 ** 
## ozo.T12     -0.35184    1.57308  -0.224 0.824159    
## ozo.T15      1.49719    1.53774   0.974 0.336092    
## ozo.Ne12    -4.19219    1.06376  -3.941 0.000318 ***
## ozo.N12      1.27549    1.36319   0.936 0.355061    
## ozo.S12      3.17112    1.91078   1.660 0.104817    
## ozo.E12      0.52773    1.94274   0.272 0.787294    
## ozo.W12      2.47488    2.07201   1.194 0.239342    
## ozo.Vx       0.60770    0.48575   1.251 0.218187    
## ozo.maxO3v   0.24536    0.09649   2.543 0.014964 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 13.21 on 40 degrees of freedom
## Multiple R-squared:  0.7505, Adjusted R-squared:  0.6944 
## F-statistic: 13.37 on 9 and 40 DF,  p-value: 1.507e-09
## [1] 571.2494

Nous testerons alors chaque variable une par une :

Tests nécessaires à la validation du modèle :

Test de Fisher : La régression est-elle signficative ?

\[ \left\{ \begin{aligned} &H_0 : la \; régression \; est \; non \; significative \Leftrightarrow b_i = 0 \; \forall i\in [1,p]\\ & H_1 : la \; régression \; est \; significative \Leftrightarrow \exists i\in [1,p] \; tq \; b_i ≠ 0 \end{aligned} \right. \] Indicateurs : on regarde \(R^2\) / \(F-statistic\) / \(p-value\)

On établit la règle suivante :

Si p−value \(<α\) \(\Rightarrow\) On rejette \(H_0\) / On accepte \(H_1\) \(\Rightarrow\) La régression est significative.

Si p−value \(>α\) \(\Rightarrow\) On accepte \(H_0\) / On rejette \(H_1\) \(\Rightarrow\) La régression n’est pas significative.

Test de Student :

\[ \left\{ \begin{aligned} &H_0 : la \; variable \; X^j \; est \; non \; significative \Leftrightarrow b_j = 0 \; \forall j\in [1,p]\\ & H_1 : la \; variable\; X^j \; est \; significative \Leftrightarrow \exists j\in [1,p] \; tq \; b_j ≠ 0 \end{aligned} \right. \]

Indicateurs : on regarde \(T\) / \(p\)-value

Règle de décision :

Si p−value \(<α\) \(\Rightarrow\) On rejette \(H_0\) / On accepte \(H_1\) \(\Rightarrow\) La variable est significative.

Si p−value \(>α\) \(\Rightarrow\) On accepte \(H_0\) / On rejette \(H_1\) \(\Rightarrow\) La variable n’est pas significative.

Consolider une sortie R

a/ On remarque que le sortie R nous informe qu’il y a 19 degrés de liberté, 5 variables sont impliquées dans la modélisation : nous avions alors 24 observations sur ces données.

b/ 1- Intercept

2- \(-1518.18 / 739.93 = -2.05\) Calcul de la T valeur

3- \(34.67 / 0.178 = 194,7753\) Calcul de la T valeur

4- Rien du tout

5- \(14.31 \times 2.697 = 38.59407\) Calcul de la T valeur

6- 4 (Nombre de variables explicatives)

7- 19 (Degrés de liberté)

c/ SCT = SCE + SCR \(R^2 = \frac{SCE}{SCT}\)

Ici \(R^2 = 0.86\)

Taux de remplissage des trains

La variable d’intérêt est le taux de remplissage d’un train

Audit

##        TX             HEURE            JOUR           SEMAINE  
##  Min.   :0.1464   Min.   : 7.00   Min.   :  1.00   Min.   : 1  
##  1st Qu.:0.4680   1st Qu.:10.00   1st Qu.: 38.00   1st Qu.: 6  
##  Median :0.6246   Median :11.00   Median : 74.00   Median :11  
##  Mean   :0.6058   Mean   :12.35   Mean   : 74.03   Mean   :11  
##  3rd Qu.:0.7388   3rd Qu.:14.00   3rd Qu.:110.00   3rd Qu.:16  
##  Max.   :1.0000   Max.   :21.00   Max.   :147.00   Max.   :21  
##   TEMPERATURE      PUISSANCE      DUREESOLEIL      PLUIE       
##  Min.   :18.80   Min.   :142.0   Min.   : 18   Min.   : 0.000  
##  1st Qu.:25.60   1st Qu.:753.0   1st Qu.:560   1st Qu.: 0.000  
##  Median :27.80   Median :845.0   Median :702   Median : 0.000  
##  Mean   :27.58   Mean   :807.6   Mean   :635   Mean   : 1.183  
##  3rd Qu.:29.80   3rd Qu.:922.0   3rd Qu.:804   3rd Qu.: 0.000  
##  Max.   :35.20   Max.   :997.0   Max.   :872   Max.   :29.800
## 'data.frame':    777 obs. of  8 variables:
##  $ TX         : num  0.146 0.325 0.342 0.273 0.24 ...
##  $ HEURE      : int  10 11 12 14 7 8 10 8 9 10 ...
##  $ JOUR       : int  1 1 1 1 2 2 2 3 3 3 ...
##  $ SEMAINE    : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ TEMPERATURE: num  23.1 23.1 23.1 23.1 18.8 18.8 18.8 20 20 20 ...
##  $ PUISSANCE  : int  839 839 839 839 492 492 492 925 925 925 ...
##  $ DUREESOLEIL: int  642 642 642 642 319 319 319 745 745 745 ...
##  $ PLUIE      : num  0 0 0 0 0 0 0 0 0 0 ...

Modélisation

## 
## Call:
## lm(formula = train$TX ~ ., data = trainregresseur)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.233287 -0.041098  0.001505  0.039796  0.191818 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        1.794e-02  2.438e-02   0.736   0.4621    
## train.HEURE        6.798e-03  6.452e-04  10.536  < 2e-16 ***
## train.JOUR         1.997e-03  1.365e-03   1.463   0.1440    
## train.SEMAINE      1.170e-02  9.591e-03   1.220   0.2229    
## train.TEMPERATURE  5.946e-03  8.010e-04   7.423 3.05e-13 ***
## train.PUISSANCE    8.124e-06  2.386e-05   0.341   0.7335    
## train.DUREESOLEIL  9.134e-05  1.604e-05   5.696 1.75e-08 ***
## train.PLUIE       -9.883e-04  5.201e-04  -1.900   0.0578 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.06543 on 769 degrees of freedom
## Multiple R-squared:  0.8659, Adjusted R-squared:  0.8647 
## F-statistic: 709.2 on 7 and 769 DF,  p-value: < 2.2e-16

Problème de test (Student) : les variables sont-elles significatives ?

\(H_0\) : la variable \(X_p\) n’est pas significative, ou \(b_p = 0\).

\(H_1\) : la variable \(X_p\) est significative, ou \(b_p \not = 0\).

Règle de décision : ici, on regarde l’indice statistique : \(\mathcal T = \frac{\widehat b}{\sqrt{\widehat{Var(\widehat b)}}}\ \)~\(\ \mathcal t_{1587}\). On établit la règle suivante :

t-value > \(qt_{1587}\)(\(\frac{1+ \alpha}{2}\))

## [1] 0.06272725

Problème de test (Fisher) : la régression est-elle significative ?

\(H_0\) : la régression n’est pas significative.

\(H_1\) : la régression est significative.

Règle de décision : nous regardons l’indice statistique : \(\mathcal F = \frac {\mathbb R^2/1}{(1-\mathbb R^2)/1587}\)

On a \(F = 709.2\) >

## [1] 0.003934708

Problème de test (Shapiro) : les résidus sont-ils gaussiens ?

\(H_0\) = les résidus sont gaussiens

\(H_1\) : les résidus ne sont pas gaussiens

## 
##  Shapiro-Wilk normality test
## 
## data:  reg2$residuals
## W = 0.99737, p-value = 0.2491

Ainsi, la p-value est supérieure au seuil \(\alpha = 0.05\) et la statistique \(W\) est très proche de 1, on accepte alors l’hypothèse nulle et les résidus sont donc problamement issus d’une population normalement distribuée.

Prédiction

Modélisons sur notre variable TRAIN:

## 
## Call:
## lm(formula = TRAIN$TX ~ ., data = TRAINREG)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.229596 -0.041201  0.001993  0.042626  0.185892 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        2.316e-02  3.099e-02   0.747   0.4551    
## TRAIN.HEURE        6.066e-03  8.187e-04   7.409 5.06e-13 ***
## TRAIN.JOUR         2.893e-03  1.710e-03   1.692   0.0913 .  
## TRAIN.SEMAINE      5.633e-03  1.201e-02   0.469   0.6392    
## TRAIN.TEMPERATURE  6.098e-03  1.035e-03   5.894 6.70e-09 ***
## TRAIN.PUISSANCE    8.253e-06  2.875e-05   0.287   0.7741    
## TRAIN.DUREESOLEIL  9.333e-05  1.997e-05   4.673 3.76e-06 ***
## TRAIN.PLUIE       -7.554e-04  6.633e-04  -1.139   0.2553    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.06726 on 531 degrees of freedom
## Multiple R-squared:  0.861,  Adjusted R-squared:  0.8591 
## F-statistic: 469.8 on 7 and 531 DF,  p-value: < 2.2e-16

Problème de test (Student) : les variables sont-elles significatives ?

\(H_0\) : la variable \(X_p\) n’est pas significative, ou \(b_p = 0\).

\(H_1\) : la variable \(X_p\) est significative, ou \(b_p \not = 0\).

Règle de décision : ici, on regarde l’indice statistique : \(\mathcal T = \frac{\widehat b}{\sqrt{\widehat{Var(\widehat b)}}}\ \)~\(\ \mathcal t_{1587}\). On établit la règle suivante :

t-value > \(qt_{1587}\)(\(\frac{1+ \alpha}{2}\)) pour rejeter \(H_0\)

## [1] 0.06273642

Les variables sont représentatives mais moins que sur la modélisation globale.

Problème de test (Fisher) : la régression est-elle significative ?

\(H_0\) : la régression n’est pas significative.

\(H_1\) : la régression est significative.

Règle de décision : nous regardons l’indice statistique : \(\mathcal F = \frac {\mathbb R^2/1}{(1-\mathbb R^2)/1587}\)

On a \(F = 471.3\) >

## [1] 0.003935859

La régression est significative.

Problème de test (Shapiro) : les résidus sont-ils gaussiens ?

\(H_0\) = les résidus sont gaussiens

\(H_1\) : les résidus ne sont pas gaussiens

## 
##  Shapiro-Wilk normality test
## 
## data:  regTrain$residuals
## W = 0.99726, p-value = 0.5126

Ainsi, la p-value est supérieure au seuil \(\alpha = 0.05\) et la statistique \(W\) est très proche de 1, on accepte alors l’hypothèse nulle et les résidus sont donc problamement issus d’une population normalement distribuée.

## [1] 0.005248544

## [1] 0.02807649

On a erreur quadratique moyenne qui est égale à 0.02835339