ANOVA trong các mô hình hồi quy tuyến tính tương đương với thử nghiệm Wald (và thử nghiệm tỷ lệ khả năng) của các mô hình lồng nhau tương ứng. Vì vậy, khi bạn muốn tiến hành thử nghiệm tương ứng bằng cách sử dụng các lỗi tiêu chuẩn không đồng nhất (HC) không đồng nhất, điều này không thể có được từ việc phân tách các tổng bình phương nhưng bạn có thể thực hiện thử nghiệm Wald bằng cách sử dụng ước lượng hiệp phương sai HC. Ý tưởng này được sử dụng trong cả Anova()
và linearHypothesis()
từ car
gói coeftest()
và waldtest()
từ lmtest
gói. Ba cái sau cũng có thể được sử dụng với plm
các đối tượng.
Một ví dụ đơn giản (mặc dù không thú vị / có ý nghĩa) là như sau. Chúng tôi sử dụng mô hình chuẩn từ ?plm
trang hướng dẫn và muốn thực hiện bài kiểm tra Wald về tầm quan trọng của cả hai log(pcap)
và unemp
. Chúng tôi cần các gói này:
library("plm")
library("sandwich")
library("car")
library("lmtest")
Mô hình (theo phương án) là:
data("Produc", package = "plm")
mod <- plm(log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp,
data = Produc, index = c("state", "year"))
Trước tiên, hãy xem xét các thử nghiệm Wald cận biên với các lỗi tiêu chuẩn HC cho tất cả các hệ số riêng lẻ:
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
Và sau đó chúng tôi thực hiện một bài kiểm tra Wald cho cả hai log(pcap)
và 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
Ngoài ra, chúng ta cũng có thể điều chỉnh mô hình theo giả thuyết null (giả mod0
sử) mà không có hai hệ số và sau đó gọi 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
Thống kê kiểm tra và giá trị p được tính bằng linearHypothesis()
và waldtest()
hoàn toàn giống nhau. Chỉ cần giao diện và định dạng đầu ra là hơi khác nhau. Trong một số trường hợp, cái này hay cái kia đơn giản hơn hoặc trực quan hơn.
Lưu ý: Nếu bạn cung cấp ước tính ma trận hiệp phương sai (nghĩa là ma trận như vocvHC(mod)
) thay vì ước tính ma trận hiệp phương sai (nghĩa là một hàm như vocvHC
), hãy đảm bảo rằng bạn cung cấp ước lượng ma trận hiệp phương sai HC của mô hình theo phương án, nghĩa là mô hình không hạn chế.