วิธีทดสอบ multicollinearity ใน stata
ความหลากหลาย ในการวิเคราะห์การถดถอยเกิดขึ้นเมื่อตัวแปรอธิบายตั้งแต่ 2 ตัวแปรขึ้นไปมีความสัมพันธ์กันสูง โดยไม่ได้ให้ข้อมูลที่ไม่ซ้ำกันหรือเป็นอิสระในแบบจำลองการถดถอย หากระดับความสัมพันธ์ระหว่างตัวแปรสูงเพียงพอ อาจทำให้เกิดปัญหาเมื่อปรับให้เหมาะสมและตีความแบบจำลองการถดถอย
ตัวอย่างเช่น สมมติว่าคุณรันการถดถอยเชิงเส้นหลายตัวด้วยตัวแปรต่อไปนี้:
การตอบสนองที่เปลี่ยนแปลงได้: การกระโดดในแนวตั้งสูงสุด
ตัวแปรอธิบาย: ขนาดรองเท้า ความสูง เวลาที่ใช้ในการฝึกซ้อม
ในกรณีนี้ ขนาดและความสูงของรองเท้าที่แปรผันตามคำอธิบายอาจมีความสัมพันธ์กันอย่างมาก เนื่องจากคนสูงมักจะมีขนาดรองเท้าที่ใหญ่กว่า ซึ่งหมายความว่าพหุคอลลิเนียร์ริตี้น่าจะเป็นปัญหาในการถดถอยนี้
โชคดีที่สามารถตรวจสอบความเป็นหลายคอลลิเนียร์ได้โดยใช้หน่วยเมตริกที่เรียกว่า variance inflation factor (VIF) ซึ่งวัดความสัมพันธ์และความแข็งแกร่งของความสัมพันธ์ระหว่างตัวแปรอธิบายในแบบจำลองการถดถอย
บทช่วยสอนนี้จะอธิบายวิธีใช้ VIF เพื่อตรวจจับความหลากหลายในการวิเคราะห์การถดถอยใน Stata
ตัวอย่าง: multicollinearity ใน Stata
สำหรับตัวอย่างนี้ เราจะใช้ชุดข้อมูลในตัวของ Stata ที่เรียกว่า auto ใช้คำสั่งต่อไปนี้เพื่อโหลดชุดข้อมูล:
ใช้โดยอัตโนมัติ
เราจะใช้คำสั่ง regress เพื่อให้พอดีกับ โมเดลการถดถอยเชิงเส้นหลายตัว โดยใช้ราคาเป็นตัวแปรตอบสนอง และน้ำหนัก ความยาว และ mpg เป็นตัวแปรอธิบาย:
การถดถอย ราคา น้ำหนัก ความยาว MPG
ต่อไป เราจะใช้คำสั่ง vive เพื่อทดสอบ multicollinearity:
มีชีวิตชีวา
สิ่งนี้จะสร้างค่า VIF สำหรับตัวแปรอธิบายแต่ละตัวในโมเดล ค่า VIF เริ่มต้นที่ 1 และไม่มีขีดจำกัดบน กฎทั่วไปสำหรับการตีความ VIF คือ:
- ค่า 1 บ่งชี้ว่าไม่มีความสัมพันธ์ระหว่างตัวแปรอธิบายที่กำหนดกับตัวแปรอธิบายอื่นๆ ในแบบจำลอง
- ค่าระหว่าง 1 ถึง 5 บ่งชี้ถึงความสัมพันธ์ระดับปานกลางระหว่างตัวแปรอธิบายที่กำหนดกับตัวแปรอธิบายอื่นๆ ในแบบจำลอง แต่มักจะไม่รุนแรงพอที่จะต้องได้รับการดูแลเป็นพิเศษ
- ค่าที่มากกว่า 5 บ่งชี้ถึงความสัมพันธ์ที่รุนแรงที่อาจเกิดขึ้นระหว่างตัวแปรอธิบายที่กำหนดกับตัวแปรอธิบายอื่นๆ ในแบบจำลอง ในกรณีนี้การประมาณค่าสัมประสิทธิ์และค่า p ในผลลัพธ์การถดถอยมีแนวโน้มว่าจะไม่น่าเชื่อถือ
เราจะเห็นว่าค่า VIF สำหรับน้ำหนักและความยาวมากกว่า 5 ซึ่งบ่งชี้ว่า multicollinearity น่าจะเป็นปัญหาในแบบจำลองการถดถอย
วิธีจัดการกับ multicollinearity
บ่อยครั้งวิธีที่ง่ายที่สุดในการจัดการกับ multicollinearity คือการลบตัวแปรปัญหาตัวใดตัวหนึ่งออก เนื่องจากตัวแปรที่คุณกำลังลบนั้นมีแนวโน้มที่จะซ้ำซ้อนอยู่แล้ว และเพิ่มข้อมูลเฉพาะหรือข้อมูลอิสระเล็กๆ น้อยๆ ให้กับโมเดล
ในการพิจารณาว่าตัวแปรใดที่จะลบออก เราสามารถใช้คำสั่ง corr เพื่อสร้าง เมทริกซ์สหสัมพันธ์ เพื่อแสดงค่าสัมประสิทธิ์สหสัมพันธ์ระหว่างตัวแปรแต่ละตัวในแบบจำลอง ซึ่งสามารถช่วยให้เราระบุได้ว่าตัวแปรใดที่อาจมีความสัมพันธ์กันอย่างมากและอาจเป็นสาเหตุให้เกิด ปัญหา multicollinearity:
ราคา น้ำหนัก ความยาว MPG
เราจะเห็นได้ว่าความยาวมีความสัมพันธ์อย่างมากกับทั้งน้ำหนักและ MPG และมีความสัมพันธ์ต่ำที่สุดกับราคาตัวแปรการตอบสนอง ดังนั้น การลบความยาวของโมเดลออกสามารถแก้ไขปัญหาพหุคอลลิเนียริตี้ได้ โดยไม่ลดคุณภาพโดยรวมของโมเดลการถดถอย
เพื่อทดสอบสิ่งนี้ เราสามารถเรียกใช้การวิเคราะห์การถดถอยอีกครั้งโดยใช้เพียงน้ำหนักและ mpg เป็นตัวแปรอธิบาย:
น้ำหนักราคาถดถอย MPG
เราจะเห็นว่าค่า R-squared ที่ปรับแล้วของรุ่นนี้คือ 0.2735 เทียบกับ 0.3298 ในรุ่นก่อนหน้า บ่งชี้ว่าประโยชน์โดยรวมของโมเดลลดลงเพียงเล็กน้อยเท่านั้น จากนั้นเราสามารถค้นหาค่า VIF โดยใช้คำสั่ง VIF :
มีชีวิตชีวา
ค่า VIF ทั้งสองมีค่าน้อยกว่า 5 แสดงว่า multicollinearity ไม่ใช่ปัญหาในโมเดลอีกต่อไป