Comment effectuer un test de Wald dans R
Un test de Wald peut être utilisé pour tester si un ou plusieurs paramètres d’un modèle sont égaux à certaines valeurs.
Ce test est souvent utilisé pour déterminer si une ou plusieurs variables prédictives dans un modèle de régression sont égales à zéro.
Nous utilisons les hypothèses nulles et alternatives suivantes pour ce test :
- H 0 : Certains ensembles de variables prédictives sont toutes égales à zéro.
- H A : Toutes les variables prédictives de l’ensemble ne sont pas égales à zéro.
Si nous ne parvenons pas à rejeter l’hypothèse nulle, nous pouvons alors supprimer l’ensemble spécifié de variables prédictives du modèle, car elles n’offrent pas d’amélioration statistiquement significative de l’ajustement du modèle.
L’exemple suivant montre comment effectuer un test de Wald dans R.
Exemple : test de Wald dans R
Pour cet exemple, nous utiliserons l’ensemble de données mtcars intégré dans R pour ajuster le modèle de régression linéaire multiple suivant :
mpg = β 0 + β 1 disp + β 2 carb + β 3 ch + β 4 cyl
Le code suivant montre comment ajuster ce modèle de régression et afficher le résumé du modèle :
#fit regression model model <- lm(mpg ~ disp + carb + hp + cyl, data = mtcars) #view model summary summary(model) Call: lm(formula = mpg ~ disp + carb + hp + cyl, data = mtcars) Residuals: Min 1Q Median 3Q Max -5.0761 -1.5752 -0.2051 1.0745 6.3047 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 34.021595 2.523397 13.482 1.65e-13 *** disp -0.026906 0.011309 -2.379 0.0247 * carb -0.926863 0.578882 -1.601 0.1210 hp 0.009349 0.020701 0.452 0.6551 cyl -1.048523 0.783910 -1.338 0.1922 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 2.973 on 27 degrees of freedom Multiple R-squared: 0.788, Adjusted R-squared: 0.7566 F-statistic: 25.09 on 4 and 27 DF, p-value: 9.354e-09
Ensuite, nous pouvons utiliser la fonction wald.test() du package aod pour tester si les coefficients de régression pour les variables prédictives « hp » et « cyl » sont tous deux égaux à zéro.
Cette fonction utilise la syntaxe de base suivante :
wald.test(Sigma, b, Termes)
où:
- Sigma : La matrice de variance-covariance du modèle de régression
- b : Un vecteur de coefficients de régression du modèle
- Termes : Un vecteur qui spécifie les coefficients à tester
Le code suivant montre comment utiliser cette fonction en pratique :
library(aod) #perform Wald Test to determine if 3rd and 4th predictor variables are both zero wald.test(Sigma = vcov(model), b = coef(model), Terms = 3:4) Wald test: ---------- Chi-squared test: X2 = 3.6, df = 2, P(> X2) = 0.16
À partir du résultat, nous pouvons voir que la valeur p du test est de 0,16.
Puisque cette valeur p n’est pas inférieure à 0,05, nous ne parvenons pas à rejeter l’hypothèse nulle du test de Wald.
Cela signifie que nous pouvons supposer que les coefficients de régression pour les variables prédictives « hp » et « cyl » sont tous deux égaux à zéro.
Nous pouvons supprimer ces termes du modèle car ils n’améliorent pas statistiquement de manière significative l’ajustement global du modèle.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :
Comment effectuer une régression linéaire simple dans R
Comment effectuer une régression linéaire multiple dans R
Comment interpréter la sortie de régression dans R
Comment calculer le facteur d’inflation de variance (VIF) dans R