การสร้างโมเดล Stepwise Regression
เมื่อไม่มีความเชี่ยวชาญเฉพาะด้าน stepwise regression ช่วยในการค้นหาตัวทำนายที่สำคัญที่สุดสำหรับผลลัพธ์ที่ต้องการได้
ในแบบฝึกหัดนี้ จะใช้แนวทาง forward stepwise เพื่อเพิ่มตัวทำนายเข้าไปในโมเดลทีละตัว จนกว่าจะไม่เห็นประโยชน์เพิ่มเติม โดยได้โหลดชุดข้อมูล donors ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Supervised Learning in R: Classification
คำแนะนำการฝึกหัด
- ใช้ R formula interface กับ
glm()เพื่อกำหนดโมเดลฐานที่ไม่มีตัวทำนาย โดยตั้งค่าตัวแปรอธิบายเท่ากับ1 - ใช้ R formula interface อีกครั้งกับ
glm()เพื่อกำหนดโมเดลที่มีตัวทำนายทั้งหมด - ใช้
step()กับโมเดลเหล่านี้เพื่อดำเนินการ forward stepwise regression โดยตั้งค่าอาร์กิวเมนต์แรกเป็นnull_modelและตั้งdirection = "forward"ขั้นตอนนี้อาจใช้เวลาสักครู่ (ประมาณ 10 ถึง 15 วินาที) เนื่องจากคอมพิวเตอร์ต้องฟิตโมเดลหลายรูปแบบเพื่อทำการคัดเลือกแบบ stepwise - สร้างเวกเตอร์ของค่าความน่าจะเป็นที่ทำนายได้โดยใช้ฟังก์ชัน
predict() - พล็อต ROC curve ด้วย
roc()และplot()จากนั้นคำนวณค่า AUC ของโมเดล stepwise ด้วยauc()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Specify a null model with no predictors
null_model <- ___(___, data = ___, family = "___")
# Specify the full model using all of the potential predictors
full_model <- ___
# Use a forward stepwise algorithm to build a parsimonious model
step_model <- step(___, scope = list(lower = null_model, upper = full_model), direction = "___")
# Estimate the stepwise donation probability
step_prob <- ___
# Plot the ROC of the stepwise model
library(pROC)
ROC <- ___
plot(___, col = "red")
auc(___)