Vous pouvez utiliser soit un simple test t comme proposé par Glen_b, soit un test Wald plus général.
Le test de Wald permet de tester plusieurs hypothèses sur plusieurs paramètres. Il est formulé comme suit: où R sélectionne (une combinaison de) coefficients, et q indique la valeur à tester, étant les coefficients de régression standard.R β= qβ
Dans votre exemple, où vous n'avez qu'une seule hypothèse sur un paramètre, R est un vecteur ligne, avec une valeur de un pour le paramètre en question et zéro ailleurs, et q est un scalaire avec la restriction à tester.
Dans R, vous pouvez exécuter un test Wald avec la fonction linearHypothesis () de package car . Disons que vous voulez vérifier si le deuxième coefficient (indiqué par l'argument hypothesis.matrix ) est différent de 0,1 (argument rhs ):
reg <- lm(freeny)
coef(reg)
# wald test for lag.quarterly.revenue =0.1
>library(car)
>linearHypothesis(reg, hypothesis.matrix = c(0, 1, rep(0,3)), rhs=0.1)
#skip some result, look at last value on last row, of Pr(>F)
Res.Df RSS Df Sum of Sq F Pr(>F)
1 35 0.0073811
2 34 0.0073750 1 6.0936e-06 0.0281 0.8679
Pour le t-test, cette fonction implémente le t-test montré par Glen_b:
ttest <- function(reg, coefnum, val){
co <- coef(summary(reg))
tstat <- (co[coefnum,1]-val)/co[coefnum,2]
2 * pt(abs(tstat), reg$df.residual, lower.tail = FALSE)
}
> ttest(reg, 2,0.1)
[1] 0.8678848
Assurons-nous d'avoir obtenu la bonne procédure en comparant le Wald, notre test t et le test t par défaut R, pour l'hypothèse standard que le deuxième coefficient est nul:
> linearHypothesis(reg, hypothesis.matrix = c(0, 1, rep(0,3)), rhs=0)[["Pr(>F)"]][2]
[1] 0.3904361
> ttest(reg, 2,0)
[1] 0.3904361
## The 'right' answer from R:
> coef(summary(reg))[2,4]
[1] 0.3904361
Vous devriez obtenir le même résultat avec les trois procédures.