วิธีการตีความพล็อตส่วนที่เหลือแบบโค้ง (พร้อมตัวอย่าง)


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

ตามหลักการแล้ว คุณต้องการให้จุดต่างๆ ในพล็อตที่เหลือกระจายแบบสุ่มรอบๆ ค่าศูนย์ โดยไม่มีรูปแบบที่ชัดเจน

หากคุณพบพล็อตที่เหลือซึ่งจุดพล็อตมีรูปแบบโค้ง อาจหมายความว่าแบบจำลองการถดถอยที่คุณระบุสำหรับข้อมูลไม่ถูกต้อง

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

ตัวอย่างต่อไปนี้แสดงวิธีตีความ (และแก้ไข) แผนภาพส่วนโค้งที่เหลือในทางปฏิบัติ

ตัวอย่าง: การตีความแปลงส่วนโค้งที่เหลือ

สมมติว่าเรารวบรวมข้อมูลต่อไปนี้เกี่ยวกับจำนวนชั่วโมงทำงานต่อสัปดาห์ และรายงานระดับความสุข (ในระดับ 0 ถึง 100) สำหรับคน 11 คนในสำนักงาน:

หากเราสร้างแผนกระจายชั่วโมงการทำงานเทียบกับระดับความสุขอย่างง่าย มันจะเป็นดังนี้:

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

โค้ดต่อไปนี้แสดงวิธีปรับ โมเดลการถดถอยเชิงเส้นอย่างง่าย ให้เข้ากับชุดข้อมูลนี้และสร้างพล็อตส่วนที่เหลือใน R:

 #create dataframe
df <- data. frame (hours=c(6, 9, 12, 14, 30, 35, 40, 47, 51, 55, 60),
                 happiness=c(14, 28, 50, 70, 89, 94, 90, 75, 59, 44, 27))
#fit linear regression model
linear_model <- lm(happiness ~ hours, data=df)

#get list of residuals 
res <- resid(linear_model)

#produce residual vs. fitted plot
plot(fitted(linear_model), res, xlab=' Fitted Values ', ylab=' Residuals ')

#add a horizontal line at 0 
abline(0,0)

แปลงที่เหลือโค้ง

แกน x จะแสดงค่าที่พอดี และแกน y จะแสดงค่าคงเหลือ

จากกราฟ เราจะเห็นได้ว่ามีรูปแบบโค้งในส่วนที่เหลือ ซึ่งบ่งชี้ว่าแบบจำลองการถดถอยเชิงเส้นไม่ได้ให้ความพอดีที่เหมาะสมกับชุดข้อมูลนี้

รหัสต่อไปนี้แสดงวิธีปรับ โมเดลการถดถอยกำลังสอง ให้พอดีกับชุดข้อมูลนี้และสร้างพล็อตส่วนที่เหลือใน R:

 #create dataframe
df <- data. frame (hours=c(6, 9, 12, 14, 30, 35, 40, 47, 51, 55, 60),
                 happiness=c(14, 28, 50, 70, 89, 94, 90, 75, 59, 44, 27))
#define quadratic term to use in model
df$hours2 <- df$hours^2

#fit quadratic regression model
quadratic_model <- lm(happiness ~ hours + hours2, data=df)

#get list of residuals 
res <- resid(quadratic_model)

#produce residual vs. fitted plot
plot(fitted(quadratic_model), res, xlab=' Fitted Values ', ylab=' Residuals ')

#add a horizontal line at 0 
abline(0,0) 

อีกครั้งที่แกน x จะแสดงค่าที่พอดีและแกน y จะแสดงค่าคงเหลือ

จากแผนภาพเราจะเห็นว่าสารตกค้างจะกระจัดกระจายแบบสุ่มรอบๆ ศูนย์ และไม่มีแนวโน้มที่ชัดเจนในสารตกค้าง

สิ่งนี้บอกเราว่าแบบจำลองการถดถอยกำลังสองทำงานได้ดีกว่าแบบจำลองการถดถอยเชิงเส้นได้ดีกว่ามาก

สิ่งนี้น่าจะสมเหตุสมผลเมื่อเราเห็นว่าความสัมพันธ์ที่แท้จริงระหว่างชั่วโมงทำงานกับระดับความสุขดูเหมือนจะเป็นแบบกำลังสองมากกว่าเชิงเส้น

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีสร้างแปลงที่เหลือโดยใช้ซอฟต์แวร์ทางสถิติต่างๆ:

วิธีสร้างเส้นทางตกค้างด้วยมือ
วิธีสร้างพล็อตที่เหลือใน R
วิธีการสร้างพล็อตที่เหลือใน Excel
วิธีสร้างพล็อตที่เหลือใน Python

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *