Dalam istilah praktis, ncvTest
gunakan sisi kiri dari persamaan dan bptest
gunakan sisi kanan, secara default.
Ini berarti bahwa dalam kasus Y ~ X
, kedua tes akan memberikan hasil yang sama (mengenai studentize = F
opsi bptest
). Tetapi dalam analisis multivariat seperti itu Y ~ X1 + X2
, hasilnya akan berbeda. (Seperti yang ditunjukkan oleh @ Helix123)
Dari file bantuan ncvTest : var.formula
: "rumus satu sisi untuk varian kesalahan; jika dihilangkan, varian kesalahan tergantung pada nilai yang dipasang ." Yang berarti, secara default, nilai yang dipasang akan digunakan, tetapi juga memungkinkan untuk menggunakan kombinasi linear dari variabel independen (X1 + X2).
Dari file bantuan bptest : varformula
: "Secara default , variabel penjelas yang sama diambil seperti dalam model regresi utama."
Melanjutkan contoh yang sama dari @Francis (data stat500
, dari faraway
paket):
> mdl_t = lm(final ~ midterm + hw, data = stat500)
Tes BP, menggunakan nilai yang dipasang:
> 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
Tes BP, menggunakan kombinasi prediktor linier:
> 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
"Opsi kombinasi linear" memungkinkan untuk menyelidiki heteroskedastisitas yang terkait dengan ketergantungan linear dari variabel independen tertentu. Misalnya, hanya hw
variabelnya:
> 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
Terakhir, seperti yang dirangkum @Francis, "Singkatnya, tes BP pelajar lebih kuat daripada yang asli", saya biasanya menggunakan bptest
, dengan studentize = TRUE
(default) dan varformula = ~ fitted.values(my.lm)
sebagai opsi, untuk pendekatan awal untuk homoskedastisitas.
ncvTest
danbptest
menggunakan variabel yang berbeda untuk menjelaskan residu, lihat argumenvar.formula
danvarformula
, masing-masing. Hasilnya akan berbeda setelah Anda menambahkan regressor lain ke contoh Anda.