Sie können entweder einen einfachen T-Test wie von Glen_b vorgeschlagen oder einen allgemeineren Wald-Test verwenden.
Rβ=qβ
In Ihrem Beispiel, in dem Sie nur eine Hypothese für einen Parameter haben, ist R ein Zeilenvektor mit einem Wert von Eins für den betreffenden Parameter und Null an anderer Stelle, und q ist ein Skalar mit der Einschränkung zum Testen.
In R können Sie einen Wald-Test mit der Funktion linearHypothesis () aus dem Paket car ausführen . Angenommen, Sie möchten überprüfen, ob der zweite Koeffizient (angegeben durch das Argument hypothesis.matrix ) von 0,1 (Argument rhs ) abweicht :
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
Für den t-Test implementiert diese Funktion den von Glen_b gezeigten t-Test:
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
Stellen wir sicher, dass wir das richtige Verfahren gefunden haben, indem wir den Wald-Test, unseren t-Test und den R-Standard-t-Test für die Standardhypothese vergleichen, dass der zweite Koeffizient Null ist:
> 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
Sie sollten das gleiche Ergebnis mit den drei Verfahren erhalten.