模型评估:MSE和R2值
MSE和R Square是在回归分析中常用的评估指标,其中MSE评估模型的误差大小,主要用于关注预测精准度的场景,而R Square评估模型的拟合能力,用于评估模型是否能很好的解释数据,也可以将两个指标进行结合使用来评估模型。
下面用一个外卖的数据来演示MSE和R Square两个指标:
配送距离(x) | 真实配送时间(y) | 预测时间(y-) |
---|---|---|
1km | 10min | 12min |
2km | 15min | 14min |
3km | 20min | 22min |
4km | 35min | 30min |
5km | 70min | 65min |
Mean Square Error
Mean Square Error通过计算预测值和真实值的误差来衡量模型的预测精准度问题,其计算公式为: $$ MSE = \frac{1}{n}(y_i - \hat y_i)^2 $$
- $y_i$:真实预测值
- $\hat y_i$:模型预测值
- $n$:数据点的数量
计算过程为: $$ MSE = \frac{1}{5} \cdot ( (10-12)^2 + (15-14)^2 + (20-22)^2 + (35-30)^2 + (70-65)^2 ) \newline MSE = \frac{1}{5} \cdot ( 4 + 1 + 4 + 25 + 25 ) \newline MSE = \frac{1}{5} \cdot 59 \newline MSE = 11.8 $$ MSE的值越小(即越接近0)说明模型预测误差很小,预测很准,如果MSE越大说明模型预测误差很大,预测不准确。
R Square
R Square的公式为如下,作用是评估模型的拟合能力,也就是对于数据的解释能力: $$ R^2 = 1 - \frac{SSE}{SST} $$ 其中SST为平方总和,也就是计算每个真实值与真实均值差的平方之和: $$ \bar y = (10 + 15 + 20 + 35 + 70) / 5 = 30 \newline SST = (10-30)^2 + (15 - 30)^2 + (20 - 30)^2 + (35 - 30)^2 + (70 - 30)^2 = 2350 $$ SSE为残差平方和,其中SSE就是Mean Square Error中的误差平方和,拿上面的例子,就是数字59,计算过程为: $$ SSE = (10-12)^2 + (15-14)^2 + (20-22)^2 + (35-30)^2 + (70-65)^2 = 59 $$ 然后等到$R^2$为: $$ R^2 = 1 - \frac{59}{2350} = 0.97489362 $$ $R^2$的值越大(即越接近1)说明模型对于数据的解释能力很好,拟合能力很强。
两者结合解读模型
两者可以结合起来评估模型:
- MSE值高,R^2的值高:说明模型对于数据的解释能力很强,但是精准度不高,可能会造成预测数据的波动。
- MSE值低,R^2的值低:说明模型预测的误差很小,但是对于数据的解释能力很弱,不排除需要更多的数据或者数据本身趋势未体现太明显。