วิธีการคำนวณ r-squared ที่ปรับแล้วใน r
R-squared ซึ่งมักเขียน ว่า R2 คือสัดส่วนของความแปรปรวนใน ตัวแปรตอบสนอง ที่สามารถอธิบายได้ด้วยตัวแปรทำนายใน แบบจำลองการถดถอยเชิงเส้น
ค่าของ R กำลังสองสามารถอยู่ในช่วงตั้งแต่ 0 ถึง 1 ค่า 0 บ่งชี้ว่าตัวแปรตอบสนองไม่สามารถอธิบายได้ด้วยตัวแปรทำนายเลย ในขณะที่ค่า 1 บ่งชี้ว่าตัวแปรตอบสนองสามารถอธิบายได้ด้วยตัวแปรทำนาย ผู้ทำนายอธิบายได้ครบถ้วนไม่มีข้อผิดพลาด ตัวแปร
R-squared ที่ปรับปรุงแล้ว คือ R-squared เวอร์ชันแก้ไขที่ปรับตามจำนวนตัวทำนายในแบบจำลองการถดถอย มีการคำนวณดังนี้:
ปรับแล้ว R 2 = 1 – [(1-R 2 )*(n-1)/(nk-1)]
ทอง:
- R 2 : R 2 ของรุ่น
- n : จำนวนการสังเกต
- k : จำนวนตัวแปรทำนาย
เนื่องจาก R2 จะเพิ่มขึ้นเสมอเมื่อคุณเพิ่มตัวทำนายให้กับโมเดล R2 ที่ปรับปรุงแล้วจึงสามารถใช้เป็นตัวชี้วัดที่บอกคุณว่าแบบจำลองนั้นมีประโยชน์เพียงใด โดยปรับตามจำนวนตัวทำนายในแบบจำลอง
บทช่วยสอนนี้จะอธิบายวิธีคำนวณ R2 ที่ปรับปรุงแล้วสำหรับแบบจำลองการถดถอยใน R
ที่เกี่ยวข้อง: ค่า R-squared ที่ดีคืออะไร?
ตัวอย่าง: วิธีคำนวณ R-squared ที่ปรับแล้วใน R
เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างแบบจำลองการถดถอยเชิงเส้นหลายรายการใน R โดยใช้ชุดข้อมูลในตัวที่เรียกว่า mtcars :
model <- lm (hp ~ mpg + wt + drat + qsec, data=mtcars)
และเราสามารถใช้หนึ่งในสามวิธีเพื่อค้นหาค่า R-squared ที่ปรับแล้วของโมเดล:
วิธีที่ 1: ใช้ฟังก์ชันสรุป ()
เราสามารถมองเห็นทั้ง R-squared และ R-squared ที่ปรับแล้วของโมเดลได้ง่ายๆ โดยใช้ฟังก์ชัน summary() :
summary (model)
Call:
lm(formula = hp ~ mpg + wt + drat + qsec, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-48,801 -16,007 -5,482 11,614 97,338
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 473.779 105.213 4.503 0.000116 ***
mpg -2.877 2.381 -1.209 0.237319
wt 26.037 13.514 1.927 0.064600 .
drat 4.819 15.952 0.302 0.764910
qsec -20.751 3.993 -5.197 1.79e-05 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 32.25 on 27 degrees of freedom
Multiple R-squared: 0.8073, Adjusted R-squared: 0.7787
F-statistic: 28.27 on 4 and 27 DF, p-value: 2.647e-09
ที่ด้านล่างของเอาต์พุตเราจะเห็นสิ่งต่อไปนี้:
- หลาย R กำลังสอง: 0.8073
- ปรับ R-squared แล้ว: 0.7787
วิธีที่ 2: ใช้ summary(model)$adj.r.squared
หากเราเพียงต้องการได้ค่า R-squared ที่ปรับแล้วของโมเดล เราสามารถใช้ฟังก์ชันต่อไปนี้:
summary (model)$adj.r.squared
[1] 0.7787005
วิธีที่ 3: ใช้ฟังก์ชันแบบกำหนดเอง
อีกวิธีหนึ่งในการค้นหา R-squared ที่พอดีของโมเดลคือการเขียนฟังก์ชันแบบกำหนดเอง:
#define function to calculate adjusted R-squared
adj_r2 <- function (x) {
return (1 - ((1-summary(x)$r.squared)*( nobs (x)-1)/( nobs (x)- length (x$coefficients)-1)))
}
#use function to calculate adjusted R-squared of the model
adj_r2(model)
[1] 0.7787005
numeric(0)
โปรดทราบว่าแต่ละวิธีใน 3 วิธีที่ใช้ร่วมกันที่นี่จะให้ค่า R-squared ที่ปรับแล้วเท่ากัน
แหล่งข้อมูลเพิ่มเติม
วิธีดำเนินการถดถอยเชิงเส้นอย่างง่ายใน R
วิธีดำเนินการถดถอยเชิงเส้นพหุคูณใน R
วิธีดำเนินการถดถอยพหุนามใน R