Trong điều kiện thực tế, ncvTest
sử dụng phía bên trái của phương trình và bptest
sử dụng phía bên phải, theo mặc định.
Điều đó có nghĩa là trong trường hợp Y ~ X
, cả hai bài kiểm tra sẽ cung cấp kết quả giống nhau (liên quan đến studentize = F
tùy chọn bptest
). Nhưng trong một phân tích đa biến nhưY ~ X1 + X2
, kết quả sẽ khác nhau. (Như @ Helix123 đã chỉ ra)
Từ tệp trợ giúp của ncvTest : var.formula
: "công thức một phía cho phương sai lỗi; nếu bỏ qua, phương sai lỗi phụ thuộc vào các giá trị được trang bị ." Điều đó có nghĩa là theo mặc định, các giá trị được trang bị sẽ được sử dụng, nhưng nó cũng cho phép sử dụng kết hợp tuyến tính của các biến độc lập (X1 + X2).
Từ tệp trợ giúp của bptest : varformula
: "Theo mặc định, các biến giải thích tương tự được lấy như trong mô hình hồi quy chính."
Tiếp tục ví dụ tương tự về @Francis (dữ liệu stat500
, từ faraway
gói):
> mdl_t = lm(final ~ midterm + hw, data = stat500)
Kiểm tra HA, sử dụng các giá trị được trang bị:
> ncvTest(mdl_t) # Default
Non-constant Variance Score Test
Variance formula: ~ fitted.values
Chisquare = 0.6509135 Df = 1 p = 0.4197863
> bptest(mdl_t, varformula = ~ fitted.values(mdl_t), studentize = F)
Breusch-Pagan test
data: mdl_t
BP = 0.65091, df = 1, p-value = 0.4198
Kiểm tra HA, sử dụng kết hợp tuyến tính của các yếu tố dự đoán:
> ncvTest(mdl_t, var.formula = ~ midterm + hw)
Non-constant Variance Score Test
Variance formula: ~ midterm + hw
Chisquare = 0.7689743 Df = 2 p = 0.6807997
> bptest(mdl_t, studentize = F) # Default
Breusch-Pagan test
data: mdl_t
BP = 0.76897, df = 2, p-value = 0.6808
"Tùy chọn kết hợp tuyến tính" cho phép điều tra tính không đồng nhất liên quan đến sự phụ thuộc tuyến tính của một biến độc lập cụ thể. Ví dụ: chỉ là hw
biến:
> ncvTest(mdl_t, var.formula = ~ hw)
Non-constant Variance Score Test
Variance formula: ~ hw
Chisquare = 0.04445789 Df = 1 p = 0.833004
> bptest(mdl_t, varformula = ~ stat500$hw, studentize = F)
Breusch-Pagan test
data: mdl_t
BP = 0.044458, df = 1, p-value = 0.833
Cuối cùng, như @Francis đã tóm tắt, "Nói tóm lại, xét nghiệm HA được học sinh mạnh hơn so với thử nghiệm ban đầu", tôi thường đi theo bptest
, với studentize = TRUE
(mặc định) và varformula = ~ fitted.values(my.lm)
như các tùy chọn, cho cách tiếp cận ban đầu cho tính đồng nhất.
ncvTest
vàbptest
sử dụng các biến khác nhau để giải thích các phần dư, xem các đối sốvar.formula
vàvarformula
, tương ứng. Kết quả sẽ phân kỳ khi bạn thêm một biến hồi quy vào ví dụ của mình.