Cách nhận giá trị lỗi bình phương trung bình trong hồi quy tuyến tính trong R


20

Hãy để một mô hình hồi quy tuyến tính thu được bởi hàm R lm muốn biết liệu có thể lấy được bằng lệnh Lỗi bình phương trung bình hay không.

Tôi đã có đầu ra SAU của một ví dụ

> lm <- lm(MuscleMAss~Age,data)
> sm<-summary(lm)
> sm

Call:
lm(formula = MuscleMAss ~ Age, data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-16.1368  -6.1968  -0.5969   6.7607  23.4731 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 156.3466     5.5123   28.36   <2e-16 ***
Age          -1.1900     0.0902  -13.19   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 8.173 on 58 degrees of freedom
Multiple R-squared:  0.7501,    Adjusted R-squared:  0.7458 
F-statistic: 174.1 on 1 and 58 DF,  p-value: < 2.2e-16

Nhiều bình phương R là tổng bình phương lỗi? nếu câu trả lời là không có thể giải thích ý nghĩa của bình phương nhiều R và bình phương nhiều

Câu trả lời:


25

Hệ số R bình phương mà R báo cáo là hệ số xác định , được tính theo công thức

R2=1SSresSStot.

Tổng các lỗi bình phương được đưa ra (nhờ một câu trả lời trước đó ) bởi sum(sm$residuals^2).

Các lỗi bình phương trung bình được đưa ra bởi mean(sm$residuals^2). Bạn có thể viết một hàm để tính toán điều này, vd:

mse <- function(sm) 
    mean(sm$residuals^2)

5
+1. Một giải pháp khác, chỉ dựa trên những gì có thể nhìn thấy trong đầu ra , là sm$sigma^2 * sm$fstatistic[3]/(1+sum(sm$fstatistic[2:3])). Đó là, từ hàng chống cận bạn đọc ra và df và trong hàng cuối cùng đếm số tham số ( ), cho . 8.173581+18.1732×58/(1+1+58)=64.57
whuber

6
Antepenultimate là một từ tuyệt vời.
fbt

1
Như thường lệ, cách viết gọn gàng hơn nhiềumse <- function(sm) mean(sm$residuals^2)
Marius Hofert

4
> Không có nghĩa là lỗi bình phương được đưa ra bởi số dư ^ 2 / lỗi df từ bảng ANOVA thay vì trung bình (số dư ^ 2). Cái sau có nghĩa là dự đoán lỗi vuông. Không chắc chắn nếu tôi thiếu một số hiểu biết. Xin lỗi, tôi không có đủ điểm danh tiếng để viết bình luận.
SrikanthRaja

1
Nhưng tôi đồng ý những gì người dùng45409 nói. Theo những gì tôi học được, MSE = phần dư ^ 2 / lỗi df.
vtshen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.