Glen_bが提案する単純なt検定、またはより一般的なWald検定を使用できます。
Wald検定では、複数のパラメーターで複数の仮説を検定できます。:それは次のように定式化されるここで、Rの選択係数(の組み合わせ)、およびqは、に対してテストする値を示すβ標準regresison係数です。R β= qβ
1つのパラメーターに1つの仮説しかない例では、Rは問題のパラメーターに値1を持ち、他の場所にゼロを持つ行ベクトルであり、qはテストする制限のあるスカラーです。
Rでは、パッケージcarから関数linearHypothesis()を使用してWaldテストを実行できます。2番目の係数(引数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検定の場合、この関数はGlen_bが示すt検定を実装します。
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
2番目の係数がゼロであるという標準的な仮説に対して、t検定のWaldとデフォルトの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
3つの手順で同じ結果が得られます。