ANOVA в моделях линейной регрессии эквивалентен критерию Вальда (и критерию отношения правдоподобия) соответствующих вложенных моделей. Поэтому, если вы хотите провести соответствующий тест с использованием стандартных ошибок гетероскедастичности (HC), его нельзя получить из разложения сумм квадратов, но вы можете выполнить тест Вальда, используя ковариационную оценку HC. Эта идея используется в обоих Anova()и linearHypothesis()от carупаковки и coeftest()и waldtest()из lmtestпакета. Последние три также могут быть использованы с plmобъектами.
Простой (хотя и не очень интересный / значимый) пример заключается в следующем. Мы используем стандартную модель со ?plmстраницы руководства и хотим провести тест Вальда на предмет значимости и того, 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 для всех отдельных коэффициентов:
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)и 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
Тестовая статистика и p-значение вычисляются linearHypothesis()и waldtest()являются абсолютно одинаковыми. Просто интерфейс и форматирование вывода несколько отличаются. В некоторых случаях один или другой является более простым или более интуитивным.
Примечание. Если вы предоставляете оценку ковариационной матрицы (т. Е. Матрицы vocvHC(mod)) вместо оценки ковариационной матрицы (т. Е. Функции vocvHC), убедитесь, что вы предоставили оценку ковариационной матрицы HC модели в соответствии с альтернативой, т. Е. Неограниченная модель.