线性回归模型中的 ANOVA 等效于相应嵌套模型的 Wald 检验(和似然比检验)。因此,当您想使用异方差一致 (HC) 标准误差进行相应的检验时,这无法从平方和的分解中获得,但您可以使用 HC 协方差估计进行 Wald 检验。这个想法在包Anova()
和包和包中都有使用。后三个也可以与对象一起使用。linearHypothesis()
car
coeftest()
waldtest()
lmtest
plm
下面是一个简单(尽管不是很有趣/有意义)的示例。我们使用手册页中的标准模型,并希望对和?plm
的显着性进行 Wald 检验。我们需要这些包:log(pcap)
unemp
library("plm")
library("sandwich")
library("car")
library("lmtest")
模型(在替代方案下)是:
data("Produc", package = "plm")
mod <- plm(log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp,
data = Produc, index = c("state", "year"))
首先,让我们看一下所有单个系数的 HC 标准误差的边际 Wald 检验:
coeftest(mod, vcov = vcovHC)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
log(pc) 0.2920069 0.0617425 4.7294 2.681e-06 ***
log(emp) 0.7681595 0.0816652 9.4062 < 2.2e-16 ***
log(pcap) -0.0261497 0.0603262 -0.4335 0.66480
unemp -0.0052977 0.0024958 -2.1226 0.03411 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
log(pcap)
然后我们对和进行 Wald 测试unemp
:
linearHypothesis(mod, c("log(pcap)", "unemp"), vcov = vcovHC)
Linear hypothesis test
Hypothesis:
log(pcap) = 0
unemp = 0
Model 1: restricted model
Model 2: log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp
Note: Coefficient covariance matrix supplied.
Res.Df Df Chisq Pr(>Chisq)
1 766
2 764 2 7.2934 0.02608 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
或者,我们也可以在没有两个系数的情况下在原假设(mod0
比如说)下拟合模型,然后调用waldtest()
:
mod0 <- plm(log(gsp) ~ log(pc) + log(emp),
data = Produc, index = c("state", "year"))
waldtest(mod0, mod, vcov = vcovHC)
Wald test
Model 1: log(gsp) ~ log(pc) + log(emp)
Model 2: log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp
Res.Df Df Chisq Pr(>Chisq)
1 766
2 764 2 7.2934 0.02608 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
linearHypothesis()
由和计算的检验统计量和 p 值waldtest()
完全相同。只是界面和输出格式有些不同。在某些情况下,其中一种更简单或更直观。
注意:如果您提供协方差矩阵估计(即矩阵,如vocvHC(mod)
)而不是协方差矩阵估计器(即,函数vocvHC
,如非限制模型。