คำนวณ VIF
อย่างที่ได้เรียนรู้จากวิดีโอ หนึ่งในเครื่องมือวินิจฉัยปัญหา multicollinearity ที่ใช้กันอย่างแพร่หลายที่สุดคือ variance inflation factor หรือ VIF ซึ่งคำนวณสำหรับตัวแปรอธิบายแต่ละตัว
จากที่เรียนในวิดีโอ ค่าเกณฑ์ที่ใช้เป็นแนวทางคือ VIF ที่ระดับ 2.5 หมายความว่าหาก VIF สูงกว่า 2.5 ควรพิจารณาว่าโมเดลที่ฟิตไว้ได้รับผลกระทบจาก multicollinearity
model ที่ฟิตไว้ก่อนหน้าและชุดข้อมูล crab ถูกโหลดไว้ใน workspace แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Generalized Linear Models ใน Python
คำแนะนำการฝึกหัด
- นำเข้า
variance_inflation_factorจากstatsmodels - เลือกคอลัมน์
weight,widthและcolorจากชุดข้อมูลcrabแล้วบันทึกเป็นXจากนั้นเพิ่มคอลัมน์Interceptที่มีค่าเป็นหนึ่งลงในX - ใช้ฟังก์ชัน
DataFrame()ของpandasสร้าง dataframevifที่ว่างเปล่า แล้วเพิ่มชื่อคอลัมน์ของXลงในคอลัมน์Variables - คำนวณ VIF สำหรับตัวแปรแต่ละตัวโดยใช้ฟังก์ชัน
variance_inflation_factor()และบันทึกผลลัพธ์ลงใน dataframevifในคอลัมน์ชื่อVIF
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import functions
from statsmodels.stats.outliers_influence import ____
# Get variables for which to compute VIF and add intercept term
X = ____[[____, ____, ____]]
X[____] = 1
# Compute and view VIF
vif = pd.____
vif["variables"] = X.____
vif["VIF"] = [____(X.values, i) for i in range(X.shape[1])]
# View results using print
____(____)