模型预测精度(数值regression)评价指标

您所在的位置:网站首页 r的平方值多少最好 模型预测精度(数值regression)评价指标

模型预测精度(数值regression)评价指标

2023-08-18 22:05| 来源: 网络整理| 查看: 265

模型预测精度(数值regression)评价指标 - RMSE, MAE, MAPE & Bias哪个指标更好?

在销量/需求预测时常用的一些模型评价指标,尤其是在supplychain销量预测等领域,哪些指标好,哪些不好?什么时候用什么指标。

Error 对于每一个数据,error等于预测减去实际值(这里是销量预测,所以为实际需求) Error = forecast (f) - demand (d) 在这里插入图片描述 Bias 测试数据的Error的平均值为Bias,表示模型总体的偏差或者误差。缺点是,由于error有正负,加起来的时候就抵消掉了,有可能不准确。 在这里插入图片描述

MAPE mean absolute percentage error 在这里插入图片描述

不是一个很好的评价指标,因为如果有一个实际值(demand)很低的时候,这时的百分比会很大,会对最后平均之后的百分比影响较大,如果根据MAPE值进行模型优化,会导致整体预测值小于实际值。最好不要用MAPE。

MAE mean absolute error 在这里插入图片描述

预测值与实际值的差值的绝对值,MAE反而是比较好的平均指标。 但有个缺点,就是因为不是正规化后的值,不好比较。比如MAE是10,我们不知道它到底是算好还是不好。如果实际值的平均是1000,那误差很低,但如果实际平均是1,误差则非常大。所以比较的时候,往往除以实际值的平均,做个正规化,这样变成百分比就好比较了,也有人把这个指标也叫MAPE,但是是不一样的。不管它叫什么,一定要解释好指标是怎么算出来的。

RMSE root mean square error 在这里插入图片描述 同样可以正规化成百分比如下 在这里插入图片描述 很多算法用MSE为标准进行优化,因为容易计算,而且比RMSE容易操控。但是由于它把数值平方了,导致我们不容易理解它和原来数值的关系。所以我们不考虑MSE。

error的权重问题 和MAE相比,RMSE给每个错误的权重是不同的,error越大的数据给的权重越大,这导致只要你有一个非常不好的预测结果,整个RMSE都会很差。 举个例子。下面两个预测,只有最后一个period结果不同,一个是8,一个是9。 在这里插入图片描述 来看一下算出的RMSE和MAE,发现RMSE比之前降了6.9%,但MAE相比之下之下降了3.6%。说明RMSE对于某个异常大的错误给与的权重很大,而MAE就相对平均一些。 在这里插入图片描述 MAE优化中位数(median) 而RMSE优化平均值(average) 有这样一个数据, forcast1是一个远低于需求的预测值 forcast2是中位数 forcast3是平均值

你觉得哪个的MAE最好?哪个RMSE最好?哪个MAPE最好? 在这里插入图片描述 计算结果如下, 在这里插入图片描述 我们发现 forcast1是一个远低于需求的预测值 > MAPE值最好 forcast2是中位数 > MAE值最好 forcast3是平均值 > RMSE值最好

所以其实 MAE优化的是中位数,而RMSE优化的平均值。 MAE是error绝对值,最小化时候看正负两拨预测值如何靠近实际值,即中位数 RMSE最小化时候,看预测值总和如何靠近实际值总和,即平均 (数学公式省略)

MAE 和 RMSE选哪个? 所以究竟选哪个呢?当然你也可以两个都用。但哪个更好不能一概而论,我们先来看下这两个指标分别对偏差bias,异常值(outliers)敏感度,间歇性需求的不同影响。

1. bias 大多数supply chain的数据demand都是skewed。一般demand会不时有一些peak(peak可能由于promotion活动或者客户批量订货),其他时段则很低,总体会成一个skewed 分布。平均值会大于中位数。所以最小化MAE可能会造成偏差,这是MAE的主要弱点。 在这里插入图片描述 2. 异常值敏感度 我们提到RMSE对与很大的error给与更多的权重,这使得RMSE对与异常值非常敏感,而注重优化中位数的MAE则对于异常值没那么敏感。(这里举了例子,省略)

但对于异常值敏感一定是坏事么?

3. 间歇性需求 对于间歇性需求的产品,对于异常值敏感可能反而是好事。 举例:我们买一种产品给一个客户,客户喜欢批量购买,三周买一次,一次100件。 那么每周平均需求是33左右,中位数是0。 如果用平均(33件)来预测它每周的销量,由下表可以计算出RMSE为47,MAE为44 在这里插入图片描述 如果用中位数(0)来预测,RMSE为58,MAE为33 在这里插入图片描述 显然第一个预测每周33的更好一些,但是它的MAE误差反而更高,如果按照MAE指标来选模型,那么就所有预测值都是0了。对于间歇性需求的产品,MAE显然不是一个好指标。

结论 所以MAE,RMSE究竟用哪个是没有一个定论的。如果用MAE导致很高的bias,那就试试RMSE。如果数据里面有很多异常值,导致预测skewed预测结果,那就试试MAE。 报告和模型优化可以用不同的指标来做。如果你的数据每个数据需求量太低,可以aggregate转换成更长期间的数据,比如月次等。如果必须日次预测,可以预测完月次再平均分配回去。这可以让你用MAE作为指标并同时平滑那些peaks。

【参考文献】 https://towardsdatascience.com/forecast-kpi-rmse-mae-mape-bias-cdc5703d242d



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3