趋近智
通过实际数字来查看MAE、MSE、RMSE和R方这些指标的计算方式,有助于加深理解,并为评估您自己的回归模型做好准备。
假设我们建立了一个简单的回归模型,根据房屋面积(平方英尺)来预测房价。我们用一些数据训练了这个模型,现在想在它从未见过的一组5套房屋(我们的测试集)上评估其表现。
以下是实际房价和我们的模型预测的房价(单位:千美元):
| 房屋编号 | 面积(平方英尺) | 实际价格(千美元) (yi) | 预测价格(千美元) (y^i) |
|---|---|---|---|
| 1 | 1500 | 300 | 310 |
| 2 | 1200 | 250 | 240 |
| 3 | 1800 | 380 | 350 |
| 4 | 1400 | 290 | 300 |
| 5 | 1600 | 330 | 340 |
我们的目标是使用学过的指标来量化模型预测与实际价格的匹配程度。我们的测试集有 n=5 个数据点。
第一步总是找到每个数据点的实际值 (yi) 与预测值 (y^i) 之间的差异。这个差异称为误差或残差。
误差i=yi−y^i让我们在表中添加一列“误差”:
| 房屋编号 | 实际价格 (yi) | 预测价格 (y^i) | 误差 (yi−y^i) |
|---|---|---|---|
| 1 | 300 | 310 | -10 |
| 2 | 250 | 240 | 10 |
| 3 | 380 | 350 | 30 |
| 4 | 290 | 300 | -10 |
| 5 | 330 | 340 | -10 |
MAE 给出了误差的平均大小,不考虑它们是正还是负。
公式如下:
MAE=n1i=1∑n∣yi−y^i∣| 房屋编号 | 误差 (yi−y^i) | 绝对误差 ∣yi−y^i∣ | | :------- | :---------------------- | :-------------------------------- | | 1 | -10 | 10 | | 2 | 10 | 10 | | 3 | 30 | 30 | | 4 | -10 | 10 | | 5 | -10 | 10 | | 总和 | | 70 |
现在,计算平均值:
MAE=570=14解读: 平均而言,我们模型的房价预测误差为14,000美元。MAE的单位与目标变量(本例中为千美元)相同。
MSE 计算的是误差平方的平均值。误差平方使其都变为正值,并赋予较大误差更大的权重。
公式如下:
MSE=n1i=1∑n(yi−y^i)2| 房屋编号 | 误差 (yi−y^i) | 平方误差 (yi−y^i)2 |
|---|---|---|
| 1 | -10 | 100 |
| 2 | 10 | 100 |
| 3 | 30 | 900 |
| 4 | -10 | 100 |
| 5 | -10 | 100 |
| 总和 | 1300 |
现在,计算平均值:
MSE=51300=260解读: MSE为260。请注意,房屋3的单个较大误差30对总和贡献了900,显著影响了MSE。这里的单位是(千美元)平方,这不太直观。这引出了RMSE。
RMSE 仅仅是MSE的平方根。这使得指标回到目标变量的原始单位,更易于理解。
公式如下:
RMSE=MSE=n1i=1∑n(yi−y^i)2解读: RMSE约为16,120美元。与MAE类似,它表示我们预测中误差的典型大小,以千美元计。因为它来源于MSE,RMSE对大误差比MAE更敏感(注意RMSE 16.12 > MAE 14)。
R2 告诉我们模型能够解释实际价格变异的比例。它将我们模型的误差与一个仅预测所有房屋平均价格的非常简单的基准模型的误差进行比较。
公式如下:
R2=1−SSTSSR=1−∑i=1n(yi−yˉ)2∑i=1n(yi−y^i)2其中:
让我们计算 SST:
计算实际价格的平均值 (yˉ):
yˉ=5300+250+380+290+330=51550=310平均实际价格为310,000美元。
计算与平均值的偏差: 找出每套房屋的 (yi−yˉ)。
计算平方偏差: 将这些偏差平方。
求平方偏差之和: 将它们相加得到 SST。
| 房屋编号 | 实际价格 (yi) | 平均价格 (yˉ) | 偏差 (yi−yˉ) | 平方偏差 (yi−yˉ)2 |
|---|---|---|---|---|
| 1 | 300 | 310 | -10 | 100 |
| 2 | 250 | 310 | -60 | 3600 |
| 3 | 380 | 310 | 70 | 4900 |
| 4 | 290 | 310 | -20 | 400 |
| 5 | 330 | 310 | 20 | 400 |
| 总和 | 9400 (SST) |
因此,SST=9400。
现在我们可以计算 R2:
R2=1−SSTSSR=1−94001300 R2=1−0.1383≈0.8617解读: 我们模型的 R2 约为0.86,即86%。这意味着我们的模型(使用房屋面积)能够解释测试集中实际房价约86%的变异性。对于这个简单例子来说,这通常被认为是很好的拟合。如果 R2 为1,则表示完美拟合;而 R2 为0,则表示我们的模型不比仅仅预测每套房屋的平均价格更好。
以下是我们房价预测模型计算出的指标总结:
| 指标 | 值 | 解读 |
|---|---|---|
| MAE | 14.00 | 平均绝对预测误差为14,000美元。 |
| MSE | 260.00 | 平均平方预测误差(单位为美元平方)。 |
| RMSE | 16.12 | 典型预测误差大小为16,120美元(对大误差敏感)。 |
| R2 | 0.8617 | 模型解释了房价约86%的变异性。 |
散点图通常有助于直观展现回归表现。我们在一个轴上绘制实际值,在另一个轴上绘制预测值。靠近对角线 (y=x) 的点表示预测准确。
散点图显示了实际房价与预测房价的对比。虚线灰色线代表完美预测(预测值 = 实际值)。靠近这条线的点表示模型预测良好。
本练习展示了如何从一组实际值和预测值中计算标准回归指标。亲手计算这些指标能帮助您直观理解每个指标的含义以及它们对预测误差的不同反应。在评估您自己的模型时,通常会使用库来为您计算这些指标,但理解其背后的计算原理是基本功。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造