ANOVA в лінійних регресійних моделях еквівалентний тесту Вальда (і тесту відношення ймовірності) відповідних вкладених моделей. Отже, коли ви хочете провести відповідний тест, використовуючи стандартні помилки, відповідні гетерокедастичності (HC), цього неможливо отримати при розкладанні сум квадратів, але ви можете провести тест Wald, використовуючи оцінку коефіцієнта HC. Ця ідея використовується в обох 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 для всіх окремих коефіцієнтів:
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
А потім ми проводимо тест Wald для обох 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 моделі в альтернативному варіанті, тобто не обмежена модель.