Comment vérifier la condition de distribution normale des résidus pour le modèle de régression linéaire dans R et SPSS ?
Définition
Dans une régression linéaire, on tente de modéliser une dépendance linéaire entre une variable dépendante y et une ou plusieurs variables indépendantes x. Une hypothèse importante ici est que les résidus (la différence entre les valeurs observées de y et les valeurs prédites de y) sont distribués normalement.
Une distribution normale des résidus est importante, car elle permet d'effectuer des estimations statistiques et des tests sur les paramètres du modèle. Si les résidus sont distribués normalement, on peut supposer que les estimations des paramètres de régression (comme la pente et la section de l'axe y) sont distribuées normalement.
Si les résidus ne sont pas distribués normalement, il peut y avoir des problèmes d'interprétation de la signification statistique des paramètres de régression, car les erreurs standard et les valeurs T utilisées pour calculer la signification dépendent de l'hypothèse d'une distribution normalement distribuée des résidus.
Il faut donc s'assurer que les résidus sont normalement distribués avant d'interpréter les estimations statistiques.
La notion de présupposition peut prêter à confusion, car la plupart des présuppositions ne peuvent être vérifiées qu'après l'estimation du modèle. On peut donc considérer les présuppositions comme des conditions préalables à l'interprétation correcte des coefficients plutôt qu'à l'exécution de la régression proprement dite.
Méthodes
Il existe différentes méthodes pour vérifier la distribution normale des résidus, comme par exemple l'examen de tracés Q-Q, le calcul de l'asymétrie et du kurtosis ou l'exécution de tests de normalité comme le test de Shapiro-Wilk. Les lignes suivantes expliquent plus en détail cette procédure dans R et SPSS.
Exemple en R
Pour cet exemple, nous utilisons à nouveau le jeu de données "Swiss" dans R et estimons un modèle de régression en régressant le taux de natalité (Fertility) sur la formation (Education). Nous enregistrons le résultat dans la variable "fit".
fit <- lm(Fertility ~ Education, swiss)
Nous pouvons afficher le résultat à l'aide de la fonction summary :
summary(fit)
Nous observons une relation négative (-0,8624) entre la formation et le taux de natalité.
Nous obtenons les résidus d'un modèle via l'attribut : $residuals.
residuen <- fit$coefficients
Pour vérifier si les résidus sont normalement distribués, nous pouvons d'abord tracer les résidus dans un histogramme.
hist(residuen)
A première vue, les résidus ne semblent pas normalement distribués. Mais comme nous avons un échantillon relativement petit, nous ne pouvons pas encore tirer de conclusion sur la base du seul tracé. Nous pouvons donc encore effectuer un test statistique, dans ce cas le "test de Shapiro-Wik".
Dans R, cela se fait simplement avec :
shapiro.test(residuen)
L'hypothèse nulle du test de Shapiro-Wilk est que les résidus sont distribués normalement. Notre test a donné une valeur p de 0,0592, ce qui est supérieur au niveau de signification habituel de 5%. Nous ne pouvons donc pas rejeter l'hypothèse nulle selon laquelle les résidus sont distribués normalement. La condition est donc remplie.
Exemple dans SPSS
La procédure dans SPSS est analogue à celle de R.
Estime une régression en cliquant sur : "Analyser" -> "Régression" -> "Linéaire ... ".
Avant de cliquer sur Ok ou Coller, clique sur le bouton "Diagrammes" et sélectionne "Histogramme" pour les diagrammes des résidus standardisés. Clique sur OK et affiche les résultats.
Pour effectuer le test de Shapiro-Wilk avec SPSS, nous devons d'abord enregistrer les résidus de la régression. Dans la fenêtre de régression, nous avons également un bouton qui s'appelle "Enregistrer". Clique sur ce bouton et sélectionne ensuite "Non standardisé" pour les résidus. Ensuite, clique sur "Suivant", puis sur "OK".
Une nouvelle variable nommée "RES_1" a été créée dans ton ensemble de données. Nous pouvons maintenant faire un test de Shapiro-Wilk pour celle-ci.
- Clique dans le menu sur Analyser -> Statistiques descriptives -> Analyse exploratoire des données
- Sélectionne ici la variable nouvellement créée "Unstandardized Residual [RES_1]".
- Clique sur le bouton "Diagrammes" et coche la case "Diagramme de distribution normale avec tests".
- Clique sur "Suivant" puis sur "OK".
Dans la sortie, tu vois maintenant la sortie pour les tests de distribution normale.
Comme pour le test dans R, nous voyons que le test de Shapiro-Wilk n'est tout juste pas significatif avec une valeur p de 0,059. Nous ne pouvons pas rejeter l'hypothèse nulle et pouvons donc supposer que les résidus sont distribués normalement. La condition est donc remplie.
Que faire si les résidus ne suivent pas une distribution normale ?
Dans la pratique, il n'est cependant pas toujours possible de remplir la condition des résidus normalement distribués. Dans de tels cas, il convient de vérifier s'il existe une relation linéaire entre les deux variables. Si ce n'est pas le cas, on peut éventuellement mieux modéliser la relation entre les variables avec une autre fonction non linéaire. Si l'on part du principe d'une relation linéaire, on peut utiliser le bootstrapping avec de petits échantillons et simuler ainsi les erreurs standard au lieu de les estimer. Avec des échantillons plus grands, l'hypothèse des résidus normalement distribués peut également être violée, car le théorème central de la limite s'applique. Différents articles ont fixé différents seuils, par exemple N > 15 ou N > 50. Plus les résidus sont répartis de manière symétrique, moins il faut d'observations pour que le théorème central de la limite s'applique. En cas de doute, il est toutefois possible de procéder à un bootstrapping sur des échantillons un peu plus grands afin d'éviter tout doute ou objection sur les résultats.