R中样本外数据的均方预测误差(MSPE)
我想用R计算多元线性回归的样本外MSPE。从我的教科书中,我得到了以下MSPE公式 这里的意思是,我的观察被从平均值中省略了 我尝试使用R中的以下两行来计算MSEPR中样本外数据的均方预测误差(MSPE),r,linear-regression,prediction,lm,R,Linear Regression,Prediction,Lm,我想用R计算多元线性回归的样本外MSPE。从我的教科书中,我得到了以下MSPE公式 这里的意思是,我的观察被从平均值中省略了 我尝试使用R中的以下两行来计算MSEP fit <- lm(CO ~ weight + nico, data = df) mean( (df$CO - predict.lm(fit, df))^2 ) fit也许你可以试试这样: in_sample <- data.frame(x = rnorm(100),
fit <- lm(CO ~ weight + nico, data = df)
mean( (df$CO - predict.lm(fit, df))^2 )
fit也许你可以试试这样:
in_sample <- data.frame(x = rnorm(100),
y = rnorm(100))
out_sample <- data.frame(y = rnorm(100),
x = rnorm(100))
mod <- lm(y ~ x, in_sample)
mspe <- function(model, dv, data) {
yhat <- predict(model, newdata=data)
y <- data[[dv]]
mean((y - yhat)^2)
}
mspe(mod, "y", out_sample)
#> [1] 0.8247627
in_示例
in_sample <- data.frame(x = rnorm(100),
y = rnorm(100))
out_sample <- data.frame(y = rnorm(100),
x = rnorm(100))
mod <- lm(y ~ x, in_sample)
mspe <- function(model, dv, data) {
yhat <- predict(model, newdata=data)
y <- data[[dv]]
mean((y - yhat)^2)
}
mspe(mod, "y", out_sample)
#> [1] 0.8247627