วิธีการพล็อตผลลัพธ์การถดถอยเชิงเส้นหลายรายการใน r
เมื่อเราทำการ ถดถอยเชิงเส้นอย่างง่าย ใน R มันเป็นเรื่องง่ายที่จะเห็นเส้นการถดถอยที่ติดตั้งไว้ เนื่องจากเรากำลังทำงานกับตัวแปรตัวทำนายตัวเดียวและ ตัวแปรตอบสนอง ตัวเดียวเท่านั้น
ตัวอย่างเช่น โค้ดต่อไปนี้แสดงวิธีปรับโมเดลการถดถอยเชิงเส้นอย่างง่ายให้พอดีกับชุดข้อมูลและพล็อตผลลัพธ์:
#create dataset data <- data.frame(x = c(1, 1, 2, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11), y = c(13, 14, 17, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41)) #fit simple linear regression model model <- lm(y ~ x, data = data) #create scatterplot of data plot(data$x, data$y) #add fitted regression line abline(model)

อย่างไรก็ตาม เมื่อเราทำการ ถดถอยเชิงเส้นหลายครั้ง การมองเห็นผลลัพธ์จะกลายเป็นเรื่องยาก เนื่องจากมีตัวแปรทำนายหลายตัว และเราไม่สามารถพล็อตเส้นการถดถอยบนกราฟ 2 มิติได้ง่ายๆ
แต่เราสามารถใช้ แปลงตัวแปรเพิ่มเติม (บางครั้งเรียกว่า “แปลงการถดถอยบางส่วน”) ซึ่งเป็นแต่ละแปลงที่แสดงความสัมพันธ์ระหว่างตัวแปรตอบสนองและตัวแปรทำนาย ในขณะที่ควบคุมการมีอยู่ของตัวแปรทำนายอื่นๆ ในแบบจำลอง
ตัวอย่างต่อไปนี้แสดงวิธีการถดถอยเชิงเส้นหลายรายการใน R และแสดงภาพผลลัพธ์โดยใช้แปลงตัวแปรที่ต่อท้าย
ตัวอย่าง: การพล็อตผลลัพธ์การถดถอยเชิงเส้นพหุคูณใน R
สมมติว่าเราใส่โมเดลการถดถอยเชิงเส้นหลายตัวต่อไปนี้กับชุดข้อมูลใน R โดยใช้ชุดข้อมูล mtcars ในตัว:
#fit multiple linear regression model
model <- lm(mpg ~ disp + hp + drat, data = mtcars)
#view results of model
summary(model)
Call:
lm(formula = mpg ~ disp + hp + drat, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-5.1225 -1.8454 -0.4456 1.1342 6.4958
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 19.344293 6.370882 3.036 0.00513 **
available -0.019232 0.009371 -2.052 0.04960 *
hp -0.031229 0.013345 -2.340 0.02663 *
drat 2.714975 1.487366 1.825 0.07863 .
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3.008 on 28 degrees of freedom
Multiple R-squared: 0.775, Adjusted R-squared: 0.7509
F-statistic: 32.15 on 3 and 28 DF, p-value: 3.28e-09
จากผลลัพธ์จะพบว่าค่า p ของสัมประสิทธิ์แต่ละตัวมีค่าน้อยกว่า 0.1 เพื่อความง่าย เราจะถือว่าตัวแปรทำนายแต่ละตัวมีนัยสำคัญและควรรวมไว้ในแบบจำลอง
ในการสร้างแปลงของตัวแปรต่อท้าย เราสามารถใช้ฟังก์ชัน avPlots() จากแพ็คเกจ car :
#load car package
library(car)
#produce added variable plots
avPlots(model)

ต่อไปนี้เป็นวิธีตีความแต่ละพล็อต:
- แกน x จะแสดงตัวแปรทำนายเดี่ยว และแกน y จะแสดงตัวแปรการตอบสนอง
- เส้นสีน้ำเงินแสดงความสัมพันธ์ระหว่างตัวแปรทำนายและตัวแปรตอบสนอง ในขณะที่คงค่าของตัวแปรทำนายอื่นๆ ทั้งหมดไว้คงที่
- จุดที่ติดป้ายกำกับในแต่ละกราฟแสดงถึง การสังเกต 2 ครั้งที่มี ปริมาณคงเหลือ มากที่สุด และการสังเกต 2 ครั้งที่มีการงัดบางส่วนที่ใหญ่ที่สุด
โปรดทราบว่ามุมของเส้นในแต่ละโครงสอดคล้องกับเครื่องหมายของสัมประสิทธิ์ของสมการการถดถอยโดยประมาณ
ตัวอย่างเช่น ต่อไปนี้เป็นค่าสัมประสิทธิ์โดยประมาณสำหรับตัวแปรทำนายแต่ละตัวในแบบจำลอง:
- จอแสดงผล: -0.019232
- ช: -0.031229
- วันที่: 2.714975
โปรดทราบว่ามุมของเส้นเป็นบวกในพล็อตตัวแปรที่เพิ่มสำหรับ drat ในขณะที่มุมของเส้นเป็นลบสำหรับ disp และ hp ซึ่งสอดคล้องกับสัญญาณของสัมประสิทธิ์โดยประมาณ:

แม้ว่าเราจะไม่สามารถพล็อตเส้นการถดถอยพอดีเส้นเดียวบนกราฟ 2 มิติได้ เนื่องจากเรามีตัวแปรทำนายหลายตัว กราฟตัวแปรที่เพิ่มเข้ามาเหล่านี้ช่วยให้เราสามารถสังเกตความสัมพันธ์ระหว่างตัวแปรทำนายแต่ละตัวและตัวแปรตอบสนอง ในขณะที่คงตัวแปรทำนายอื่นๆ ไว้คงที่