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

การหลีกเลี่ยง Multicollinearity

กลับมาที่ชุดข้อมูลการขาย salesData ซึ่งโหลดไว้ในพื้นที่ทำงานแล้ว นอกจากนี้ยังโหลดแพ็กเกจ rms ไว้ด้วย

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

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Machine Learning for Marketing Analytics ใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้างโมเดลเต็มรูปแบบชื่อ salesModel1 โดยใช้ตัวแปรทั้งหมดยกเว้น id เพื่ออธิบายยอดขายในเดือนนี้ โดยกรอกชื่อตัวแปรที่ถูกต้องลงในโครงสร้างตัวอย่างต่อไปนี้: response ~ . - excluded_variable ซึ่งหมายความว่า "response ถูกอธิบายด้วยตัวแปรทั้งหมดยกเว้น excluded_variable"
  • ประมาณค่า Variance Inflation Factor โดยใช้ฟังก์ชัน vif() จากแพ็กเกจ rms
  • นอกจากการตัด id ออกแล้ว ให้ตัดตัวแปร preferredBrand และ nBrands ออกด้วยเพื่อหลีกเลี่ยง multicollinearity โดยเติม - นำหน้าตัวแปรแต่ละตัว แล้วบันทึกโมเดลในออบเจกต์ชื่อ salesModel2
  • ประมาณค่า Variance Inflation Factor ของโมเดลใหม่อีกครั้ง ผลลัพธ์ที่ได้เป็นที่ยอมรับได้แล้วหรือไม่?

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Estimating the full model
salesModel1 <- lm(salesThisMon ~ . - ___, 
                 data = salesData)

# Checking variance inflation factors
vif(___)

# Estimating new model by removing information on brand
salesModel2 <- lm(salesThisMon ~ . - ___, 
                 data = ___)

# Checking variance inflation factors
___
แก้ไขและรันโค้ด