计算交叉验证 R 平方的适当方法

机器算法验证 r 交叉验证 r平方
2022-04-06 16:43:20

我有一个数据集,我分为两个相等的分区 A 和 B。

我估计了分区 A 的回归模型。

我想在预测分区 B 中的值时计算交叉验证的R2

我想知道以下方法是否正确以及可能有哪些其他方法:

#generate data:

data <- replicate(10, rnorm(100))
data <- as.data.frame(data)

#divide into training and test set:

train <- data[1:50,]
test <- data[51:100,]

#fit model and get predictions for unseen data:

model <- lm(train[,1] ~., data = train)
predictions <- predict(model, test)

#obtain cross-validated R squared:

cor(predictions,test[,1])^2
1个回答

这是不正确的,因为它允许使用新的整体斜率和截距重新校准预测。冻结所有系数后使用此公式:1 - (误差平方和)/(总平方和)。分母是在保留样本中观察到的当您正确执行此操作较低时,您可以在某些保留样本中(n1)×YR2R2