ในทางปฏิบัติให้ncvTestใช้ด้านซ้ายของสมการและbptestใช้ด้านขวาโดยค่าเริ่มต้น
หมายความว่าในกรณีของY ~ Xการทดสอบทั้งสองจะให้ผลลัพธ์เดียวกัน (เกี่ยวกับstudentize = Fตัวเลือกของbptest) แต่ในการวิเคราะห์หลายตัวแปรเช่นY ~ X1 + X2ผลลัพธ์จะแตกต่างกัน (ตามที่ @ Helix123 ชี้ให้เห็น)
จากไฟล์วิธีใช้ของncvTest : var.formula: "สูตรด้านเดียวสำหรับความแปรปรวนข้อผิดพลาดหากไม่ระบุความแปรปรวนข้อผิดพลาดจะขึ้นอยู่กับค่าที่ติดตั้งไว้" ซึ่งหมายความว่าโดยค่าเริ่มต้นค่าติดตั้งจะถูกนำมาใช้ แต่มันยังอนุญาตให้ใช้การรวมกันเชิงเส้นของตัวแปรอิสระ (X1 + X2)
จากไฟล์วิธีใช้ของbptest : varformula: "โดยค่าเริ่มต้นตัวแปรอธิบายจะถูกนำมาใช้ในรูปแบบการถดถอยหลัก"
ดำเนินการต่อตัวอย่างที่เหมือนกันของ @Francis (ข้อมูลstat500จากfarawayแพ็คเกจ):
> mdl_t = lm(final ~ midterm + hw, data = stat500)
การทดสอบ BP โดยใช้ค่าติดตั้ง:
> 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
การทดสอบ BP โดยใช้ชุดการทำนายเชิงเส้น:
> 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
"ตัวเลือกการรวมกันเชิงเส้น" ช่วยให้สามารถตรวจสอบ heteroskedasticity ที่เกี่ยวข้องกับการพึ่งพาเชิงเส้นของตัวแปรอิสระที่เฉพาะเจาะจง ตัวอย่างเช่นเพียงhwตัวแปร:
> 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
สุดท้ายตามที่ @Francis สรุปว่า "ในระยะสั้นการทดสอบ BP ที่ทำให้นักเรียนมีความแข็งแกร่งกว่าแบบทดสอบดั้งเดิม" ฉันมักจะไปด้วยbptestพร้อมกับstudentize = TRUE(ค่าเริ่มต้น) และvarformula = ~ fitted.values(my.lm)เป็นตัวเลือกสำหรับวิธีการเริ่มต้นสำหรับ homoskedasticity
ncvTestและbptestใช้ตัวแปรต่าง ๆ เพื่ออธิบายส่วนที่เหลือให้ดูข้อโต้แย้งvar.formulaและvarformulaตามลำดับ ผลลัพธ์จะแตกต่างกันเมื่อคุณเพิ่ม regressor อื่นลงในตัวอย่างของคุณ