วิธีทำการทดสอบ goldfeld-quandt ใน r


การทดสอบ Goldfeld-Quandt ใช้เพื่อพิจารณาว่า มีภาวะเฮเทอโรสเคดา สติกในแบบจำลองการถดถอยหรือไม่

Heteroskedasticity หมายถึงการกระจายตัวของ สารตกค้าง ที่ไม่สม่ำเสมอในระดับต่างๆ ของ ตัวแปรตอบสนอง ในแบบจำลองการถดถอย

หากมีความต่างกันเกิดขึ้น จะเป็นการฝ่าฝืน สมมติฐานหลักข้อใดข้อหนึ่งของการถดถอยเชิงเส้น ที่ว่าส่วนที่เหลือจะกระจายเท่ากันในแต่ละระดับของตัวแปรตอบสนอง

บทช่วยสอนนี้ให้ตัวอย่างทีละขั้นตอนของวิธีดำเนินการทดสอบ Goldfeld-Quandt ใน R เพื่อพิจารณาว่ามีภาวะเฮเทอโรสซิดาสติกในแบบจำลองการถดถอยที่กำหนดหรือไม่

ขั้นตอนที่ 1: สร้างแบบจำลองการถดถอย

ขั้นแรก เราจะสร้าง โมเดลการถดถอยเชิงเส้นหลายตัว โดยใช้ชุดข้อมูล mtcars ที่สร้างไว้ใน R:

 #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: ทำการทดสอบ Goldfeld-Quandt

ต่อไป เราจะใช้ฟังก์ชัน gqtest() จากแพ็คเกจ lmtest เพื่อทำการทดสอบ Goldfeld-Quandt เพื่อตรวจสอบว่ามีความต่างกันหรือไม่

ฟังก์ชันนี้ใช้ไวยากรณ์ต่อไปนี้:

gqtest(โมเดล, order.by, ข้อมูล, เศษส่วน)

ทอง:

  • model: โมเดลการถดถอยเชิงเส้นที่สร้างโดยคำสั่ง lm()
  • order.by: ตัวแปรทำนายของโมเดล
  • data: ชื่อของชุดข้อมูล
  • เศษส่วน*: จำนวนการสังเกตส่วนกลางที่จะลบออกจากชุดข้อมูล

*การทดสอบ Goldfeld-Quandt ทำงานโดยลบข้อสังเกตจำนวนหนึ่งที่อยู่ตรงกลางชุดข้อมูลออก แล้วทดสอบเพื่อดูว่าการกระจายตัวของส่วนที่เหลือแตกต่างจากชุดข้อมูลผลลัพธ์สองชุดที่อยู่ด้านใดด้านหนึ่งของชุดข้อมูลหรือไม่ การสังเกตจากส่วนกลาง

โดยทั่วไป เราเลือกที่จะลบการสังเกตประมาณ 20% ของการสังเกตทั้งหมด ในกรณีนี้ mtcars มีการสังเกตทั้งหมด 32 รายการ ดังนั้นเราจึงสามารถเลือกที่จะลบการสังเกตส่วนกลาง 7 รายการออก:

 #load lmtest library
library(lmtest)

#perform the Goldfeld Quandt test
gqtest(model, order.by = ~disp+hp, data = mtcars, fraction = 7)

	Goldfeld-Quandt test

data: model
GQ = 1.0316, df1 = 10, df2 = 9, p-value = 0.486
alternative hypothesis: variance increases from segment 1 to 2

ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:

  • สถิติการทดสอบคือ 1.0316
  • ค่า p ที่สอดคล้องกันคือ 0.486

การทดสอบ Goldfeld-Quandt ใช้สมมติฐานว่างและทางเลือกต่อไปนี้:

  • Null (H 0 ) : มี Homoskedasticity อยู่
  • ทางเลือกอื่น ( HA ): มี Heteroskedasticity อยู่

เนื่องจากค่า p ไม่น้อยกว่า 0.05 เราจึงไม่สามารถปฏิเสธสมมติฐานว่างได้ เราไม่มีหลักฐานเพียงพอที่จะอ้างว่ามีความต่างกันในแบบจำลองการถดถอย

จะทำอย่างไรต่อไป

หากคุณล้มเหลวในการปฏิเสธสมมติฐานว่างของการทดสอบ Goldfeld-Quandt จะไม่มีภาวะเฮเทอโรสเคดาสติก และคุณสามารถดำเนินการตีความผลลัพธ์ของการถดถอยดั้งเดิมได้

อย่างไรก็ตาม หากคุณปฏิเสธสมมติฐานว่าง นั่นหมายความว่าข้อมูลมีความต่างกันออกไป ในกรณีนี้ ข้อผิดพลาดมาตรฐานที่แสดงในตารางผลลัพธ์การถดถอยอาจไม่น่าเชื่อถือ

มีวิธีทั่วไปหลายวิธีในการแก้ไขปัญหานี้ ได้แก่:

1. แปลงตัวแปรการตอบสนอง

คุณสามารถลองทำการแปลงตัวแปรตอบกลับได้ เช่น นำ บันทึก รากที่สอง หรือรากที่สาม ของตัวแปรตอบกลับ โดยทั่วไปสิ่งนี้อาจทำให้ความต่างกันหายไปได้

2. ใช้การถดถอยแบบถ่วงน้ำหนัก

การถดถอยแบบถ่วงน้ำหนักจะกำหนดน้ำหนักให้กับจุดข้อมูลแต่ละจุดโดยพิจารณาจากความแปรปรวนของค่าที่พอดี โดยพื้นฐานแล้ว สิ่งนี้จะให้น้ำหนักที่ต่ำแก่จุดข้อมูลที่มีความแปรปรวนสูงกว่า ช่วยลดกำลังสองที่เหลือ

เมื่อใช้ตุ้มน้ำหนักที่เหมาะสม การถดถอยแบบถ่วงน้ำหนักสามารถขจัดปัญหาการเกิดเฮเทอโรสซิดาสติกซิตีได้

แหล่งข้อมูลเพิ่มเติม

วิธีดำเนินการถดถอยเชิงเส้นพหุคูณใน R
วิธีทำการทดสอบของ White ใน R
วิธีทำการทดสอบ Breusch-Pagan ใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *