Вы можете использовать либо простой t-тест, предложенный Glen_b, либо более общий тест Wald.
Тест Вальда позволяет проверить несколько гипотез по нескольким параметрам. Сформулировано как:R β= qβ является стандартными коэффициентами регрессии.
В вашем примере, где у вас есть только одна гипотеза об одном параметре, R - вектор строки, со значением 1 для рассматриваемого параметра и нуля в другом месте, а q - скаляр с ограничением для проверки.
В R вы можете запустить тест Вальда с функцией linearHypothesis () из пакета car . Допустим, вы хотите проверить, отличается ли второй коэффициент (указанный аргументом hypothesis.matrix ) от 0,1 (аргумент 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
Для t-теста эта функция реализует t-тест, показанный 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
Давайте удостоверимся, что мы получили правильную процедуру, сравнив Вальд, наш t-критерий и t-критерий R по умолчанию, для стандартной гипотезы о том, что второй коэффициент равен нулю:
> 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
Вы должны получить тот же результат с тремя процедурами.