วิธีการคำนวณ 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

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

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