เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

คำนวณ 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 สร้าง dataframe vif ที่ว่างเปล่า แล้วเพิ่มชื่อคอลัมน์ของ X ลงในคอลัมน์ Variables
  • คำนวณ VIF สำหรับตัวแปรแต่ละตัวโดยใช้ฟังก์ชัน variance_inflation_factor() และบันทึกผลลัพธ์ลงใน dataframe vif ในคอลัมน์ชื่อ 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
____(____)
แก้ไขและรันโค้ด