Comment effectuer le test de White dans R (avec exemples)
Le test de White est utilisé pour déterminer si l’hétéroscédasticité est présente dans un modèle de régression.
L’hétéroscédasticité fait référence à la dispersion inégale des résidus à différents niveaux d’une variable de réponse dans un modèle de régression, ce qui viole l’une des hypothèses clés de la régression linéaire selon laquelle les résidus sont également dispersés à chaque niveau de la variable de réponse.
Ce didacticiel explique comment effectuer le test de White dans R pour déterminer si l’hétéroscédasticité constitue ou non un problème dans un modèle de régression donné.
Exemple : test de White dans R
Dans cet exemple, nous ajusterons un modèle de régression linéaire multiple à l’aide de l’ensemble de données R intégré mtcars.
Une fois que nous aurons ajusté le modèle, nous utiliserons la fonction bptest de la bibliothèque lmtest pour effectuer le test de White afin de déterminer si une hétéroscédasticité est présente.
Étape 1 : Ajustez un modèle de régression.
Tout d’abord, nous ajusterons un modèle de régression en utilisant mpg comme variable de réponse et disp et hp comme deux variables explicatives.
#load the dataset data(mtcars) #fit a regression model model <- lm(mpg~disp+hp, data=mtcars) #view model summary summary(model) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 30.735904 1.331566 23.083 < 2e-16 *** disp -0.030346 0.007405 -4.098 0.000306 *** hp -0.024840 0.013385 -1.856 0.073679 . --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 3.127 on 29 degrees of freedom Multiple R-squared: 0.7482, Adjusted R-squared: 0.7309 F-statistic: 43.09 on 2 and 29 DF, p-value: 2.062e-09
Étape 2 : Effectuez le test de White.
Ensuite, nous utiliserons la syntaxe suivante pour effectuer le test de White afin de déterminer si l’hétéroscédasticité est présente :
#load lmtest library library(lmtest) #perform White's test bptest(model, ~ disp*hp + I(disp^2) + I(hp^2), data = mtcars) studentized Breusch-Pagan test data: model BP = 7.0766, df = 5, p-value = 0.215
Voici comment interpréter le résultat :
- La statistique de test est X 2 = 7,0766 .
- Les degrés de liberté sont de 5 .
- La valeur p correspondante est de 0,215 .
Le test de White utilise les hypothèses nulles et alternatives suivantes :
- Null (H 0 ) : L’homoscédasticité est présente.
- Alternative (H A ) : L’hétéroscédasticité est présente.
Puisque la valeur p n’est pas inférieure à 0,05, nous ne parvenons pas à rejeter l’hypothèse nulle. Nous ne disposons pas de preuves suffisantes pour affirmer que l’hétéroscédasticité est présente dans le modèle de régression.
Que faire ensuite
Si vous ne parvenez pas à rejeter l’hypothèse nulle du test de White, alors l’hétéroscédasticité n’est pas présente et vous pouvez procéder à l’interprétation du résultat de la régression originale.
Cependant, si vous rejetez l’hypothèse nulle, cela signifie qu’une hétéroscédasticité est présente dans les données. Dans ce cas, les erreurs types affichées dans le tableau de sortie de la régression peuvent ne pas être fiables.
Il existe plusieurs manières courantes de résoudre ce problème, notamment :
1. Transformez la variable de réponse.
Vous pouvez essayer d’effectuer une transformation sur la variable de réponse, par exemple en prenant le journal, la racine carrée ou la racine cubique de la variable de réponse. Généralement, cela peut entraîner la disparition de l’hétéroscédasticité.
2. Utilisez la régression pondérée.
La régression pondérée attribue un poids à chaque point de données en fonction de la variance de sa valeur ajustée. Essentiellement, cela donne de faibles poids aux points de données qui ont des variances plus élevées, ce qui réduit leurs carrés résiduels. Lorsque les pondérations appropriées sont utilisées, cela peut éliminer le problème de l’hétéroscédasticité.