วิธีการคำนวณ variance inflation factor (vif) ใน sas


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

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

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

บทช่วยสอนนี้จะอธิบายวิธีคำนวณ VIF ใน SAS

ตัวอย่าง: การคำนวณ VIF ใน SAS

สำหรับตัวอย่างนี้ เราจะสร้างชุดข้อมูลที่อธิบายคุณสมบัติของผู้เล่นบาสเก็ตบอล 10 คน:

 /*create dataset*/
data my_data;
    input rating points assists rebounds;
    datalines ;
90 25 5 11
85 20 7 8
82 14 7 10
88 16 8 6
94 27 5 6
90 20 7 9
76 12 6 6
75 15 9 10
87 14 9 10
86 19 5 7
;
run ;

/*view dataset*/
proc print data =my_data; 

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

เราสามารถใช้ PROC REG เพื่อให้เหมาะสมกับโมเดลการถดถอยนี้ด้วยตัวเลือก VIF เพื่อคำนวณค่า VIF สำหรับตัวแปรทำนายแต่ละตัวในโมเดล:

 /*fit regression model and calculate VIF values*/
proc reg data =my_data;
    model rating = points assists rebounds / lively ;
run ; 

VIF ใน SAS

จากตาราง การประมาณค่าพารามิเตอร์ เราจะเห็นค่า VIF ของตัวแปรทำนายแต่ละตัว:

  • คะแนน: 1.76398
  • แอสซิสต์: 1.96591
  • รีบาวด์: 1.17503

หมายเหตุ: ไม่ต้องสนใจ VIF สำหรับ “Intercept” ในเทมเพลต เนื่องจากค่านี้ไม่เกี่ยวข้อง

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

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

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

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

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

1. ลบตัวแปรที่มีความสัมพันธ์สูงอย่างน้อยหนึ่งตัวออก

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

2. รวมตัวแปรทำนายในลักษณะเชิงเส้นตรงด้วยวิธีใดวิธีหนึ่ง เช่น การบวกหรือการลบตัวแปรเหล่านั้นด้วยวิธีใดวิธีหนึ่ง

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

3. ทำการวิเคราะห์ที่ออกแบบมาเพื่อพิจารณาตัวแปรที่มีความสัมพันธ์สูง เช่น การวิเคราะห์องค์ประกอบหลัก หรือการถดถอยกำลังสองน้อยที่สุดบางส่วน (PLS)

เทคนิคเหล่านี้ได้รับการออกแบบมาโดยเฉพาะเพื่อจัดการกับตัวแปรตัวทำนายที่มีความสัมพันธ์กันสูง

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:

วิธีดำเนินการถดถอยเชิงเส้นพหุคูณใน SAS
วิธีสร้างพล็อตคงเหลือใน SAS
วิธีคำนวณระยะปรุงอาหารใน SAS

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

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