【发布时间】:2023-12-08 19:20:01
【问题描述】:
我想使用 R 计算多元线性回归的 样本外 MSPE。从我的教科书中我得到了以下 MSPE 公式
我尝试通过在 R 中使用以下两行来计算 MSEP
fit <- lm(CO ~ weight + nico, data = df)
mean( (df$CO - predict.lm(fit, df))^2 )
但是,我相当确定这是样本内的 MSPE。我尝试对 MSPE 进行硬编码,结果是
MSEP <- function(df){
df <- df[, -1] # Removing "name" column
factor <- 1/nrow(df)
summa <- 0
for(i in 1:nrow(df)){
df_ny <- df[-i, ]
fit <- lm(CO ~., data = df_ny)
holder <- (df[i,]$CO - predict.lm(fit, df[i, ]))^2
summa <- summa + holder
}
return(factor*summa)
}
这是正确的吗? R 中是否有内置函数可以用来比较我的结果?
提前致谢。
【问题讨论】:
标签: r linear-regression prediction lm