วิธีใช้ฟังก์ชัน lm() ใน r เพื่อให้พอดีกับโมเดลเชิงเส้น


ฟังก์ชัน lm() ใน R ใช้เพื่อปรับโมเดลการถดถอยเชิงเส้นให้เหมาะสม

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

lm(สูตร ข้อมูล …)

ทอง:

  • สูตร: สูตรโมเดลเชิงเส้น (เช่น y ~ x1 + x2)
  • data: ชื่อของบล็อกข้อมูลที่มีข้อมูล

ตัวอย่างต่อไปนี้แสดงวิธีการใช้ฟังก์ชันนี้ใน R เพื่อทำสิ่งต่อไปนี้:

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

พอดีกับแบบจำลองการถดถอย

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน lm() เพื่อให้พอดีกับโมเดลการถดถอยเชิงเส้นใน R:

 #define data
df = data. frame (x=c(1, 3, 3, 4, 5, 5, 6, 8, 9, 12),
                y=c(12, 14, 14, 13, 17, 19, 22, 26, 24, 22))

#fit linear regression model using 'x' as predictor and 'y' as response variable
model <- lm(y ~ x, data=df)

แสดงสรุปโมเดลการถดถอย

จากนั้นเราสามารถใช้ฟังก์ชัน summary() เพื่อแสดงข้อมูลสรุปของโมเดลการถดถอยที่เหมาะสม:

 #view summary of regression model
summary(model)

Call:
lm(formula = y ~ x, data = df)

Residuals:
    Min 1Q Median 3Q Max 
-4.4793 -0.9772 -0.4772 1.4388 4.6328 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 11.1432 1.9104 5.833 0.00039 ***
x 1.2780 0.2984 4.284 0.00267 ** 
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.929 on 8 degrees of freedom
Multiple R-squared: 0.6964, Adjusted R-squared: 0.6584 
F-statistic: 18.35 on 1 and 8 DF, p-value: 0.002675

ต่อไปนี้เป็นวิธีตีความค่าที่สำคัญที่สุดในโมเดล:

  • สถิติ F = 18.35, ค่า p ที่สอดคล้องกัน = 0.002675 เนื่องจากค่า p นี้น้อยกว่า 0.05 แบบจำลองโดยรวมจึงมีนัยสำคัญทางสถิติ
  • หลาย R กำลังสอง = 0.6964 สิ่งนี้บอกเราว่า 69.64% ของการแปรผันในตัวแปรตอบสนอง y สามารถอธิบายได้ด้วยตัวแปรทำนาย x
  • ค่าสัมประสิทธิ์โดยประมาณของ x : 1.2780 นี่บอกเราว่าการเพิ่มหน่วย x แต่ละครั้งสัมพันธ์กับการเพิ่มขึ้นเฉลี่ย 1.2780 ใน y

จากนั้นเราสามารถใช้การประมาณค่าสัมประสิทธิ์จากผลลัพธ์เพื่อเขียนสมการการถดถอยโดยประมาณ:

y = 11.1432 + 1.2780*(x)

โบนัส : คุณสามารถดูคำแนะนำฉบับสมบูรณ์เกี่ยวกับการตีความแต่ละค่าของเอาต์พุตการถดถอยใน R ได้ที่นี่

ดูแผนการวินิจฉัยโมเดล

จากนั้นเราสามารถใช้ฟังก์ชัน plot() เพื่อพล็อตแผนการวินิจฉัยของแบบจำลองการถดถอย:

 #create diagnostic plots
plot(model) 

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

โปรดดู บทช่วยสอนนี้ สำหรับคำอธิบายที่สมบูรณ์เกี่ยวกับวิธีตีความแผนการวินิจฉัยของโมเดลใน R

พล็อตโมเดลการถดถอยที่ติดตั้งไว้

เราสามารถใช้ฟังก์ชัน abline() เพื่อพล็อตโมเดลการถดถอยที่ติดตั้ง:

 #create scatterplot of raw data
plot(df$x, df$y, col=' red ', main=' Summary of Regression Model ', xlab=' x ', ylab=' y ')

#add fitted regression line
abline(model)

พล็อต lm() ใน R

ใช้แบบจำลองการถดถอยเพื่อคาดการณ์

เราสามารถใช้ฟังก์ชัน Predict() เพื่อทำนายค่าการตอบสนองสำหรับการสังเกตใหม่:

 #define new observation
new <- data. frame (x=c(5))

#use the fitted model to predict the value for the new observation
predict(model, newdata = new)

      1 
17.5332

แบบจำลองคาดการณ์ว่าการสังเกตใหม่นี้จะมีค่าตอบสนองเป็น 17.5332

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

วิธีดำเนินการถดถอยเชิงเส้นอย่างง่ายใน R
วิธีดำเนินการถดถอยเชิงเส้นพหุคูณใน R
วิธีการถดถอยแบบขั้นตอนใน R

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

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