Comment effectuer le test Goldfeld-Quandt dans R



Le test de Goldfeld-Quandt 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.

Si l’hétéroscédasticité est présente, cela 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 fournit un exemple étape par étape de la façon d’effectuer le test de Goldfeld-Quandt dans R pour déterminer si l’hétéroscédasticité est présente ou non dans un modèle de régression donné.

Étape 1 : Créer un modèle de régression

Tout d’abord, nous allons créer un modèle de régression linéaire multiple à l’aide de l’ensemble de données mtcars intégré dans R :

#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 : Effectuer le test de Goldfeld-Quandt

Ensuite, nous utiliserons la fonction gqtest() du package lmtest pour effectuer le test de Goldfeld-Quandt afin de déterminer si une hétéroscédasticité est présente.

Cette fonction utilise la syntaxe suivante :

gqtest (modèle, order.by, données, fraction)

où:

  • model : Le modèle de régression linéaire créé par la commande lm().
  • order.by : la ou les variables prédictives du modèle.
  • data : Le nom de l’ensemble de données.
  • fraction* : nombre d’observations centrales à supprimer de l’ensemble de données.

*Le test Goldfeld-Quandt fonctionne en supprimant un certain nombre d’observations situées au centre de l’ensemble de données, puis en testant pour voir si la répartition des résidus est différente des deux ensembles de données résultants qui se trouvent de chaque côté des observations centrales.

En règle générale, nous choisissons de supprimer environ 20 % du total des observations. Dans ce cas, mtcars a 32 observations au total, nous pouvons donc choisir de supprimer les 7 observations centrales :

#load lmtest library
library(lmtest)

#perform the Goldfeld Quandt test
gqtest(model, order.by = ~disp+hp, data = mtcars, fraction = 7)

	Goldfeld-Quandt test

data:  model
GQ = 1.0316, df1 = 10, df2 = 9, p-value = 0.486
alternative hypothesis: variance increases from segment 1 to 2

Voici comment interpréter le résultat :

  • La statistique du test est de 1,0316 .
  • La valeur p correspondante est de 0,486 .

Le test de Goldfeld-Quandt 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 Goldfeld-Quandt, 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, la régression pondérée peut éliminer le problème de l’hétéroscédasticité.

Ressources additionnelles

Comment effectuer une régression linéaire multiple dans R
Comment effectuer le test de White dans R
Comment effectuer un test de Breusch-Pagan dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *