Skip to content

Régression multiple

Introduction

La régression multiple permet de tester l'effet de plusieurs prédicteurs sur une variable dépendante dans un modèle linéaire.

Bases théoriques

Souvent, plusieurs facteurs ont une influence sur la variable dépendante. Or, il serait erroné de calculer une régression simple pour chacun de ces facteurs, puisque cela ne permettrait pas de tenir compte de l'influence des autres facteurs sur celui qui est analysé.

L'équation de la régression multiple est la suivante:

Régression linéaire multiple

Avec:

  • Y la variable dépendante
  • β0 l'intercept (il n'y en a qu'un seul indépendamment du nombre de facteurs)
  • β1X1 la pente du facteur 1
  • β2X2 la pente du facteur 2
  • βkXk les pentes des autres facteurs présents dans le modèle

Si nous essayons de représenter la régression multiple à l'aide d'un graphique, nous obtenons donc approximativement le schéma suivant (ici avec deux prédicteurs):

Régression linéaire multiple

Ici, notre pente n'est en réalité plus une simple pente, il s'agit d'une figure géométrique appelée hyperplan. Un hyperplan est un sous-espace plat de dimension n-1: dans un espace en 2D, l'hyperplan est en 1D (par exemple dans le cas d'une régression linéaire simple). Dans un espace en 3D, l'hyperplan est en 2D, dans un espace en 4D l'hyperplan est en 3D, etc.

Application

Syntaxe R
# Soit y la variable dépendante et x1, x2 les prédicteurs
m <- lm(data$y ~ data$x1 + data$x2)
summary(m)

Conditions d'application

Conditions d'application

Pour pouvoir être utilisée, la régression linéaire multiple requiert:

  • La linéarité du modèle.
  • La distribution normale des résidus.
  • L'homoscédasticité (constance de la variance des résidus à tous les niveaux du prédicteur).
  • L'absence de valeurs extrêmes.
  • L'absence de multicolinéarité (absence de corrélation forte entre 2 prédicteurs ou plus).

Comme pour la régression simple, nous pouvons vérifier les 4 premières suppositions de la façon suivante:

Syntaxe R
# Soit m le modèle de régression linéaire
par(mfrow=c(1,1))
plot(m)

Pour tester la multicolinéarité, nous utilisons le VIF (Variance Inflation Factor):

Syntaxe R
# Soit m le modèle de régression linéaire
library(car)
vif(m)

Coefficients standardisés

Les coefficients standardisés sont des coefficients de régression qui ont été convertis de façon à être mesurés en écarts-types. Lorsque l'on reporte les résultats, il est important de communiquer également les coefficients standardisés, puisque cela permet de comparer la force et la direction des différents coefficients.

Pour réaliser un modèle de régression multiple avec des coefficients standardisés:

Syntaxe R
# Soit y la variable dépendante et x1, x2 les prédicteurs
m <- lm(scale(data$y) ~ scale(data$x1) + scale(data$x2))
summary(m)

Taille d'effet

Dans le cadre d'une régression multiple, nous utilisons le R2 ajusté pour déterminer la part de la variance qui peut être expliquée par l'ensemble de nos prédicteurs.

Exemple

Voici nos données et notre fichier d'analyse:

Fichiers
multiple-linear-regression.csv
multiple-linear-regression.R

Commençons par activer les librairies nécessaires dans R:

Activation des librairies
library(car)

Puis, importons nos données:

Importation des données
df <- read.csv("multiple-linear-regression.csv")

Puisque nous avons 3 prédicteurs, nous ne pouvons pas représenter l'hyperplan graphiquement, puisque cela nécessiterait un graphique avec 4 axes différents (en 4D).

Réalisons maintenant notre régression:

Régression multiple
m <- lm(
  score ~ predicteur_1 + predicteur_2 + predicteur_3,
  data=df
)

Nous devons maintenant vérifier les suppositions de notre modèle de régression:

Vérification des suppositions
par(mfrow=c(1,1))
plot(m)

Graphique des résidus par rapport aux valeurs ajustées

Graphique Q-Q

Graphique de localisation d'échelle

Graphique des résidus par rapport au levier

Puis nous testons notre modèle pour la multicolinéarité:

Variance Inflation Factor
vif(m)
predicteur_1 predicteur_2 predicteur_3
1.000931 1.002070 1.001448

Les suppositions semblent être respectées. Nous pouvons donc interpréter nos résultats:

Interprétation des résultats
summary(m)
Estimate Std. Error t value p
(Intercept) -0.001399 0.031331 -0.045 0.964
predicteur_1 0.587227 0.029759 19.733 <2e-16 ***
predicteur_2 0.393529 0.030874 12.746 <2e-16 ***
predicteur_3 -0.529478 0.032376 -16.354 <2e-16 ***
F-statistic p-value Multiple R2 Adjusted R2
286 < 2.2e-16 0.4628 0.4612

Nous pouvons déduire de ces résultats que nos prédicteurs sont significatifs et qu'ils permettent d'expliquer ~46% de la variance des scores (F(3,996) = 286, p<.001, R2 = .461).

Une augmentation d'une unité du prédicteur 1 est associée à une augmentation moyenne de 0.59 unités du score (B = 0.59, p<.001). Une augmentation d'une unité du prédicteur 2 est associée à une augmentation moyenne de 0.39 unités du score (B = 0.39, p<.001). Une augmentation d'une unité du prédicteur 3 est associé à une diminution de 0.53 unité du score (B = -0.52, p<.001).

Nous pouvons maintenant calculer les coefficients standardisés:

Coefficients standardisés
m1 <- lm(
  scale(score) ~ scale(predicteur_1) +
    scale(predicteur_2) +
    scale(predicteur_3),
  data=df
)
summary(m1)
Estimate Std. Error t value p
(Intercept) 3.656e-17 0.02321 0.00 1
predicteur_1 0.4585 0.02324 19.73 <2e-16 ***
predicteur_2 0.2963 0.02325 12.75 <2e-16 ***
predicteur_3 -0.3801 0.02324 -16.35 <2e-16 ***

Nous pouvons donc conclure que l'augmentation d'un écart-type du prédicteur 1 est associée à une augmentation de 0.46 écart-type du coefficient standardisé de la variable dépendante (B = 0.46, p<.001). Une augmentation d'un écart-type du prédicteur 2 est associée à une augmentation de 0.30 écart-type de la variable dépendante (B = 0.30, p<.001). Une augmentation d'un écart-type du prédicteur 3 est associée à une diminution de -0.38 écart-type de la variable dépendante (B = -0.38, p<.001).