Làm thế nào để có được bảng ANOVA với các lỗi tiêu chuẩn mạnh mẽ?


10

Tôi đang chạy hồi quy OLS gộp bằng gói plm trong R. Mặc dù, câu hỏi của tôi là về số liệu thống kê cơ bản, vì vậy tôi thử đăng nó ở đây trước;)

Vì kết quả hồi quy của tôi mang lại số dư heteroskedastic, tôi muốn thử sử dụng các lỗi tiêu chuẩn mạnh mẽ không đồng nhất. Kết quả là coeftest(mod, vcov.=vcovHC(mod, type="HC0"))tôi nhận được một bảng chứa các ước tính, lỗi tiêu chuẩn, giá trị t và giá trị p cho từng biến độc lập, về cơ bản là kết quả hồi quy "mạnh mẽ" của tôi.

Để thảo luận về tầm quan trọng của các biến khác nhau, tôi muốn vẽ phần chia phương sai được giải thích bởi mỗi biến độc lập, vì vậy tôi cần tổng bình phương tương ứng. Tuy nhiên, bằng cách sử dụng chức năng aov(), tôi không biết làm thế nào để nói với R sử dụng các lỗi tiêu chuẩn mạnh mẽ.

Bây giờ câu hỏi của tôi là: Làm thế nào để tôi có được bảng ANOVA / tổng bình phương đề cập đến các lỗi tiêu chuẩn mạnh mẽ? Có thể tính toán nó dựa trên bảng ANOVA từ hồi quy với các lỗi tiêu chuẩn thông thường không?

Biên tập:

Nói cách khác và coi thường các vấn đề R của tôi:

Nếu R không bị ảnh hưởng bởi việc sử dụng các lỗi tiêu chuẩn mạnh, thì các đóng góp tương ứng cho phương sai được giải thích bởi các biến giải thích khác nhau có thay đổi không?2

Biên tập:

Trong R, có aov(mod)thực sự đưa ra một bảng ANOVA chính xác cho panelmodel (plm) không?

Câu trả lời:


12

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()linearHypothesis()từ cargói coeftest()waldtest()từ lmtestgói. Ba cái sau cũng có thể được sử dụng với plmcá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ừ ?plmtrang 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)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)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ả mod0sử) 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()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ế.


1
Nếu tôi hiểu chính xác, bài kiểm tra Wald cho thấy liệu bao gồm các biến nhất định có ý nghĩa hay không. Nhưng có một thước đo về mức độ họ thực sự cải thiện mô hình, ví dụ như tổng bình phương?
Aki

Làm cách nào tôi có thể thực hiện các lỗi tiêu chuẩn HAC? Tôi đã thử coeftest (mod, vcov = vcovHAC) nhưng nhận được thông báo lỗi cho biết "không có phương pháp áp dụng nào cho 'estfun' được áp dụng cho một đối tượng của lớp" c ('plm', 'panelmodel') ". Có vẻ như tôi cần tính toán trọng số hoặc trước tiên là một chức năng ước tính. Bạn muốn giới thiệu phương pháp nào?
Aki

Mặc dù plmgói có các phương thức cho vcovHC()chung từ sandwichgói, nhưng nó không cung cấp các phương thức cho vcovHAC(). Thay vào đó, plmcác tàu có các chức năng chuyên dụng riêng để tính toán ma trận hiệp phương sai trong các mô hình bảng điều khiển có khả năng bao gồm cả tương quan nối tiếp. Xem vcovNW()hoặc vcovSCC()trong gói plm.
Achim Zeileis

Cảm ơn bạn! Theo như tôi hiểu thì cả hai chức năng đều liên quan đến SE tự tương quan mạnh mẽ. Có bất kỳ chức năng nào có thể được sử dụng cho cả SE không đồng nhất và tự động mạnh mẽ không?
Aki

Tất cả ba chức năng ( vcovHAC, vcovNW, vcovSCC) là _H_eteroskedasticity và _A_utocorrelation _C_onsistent ... đó là những gì HAC là viết tắt của.
Achim Zeileis 8/2/2016

2

Điều này có thể được thực hiện với Anovachức năng trong cargói. Xem câu trả lời tuyệt vời này để biết thêm chi tiết và đánh giá các kỹ thuật khác để xử lý sự không đồng nhất trong ANOVA.


Cảm ơn bạn. Vấn đề là, Anova () dường như không hoạt động với các mô hình kiểu plm (panelmodel).
Aki

@Aki nếu tôi không nhầm OLS gộp là tương đương với OLS đơn giản, dựa trên những gì nó nói trong họa tiết: cran.r-project.org/web/packages/plm/vignettes/plm.pdf
Shadowtalker

@Aki tuy nhiên có vẻ như bạn có thể quan tâm đến một mô hình ANOVA phong phú hơn. Có một số ví dụ R ở đây: stats.stackexchange.com/questions/3874/ Kẻ
Shadowtalker
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.