วิธีทำการทดสอบของ white ใน r (พร้อมตัวอย่าง)
การทดสอบของ White ใช้เพื่อพิจารณาว่า มีความต่างกัน ในแบบจำลองการถดถอยหรือไม่
ความต่างกันหมายถึงการกระจายตัวของ สารตกค้าง ที่ไม่สม่ำเสมอในระดับต่างๆ ของ ตัวแปรการตอบสนอง ในแบบจำลองการถดถอย ซึ่งฝ่าฝืน ข้อสันนิษฐานหลักข้อหนึ่งของการถดถอยเชิงเส้น ที่ว่าสารตกค้างจะกระจายเท่ากันในแต่ละระดับของตัวแปรตอบสนอง
บทช่วยสอนนี้จะอธิบายวิธีดำเนินการทดสอบสีขาวใน R เพื่อพิจารณาว่าความต่างกันเป็นปัญหาในแบบจำลองการถดถอยที่กำหนดหรือไม่
ตัวอย่าง: การทดสอบสีขาวใน R
ในตัวอย่างนี้ เราจะปรับ โมเดลการถดถอยเชิงเส้นหลายตัวให้พอดี โดยใช้ชุดข้อมูล R ในตัวของ mtcars
เมื่อเราติดตั้งโมเดลแล้ว เราจะใช้ฟังก์ชัน bptest จากไลบรารี lmtest เพื่อทำการทดสอบ White เพื่อตรวจสอบว่ามีความต่างจากปกติหรือไม่
ขั้นตอนที่ 1: ติดตั้งแบบจำลองการถดถอย
ขั้นแรก เราจะปรับโมเดลการถดถอยโดยใช้ mpg เป็นตัวแปรตอบสนอง และใช้ disp และ hp เป็นตัวแปรอธิบายสองตัว
#load the dataset data(mtcars) #fit a regression model model <- lm(mpg~disp+hp, data=mtcars) #view model summary summary(model) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 30.735904 1.331566 23.083 < 2nd-16 *** available -0.030346 0.007405 -4.098 0.000306 *** hp -0.024840 0.013385 -1.856 0.073679 . --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 3.127 on 29 degrees of freedom Multiple R-squared: 0.7482, Adjusted R-squared: 0.7309 F-statistic: 43.09 on 2 and 29 DF, p-value: 2.062e-09
ขั้นตอนที่ 2: ทำการทดสอบของ White
ต่อไป เราจะใช้ไวยากรณ์ต่อไปนี้เพื่อทำการทดสอบของ White เพื่อพิจารณาว่ามีภาวะเฮเทอโรสซิดาสติกหรือไม่:
#load lmtest library library(lmtest) #perform White's test bptest(model, ~ disp*hp + I(disp^2) + I(hp^2), data = mtcars) studentized Breusch-Pagan test data: model BP = 7.0766, df = 5, p-value = 0.215
ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:
- สถิติการทดสอบคือ X2 = 7.0766
- องศาอิสระคือ 5
- ค่า p ที่สอดคล้องกันคือ 0.215
การทดสอบสีขาวใช้สมมติฐานว่างและทางเลือกต่อไปนี้:
- Null (H 0 ) : มี Homoskedasticity อยู่
- ทางเลือกอื่น ( HA ): มี Heteroskedasticity อยู่
เนื่องจากค่า p ไม่น้อยกว่า 0.05 เราจึงไม่สามารถปฏิเสธสมมติฐานว่างได้ เราไม่มีหลักฐานเพียงพอที่จะอ้างว่ามีความต่างกันในแบบจำลองการถดถอย
จะทำอย่างไรต่อไป
หากคุณล้มเหลวในการปฏิเสธสมมติฐานว่างของการทดสอบของไวท์ จะไม่มีภาวะเฮเทอโรสเคดาสติก และคุณสามารถดำเนินการตีความผลลัพธ์ของการถดถอยดั้งเดิมได้
อย่างไรก็ตาม หากคุณปฏิเสธสมมติฐานว่าง นั่นหมายความว่าข้อมูลมีความต่างกันออกไป ในกรณีนี้ ข้อผิดพลาดมาตรฐานที่แสดงในตารางผลลัพธ์การถดถอยอาจไม่น่าเชื่อถือ
มีวิธีทั่วไปหลายวิธีในการแก้ไขปัญหานี้ ได้แก่:
1. แปลงตัวแปรการตอบสนอง
คุณสามารถลองทำการแปลงตัวแปรตอบกลับได้ เช่น นำ บันทึก รากที่สอง หรือรากที่สาม ของตัวแปรตอบกลับ โดยทั่วไปสิ่งนี้อาจทำให้ความต่างกันหายไปได้
2. ใช้การถดถอยแบบถ่วงน้ำหนัก
การถดถอยแบบถ่วงน้ำหนัก จะกำหนดน้ำหนักให้กับจุดข้อมูลแต่ละจุดโดยพิจารณาจากความแปรปรวนของค่าที่พอดี โดยพื้นฐานแล้ว สิ่งนี้จะให้น้ำหนักที่ต่ำแก่จุดข้อมูลที่มีความแปรปรวนสูงกว่า ช่วยลดกำลังสองที่เหลือ เมื่อใช้ตุ้มน้ำหนักที่เหมาะสม สิ่งนี้สามารถขจัดปัญหาเรื่องความแตกต่างได้