如何验证我的多元线性回归模型?

机器算法验证 回归 多重回归 交叉验证 验证
2022-03-18 07:21:43

我已将我的数据分成两部分。我已经使用我 80% 的数据来构建多元回归线性模型。现在我想用我剩下的 20% 的数据来测试它。我必须使用 Minitab 上的哪些工具来执行此检查过程?

编辑:我想我可以使用 PRESS 统计。我的 80% 数据的 PRESS 是 6000,现在基于这个模型我计算了 20% 数据的 PRESS,它是 1000。现在,我应该将 6000 与 1000 还是 6000 与 5 乘以 1000 进行比较,即 5000?

2个回答

请注意,预测的残差平方和 PRESS是通过对样本进行千斤顶切割得到的:为训练集和测试集计算它是没有意义的。为适合整个样本的模型计算它(并将其与 RSS 进行比较以评估过度拟合的数量)。对于普通的最小二乘回归,有一个解析解:

i(ei1hii)2

其中是第个残差 &是它的杠杆——来自帽子矩阵的对角线eiihii

H=X(XTX)1XT

(其中是设计矩阵)。X

一般来说,交叉验证和引导验证比将样本分成训练集和测试集更可取:您不会像在较小的训练集上拟合时那样失去估计的精度,并且测试集上的性能测量变量将更少. 可取的程度取决于样本量。

您可以使用均方根误差(RMSE),它是衡量两组值之间的准确度。

使用您的模型从您的 80% 数据集校准,在您的另一个 20% 数据集(验证数据集)的自变量 (IV) 上。Y=β0+β1X1+β2X2++βnXn

在 R 中使用包中的rmse函数hydroGOF

例子:

# create an object with dependent variable (DV) values from the validation dataset.
dv_observed = c(1,2,3,4,5,6,7,8,9,10)

# use the multiple linear regression model (derived from the calibration dataset) to predict DV values as from validation dataset IV values. Then, create another object.
dv_predicted = c(1,3,3,4,5,6,6,8,9,10)

require(hydroGOF)
rmse(dv_observed,dv_predicted)
[1] 0.4472136

RMSE 输出测量单位与您的数据相同(例如,如果 DV 是以磅为单位的重量,则 RMSE 也是磅)。