วิธีทดสอบ multicollinearity ใน stata


ความหลากหลาย ในการวิเคราะห์การถดถอยเกิดขึ้นเมื่อตัวแปรอธิบายตั้งแต่ 2 ตัวแปรขึ้นไปมีความสัมพันธ์กันสูง โดยไม่ได้ให้ข้อมูลที่ไม่ซ้ำกันหรือเป็นอิสระในแบบจำลองการถดถอย หากระดับความสัมพันธ์ระหว่างตัวแปรสูงเพียงพอ อาจทำให้เกิดปัญหาเมื่อปรับให้เหมาะสมและตีความแบบจำลองการถดถอย

ตัวอย่างเช่น สมมติว่าคุณรันการถดถอยเชิงเส้นหลายตัวด้วยตัวแปรต่อไปนี้:

การตอบสนองที่เปลี่ยนแปลงได้: การกระโดดในแนวตั้งสูงสุด

ตัวแปรอธิบาย: ขนาดรองเท้า ความสูง เวลาที่ใช้ในการฝึกซ้อม

ในกรณีนี้ ขนาดและความสูงของรองเท้าที่แปรผันตามคำอธิบายอาจมีความสัมพันธ์กันอย่างมาก เนื่องจากคนสูงมักจะมีขนาดรองเท้าที่ใหญ่กว่า ซึ่งหมายความว่าพหุคอลลิเนียร์ริตี้น่าจะเป็นปัญหาในการถดถอยนี้

โชคดีที่สามารถตรวจสอบความเป็นหลายคอลลิเนียร์ได้โดยใช้หน่วยเมตริกที่เรียกว่า variance inflation factor (VIF) ซึ่งวัดความสัมพันธ์และความแข็งแกร่งของความสัมพันธ์ระหว่างตัวแปรอธิบายในแบบจำลองการถดถอย

บทช่วยสอนนี้จะอธิบายวิธีใช้ VIF เพื่อตรวจจับความหลากหลายในการวิเคราะห์การถดถอยใน Stata

ตัวอย่าง: multicollinearity ใน Stata

สำหรับตัวอย่างนี้ เราจะใช้ชุดข้อมูลในตัวของ Stata ที่เรียกว่า auto ใช้คำสั่งต่อไปนี้เพื่อโหลดชุดข้อมูล:

ใช้โดยอัตโนมัติ

เราจะใช้คำสั่ง regress เพื่อให้พอดีกับ โมเดลการถดถอยเชิงเส้นหลายตัว โดยใช้ราคาเป็นตัวแปรตอบสนอง และน้ำหนัก ความยาว และ mpg เป็นตัวแปรอธิบาย:

การถดถอย ราคา น้ำหนัก ความยาว MPG

เอาต์พุตการถดถอยเชิงเส้นหลายตัวใน Stata

ต่อไป เราจะใช้คำสั่ง vive เพื่อทดสอบ multicollinearity:

มีชีวิตชีวา

VIF ใน Stata

สิ่งนี้จะสร้างค่า VIF สำหรับตัวแปรอธิบายแต่ละตัวในโมเดล ค่า VIF เริ่มต้นที่ 1 และไม่มีขีดจำกัดบน กฎทั่วไปสำหรับการตีความ VIF คือ:

  • ค่า 1 บ่งชี้ว่าไม่มีความสัมพันธ์ระหว่างตัวแปรอธิบายที่กำหนดกับตัวแปรอธิบายอื่นๆ ในแบบจำลอง
  • ค่าระหว่าง 1 ถึง 5 บ่งชี้ถึงความสัมพันธ์ระดับปานกลางระหว่างตัวแปรอธิบายที่กำหนดกับตัวแปรอธิบายอื่นๆ ในแบบจำลอง แต่มักจะไม่รุนแรงพอที่จะต้องได้รับการดูแลเป็นพิเศษ
  • ค่าที่มากกว่า 5 บ่งชี้ถึงความสัมพันธ์ที่รุนแรงที่อาจเกิดขึ้นระหว่างตัวแปรอธิบายที่กำหนดกับตัวแปรอธิบายอื่นๆ ในแบบจำลอง ในกรณีนี้การประมาณค่าสัมประสิทธิ์และค่า p ในผลลัพธ์การถดถอยมีแนวโน้มว่าจะไม่น่าเชื่อถือ

เราจะเห็นว่าค่า VIF สำหรับน้ำหนักและความยาวมากกว่า 5 ซึ่งบ่งชี้ว่า multicollinearity น่าจะเป็นปัญหาในแบบจำลองการถดถอย

วิธีจัดการกับ multicollinearity

บ่อยครั้งวิธีที่ง่ายที่สุดในการจัดการกับ multicollinearity คือการลบตัวแปรปัญหาตัวใดตัวหนึ่งออก เนื่องจากตัวแปรที่คุณกำลังลบนั้นมีแนวโน้มที่จะซ้ำซ้อนอยู่แล้ว และเพิ่มข้อมูลเฉพาะหรือข้อมูลอิสระเล็กๆ น้อยๆ ให้กับโมเดล

ในการพิจารณาว่าตัวแปรใดที่จะลบออก เราสามารถใช้คำสั่ง corr เพื่อสร้าง เมทริกซ์สหสัมพันธ์ เพื่อแสดงค่าสัมประสิทธิ์สหสัมพันธ์ระหว่างตัวแปรแต่ละตัวในแบบจำลอง ซึ่งสามารถช่วยให้เราระบุได้ว่าตัวแปรใดที่อาจมีความสัมพันธ์กันอย่างมากและอาจเป็นสาเหตุให้เกิด ปัญหา multicollinearity:

ราคา น้ำหนัก ความยาว MPG

เมทริกซ์สหสัมพันธ์ใน Stata

เราจะเห็นได้ว่าความยาวมีความสัมพันธ์อย่างมากกับทั้งน้ำหนักและ MPG และมีความสัมพันธ์ต่ำที่สุดกับราคาตัวแปรการตอบสนอง ดังนั้น การลบความยาวของโมเดลออกสามารถแก้ไขปัญหาพหุคอลลิเนียริตี้ได้ โดยไม่ลดคุณภาพโดยรวมของโมเดลการถดถอย

เพื่อทดสอบสิ่งนี้ เราสามารถเรียกใช้การวิเคราะห์การถดถอยอีกครั้งโดยใช้เพียงน้ำหนักและ mpg เป็นตัวแปรอธิบาย:

น้ำหนักราคาถดถอย MPG

เอาต์พุตการถดถอยเชิงเส้นหลายตัวใน Stata

เราจะเห็นว่าค่า R-squared ที่ปรับแล้วของรุ่นนี้คือ 0.2735 เทียบกับ 0.3298 ในรุ่นก่อนหน้า บ่งชี้ว่าประโยชน์โดยรวมของโมเดลลดลงเพียงเล็กน้อยเท่านั้น จากนั้นเราสามารถค้นหาค่า VIF โดยใช้คำสั่ง VIF :

มีชีวิตชีวา

ค่า VIF ใน Stata

ค่า VIF ทั้งสองมีค่าน้อยกว่า 5 แสดงว่า multicollinearity ไม่ใช่ปัญหาในโมเดลอีกต่อไป

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

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