วิธีใช้ regsubsets() ใน r สำหรับการเลือกรุ่น
คุณสามารถใช้ฟังก์ชัน regsubsets() จากแพ็คเกจ leaps ใน R เพื่อค้นหาเซตย่อยของตัวแปรทำนายที่สร้างแบบจำลองการถดถอยที่ดีที่สุด
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่าง: การใช้ regsubsets() สำหรับการเลือกรุ่นใน R
สำหรับตัวอย่างนี้ เราจะใช้ชุดข้อมูล mtcars ที่สร้างไว้ใน R ซึ่งมีการวัดคุณลักษณะที่แตกต่างกัน 11 รายการสำหรับรถยนต์ 32 คัน
#view first six rows of mtcars dataset
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1
สมมติว่าเราต้องการปรับโมเดลการถดถอยโดยใช้ hp เป็นตัวแปรตอบสนองและตัวแปรทำนายที่เป็นไปได้ต่อไปนี้:
- mpg
- น้ำหนัก
- อึ
- คิววินาที
เราสามารถใช้ฟังก์ชัน regsubsets() จากแพ็คเกจ leaps เพื่อค้นหาแบบจำลองการถดถอยที่ดีที่สุด:
library (leaps)
#find best regression model
bestSubsets <- regsubsets(hp ~ mpg + wt + drat + qsec, data=mtcars)
#view results
summary(bestSubsets)
Subset selection object
Call: regsubsets.formula(hp ~ mpg + wt + drat + qsec, data = mtcars)
4 Variables (and intercept)
Forced in Forced out
mpg FALSE FALSE
wt FALSE FALSE
drat FALSE FALSE
qsec FALSE FALSE
1 subsets of each size up to 4
Selection Algorithm: exhaustive
mpg wt drat qsec
1 ( 1 ) "*" " " " " " "
2 (1) " " "*" " " "*"
3 ( 1 ) “*” “*” “ “ “*”
4 ( 1 ) “*” “*” “*” “*”
ดาว ( * ) ที่ด้านล่างของผลลัพธ์จะระบุว่าตัวแปรตัวทำนายใดอยู่ในแบบจำลองการถดถอยที่ดีที่สุดสำหรับแบบจำลองที่เป็นไปได้แต่ละแบบโดยมีจำนวนตัวแปรตัวทำนายที่แตกต่างกัน
ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:
สำหรับโมเดลที่มีตัวแปรทำนายเดี่ยว โมเดลการถดถอยที่ดีที่สุดจะถูกสร้างขึ้นโดยใช้ mpg เป็นตัวแปรทำนาย
สำหรับแบบจำลองที่มีตัวแปรทำนายสองตัว แบบจำลองการถดถอยที่ดีที่สุดจะถูกสร้างขึ้นโดยใช้ wt และ qsec เป็นตัวแปรทำนาย
สำหรับโมเดลที่มีตัวแปรทำนายสามตัว โมเดลการถดถอยที่ดีที่สุดจะถูกสร้างขึ้นโดยใช้ mpg , wt และ qsec เป็นตัวแปรทำนาย
สำหรับโมเดลที่มีตัวแปรทำนายสี่ตัว โมเดลการถดถอยที่ดีที่สุดจะถูกสร้างขึ้นโดยใช้ mpg , wt , drat และ qsec เป็นตัวแปรทำนาย
โปรดทราบว่าคุณยังสามารถแยกเมตริกต่อไปนี้สำหรับแต่ละรุ่นได้:
- rsq : ค่า r กำลังสอง สำหรับแต่ละรุ่น
- RSS : ผลรวมที่เหลือของกำลังสองสำหรับแต่ละรุ่น
- adjr2 : ค่า r-squared ที่ปรับแล้ว สำหรับแต่ละรุ่น
- cp : Cp ของ Mallows ในแต่ละรุ่น
- bic : ค่า BIC สำหรับแต่ละรุ่น
ตัวอย่างเช่น เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแยกค่า R-squared ที่พอดีสำหรับโมเดลที่ดีที่สุดสี่รุ่น:
#view adjusted R-squared value of each model
summary(bestSubsets)$adjr2
[1] 0.5891853 0.7828169 0.7858829 0.7787005
จากผลลัพธ์เราจะเห็นได้ว่า:
- ค่า R-squared ที่ปรับแล้วสำหรับโมเดลที่มี mpg เป็นตัวแปรทำนายคือ 0.589
- ค่า R-squared ที่ปรับแล้วสำหรับโมเดลที่มี wt และ qsec เป็นตัวแปรทำนายคือ 0.783
- ค่า R-squared ที่ปรับแล้วสำหรับโมเดลที่มี mp g , wt และ qsec เป็นตัวแปรทำนายคือ 0.786
- ค่า R-squared ที่ปรับแล้วสำหรับโมเดลที่มี mpg , wt , drat และ qsec เป็นตัวแปรทำนายคือ 0.779
ค่าเหล่านี้ทำให้เราเข้าใจได้ว่าชุดตัวแปรทำนายทำนายค่าของตัวแปรตอบสนองได้ดีเพียงใด โดยปรับตามจำนวนตัวแปรทำนายในแบบจำลอง
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีดำเนินการถดถอยเชิงเส้นพหุคูณใน R
วิธีการถดถอยทีละชิ้นใน R
วิธีดำเนินการถดถอยเส้นโค้งใน R