避坑指南:如何选择适当的预测评价指标?程序员评测

出品|AI科技大本营(ID:rgznai100)

【导语】因为不存在一个适用于所有情况的评价指标,所以评估预测精度(或误差)就变成了一件不是那么容易的事情。只有通过试验,才能知道哪个性能评估指标适用于当前情况。在这个过程中,你会发现每个指标都可以避开某些陷阱,但同时也容易掉进其他陷阱。今天,我们就把几大预测评价指标一一为大家分析对比,从而对它们的适用情况更了解。

先了解一下预测的准确率和偏差:

当然,如下图所示,我们想要的预测结果是既有高准确度,又没有偏差。

下面,会讲到五种指标,从它们的定义开始,然后再对比它们的适用与不足。

0、Error(误差)

首先对error进行定义,即预测值减去实际值。如果预测值高于实际值,那么误差为正,若低于实际值,则误差为负。

预测性能的评估指标有哪些?

1、Bias

Bias的定义为误差的平均值。此处,n为历史的时刻数,即预测值与实际值的个数。

由于一个正误差可能会抵消掉另一个负的误差,因此预测模型可能会得到很低的bias,而精度却很低。很明显,只使用bias不足以对预测精度进行评估。

2、MAPE

平均绝对百分误差(MAPE,MeanAbsolutePercentageError)是评估预测精度的最常用指标之一。MAPE为每个绝对误差的和除以实际值。实际上,它是误差百分率的平均值。

MAPE是个很奇特的性能评估指标。由公式可以看出,MAPE用每个误差值除以实际值,所以会产生倾斜:若某个时刻的实际值很低,而误差很大,就会对MAPE的值产生很大影响。因此,对MAPE的优化会导致奇怪的预测结果,很可能会使预测值低于实际值。

3、MAE

绝对平均误差(MAE,MeanAbsoluteError)是一个很好的预测评估指标。如名字所描述的,它是绝对误差的平均值。

MAE的第一个缺点是,它没有考虑到实际值的平均数。如果有人告诉你某个预测结果的MAE为10,你无法知道这个结果是好是坏。如果实际值的平均数为1000,当然这个预测精度是很不错的,但如果实际值平均为1,这个预测的精度实在太低了。为了解决这个问题,可以用MAE除以实际值的平均数,得到一个百分率:

MAPE/MAE混淆——很多人会使用MAE的公式,却把它当成MAPE。很多人会对此存在混淆。当我和别人讨论预测误差时,我会要求其明确解释预测误差是如何计算的,以免发生混淆。

4、RMSE

均方根误差(RMSE,RootMeanSquaredError)是一个看似不合理却很实用的指标,稍后我们会进行详细解释。它的定义为误差平方平均值的方根。

和MAE一样,RMSE没有考虑到实际值的大小范围。我们同样可以定义一个RMSE%,如下:

实际上,许多算法(特别是机器学习算法)都是基于均方误差的(MSE,MeanSquaredError):

MSE被许多算法使用,因为它计算速度快,且比RMSE更容易操作。但它没有考虑到原误差值(因为误差被做了平方计算),可能导致指标无法关联到原始误差值的大小范围。因此,我们不常用它作为评估预测模型精度的指标。

MAEvsRMSW:误差权重

与MAE相比,RMSE对每个误差值不是平等对待的,它会给大的误差更大的权重。这意味着一个过大的误差值会让RMSE值很差。

现在我们对比两个预测结果,这两个结果存在的唯一差别是最后一个预测值:预测#1比实际值低7个单位,预测#2低了6个单位。

两次预测结果的性能评估指标如下:

有趣的是,只把最后一次预测的值改变了1个单位,就导致整体的RMSE值降低了6.9%(从2.86到2.66),但MAE值只降低了3.6%(从2.33到2.25)。很明显,RMSE把更大的注意力放在最大的误差值上,而MAE给每个误差值相同的权重。你可以自己尝试降低某个误差值,会发现对RMSE几乎不会产生影响。

接下来你会看到关于RMSE更有趣的特性。

RMSE的预测实例

刚刚我们介绍了每个性能评估指标的定义(bias、MAPE、MAE、RMSE),但还不清楚它们使用在模型上的差异。有人可能认为用RMSE代替MAE,或者用MAE替代MAPE,不会有太大差异,但事实上不是这样的。

我们来看个简单的例子。假设某个产品每周的销量始终比较低且平稳,偶尔会有一笔大订单(可能受促销活动等影响)。下面是我们观察到的最近几周的销量情况:

对于该产品的销量,我们虚构三个不同的预测结果。第一个预测每天销量为2,第二个预测每天销量为4,第三个预测每天销量为6,如下图所示:

我们看看每个预测的bias、MAPE、MAE和RMSE结果:

预测#1基于MAPE表现最好,预测#2基于MAE表现最好,预测#3基于RMSE和bias表现最好(但基于MAE和MAPE表现最差)。下面我们来看每个预测结果的组成:

中位数vs平均数——数学最优化

这里会涉及一些数学知识,如果你对这些公式不理解,不要在意。你可以略过这部分,直接跳到RMSE和MAE的结论部分。

1、RMSE

首先来看RMSE:

实际上,我们可以用它的简化版,即MSE:

如果你的预测模型把MSE当作指标,它会将其最小化。我们可以通过使其导数为零,来将数学函数最小化:

若要使预测最优化,模型会趋于让整体预测值与实际值相等。

2、MAE

接下来,我们对MAE做同样的分析:

或者

以及

这意味着

若要使MAE最优化(如,使其导数为零),预测模型要让预测值高于实际值的次数等于低于实际值的次数。换句话说,我们希望找到一个值可以把数据集一分为二,这也正是中位数的定义。

3、MAPE

遗憾的是,MAPE的导数不具备直接明了的特性。我们可以简单认为,MAPE会优先给出较低的预测值,因为当实际值比较低时,预测误差会被分配较高的权重。

结论

综上所述,在任何模型上,对RMSE的最优化是试图找到平均值,而MAE的最优化是让预测偏高的次数与偏低的次数相等。不得不承认,MAE和RMSE在数学本质上存在较大的差异。一个瞄准中位数,另一个瞄准平均数。

MAE还是RMSE?如何选择?

我们不能说瞄准中位数好或者瞄准平均数好,这不是一个非黑即白的问题。每项技术都存在优点和隐患,下面我们会讨论这个问题。只有经过试验,才能知道哪项技术适用于当前的数据集。你甚至可以同时选择RMSE和MAE。

Bias

对于许多实例,你会发现实际值的中位数与平均数不同。可能发生的是,实际值中存在一些峰值,导致整体分布产生偏移。这些偏移的分布在供应链行业常常发生,因为定期的促销活动或客户的批量采购。这会使实际的中位值比平均数低,如下图所示:

这说明预测模型在使MAE最小化时会产生偏差,然而在使RMSE最小化时不会产生偏差(因为它瞄准的是平均数)。这确实是MAE的主要缺陷。

异常灵敏度

如我们所讨论的,RMSE会为大的误差值分配高权重,同时也要付出代价:对异常点过于敏感。我们看下面的例子:

若一个序列的中位值为8.5,平均值为9.5。我们已经知道,如果模型使MAE最小化,我们会预测出中位数(8.5),这样整体会比平均数低1个单位(bias=-1)。之后你可能会选择对RMSE做最小化,预测平均值来避免这种情况。

不过,如果我们突然观察到一个值为100:

中位数仍然为8.5,并没有发生改变,但平均值变成了18.1,在这种情况下,我们不希望预测结果趋近于平均数,而是重新使用中位数。

一般来说,对于存在异常值的情况,中位数比平均数的鲁棒性更强。在供应链产业中,这一点尤为重要,因为我们要面对很多异常点。

对于异常点来说,鲁棒性总是一个好的特性吗?答案是否定的。

无序序列

糟糕的是,在异常点存在的情况下,中位数的鲁棒性可能会对无规律的序列产生非常不好的影响。

试想我们对一个客户出售产品,该产品的利润很高,客户似乎每三个星期中会有一个星期下订单。遗憾的是,客户的购买行为没有任何规律。我们可以观察到其平均数为33,但而中位数为0。

如果我们让预测模型瞄准中位数(0),我们得到的总绝对误差为100(MAE为33),总平方误差为10000(RMSE为58)。

很明显,对于没有规律的序列,MAE是一个比较差的性能评估指标。

MAE会忽略异常值,而RMSE会注意到异常值并得到没有偏差的预测。那么应该使用哪个指标呢?很遗憾,不存在确定的答案。如果你是一名供应链领域的数据科学家,你应该多做试验:如果使用MAE作为性能评估指标会得到很大偏差,你可能需要使用RMSE。如果数据集包含很多异常值,导致预测结果产生偏移,你可能需要用MAE。

还需要注意的是,你可以选择一个或多个评估指标(如MAE&bias)来计算预测的误差,然后用另一个指标(RMSE?)来对模型进行优化。

THE END
1.预测准确率怎么计算股票频道如何计算预测准确率 在财经领域,预测准确率是一个重要的参考指标,用于衡量分析师、机构或投资者在市场分析中的预测能力。本文将介绍如何计算预测准确率,以帮助您更好地了解这一指标。 预测准确率的计算方法 预测准确率的计算方法是通过以下几个步骤进行的: https://stock.hexun.com/2024-03-28/212350220.html
2.销售预测准确率的计算智造前沿月销售预测的准确率只要将每周的数量相加来计算。 二、销售预测准确率的意义 1. 通过跟踪和持续提高销售预测准确率,增强对需求的监控,从而减少对供应链带来剧烈波动,降低运营成本,提高供应的稳定性,提高客户满意度。 2. 作为设置安全库存的重要依据。 三、提高销售预测准确率的方法 https://www.wethinks.com/shows/26/315.html
3.预测准确率怎么计算理想股票技术论坛想了解如何计算预测准确率?本文介绍了预测准确率的计算方式,帮助你评估预测模型的准确性。了解预测准确率的计算方法,可以提高对股票市场的预测能力。 ,理想股票技术论坛https://www.55188.com/tag-07009520.html
4.一种煤层突出危险性区域预测临界值的确定方法及系统与流程目前,国内尚未形成一套系统的确定区域突出危险性预测临界值的方法和系统。根据相关经验,区域突出危险性预测临界值试验常通过煤巷掘进进行试验考察确定,但试验过程中采用顺层钻孔测定原始瓦斯压力,则存在封孔难度大、测试时间长、成本费用高、压力测定不准确等不利条件,因此在生产实际过程中常将瓦斯含量8m3/t(地质构造带http://mip.xjishu.com/zhuanli/47/202210741774.html
5.2024清宫表完整版分享,掌握计算方法准确率高达100%现如今,虽然重男轻女的观念基本上很少了,但依旧有很多宝妈在怀上后想知道胎儿的性别。最常见的就是用清宫表来预测生男生女,即根据虚岁,以及怀孕月份来推算怀的是男孩还是女孩。不过需要注意的是,这类方法往往准确率不高,在50%左右。建议最好通过医学手段检测,可信度更高。 https://www.shengbb.net/wenda/d68cb54b4b4d798f0b1e.html
6.模型测试集上准确率(ACC)精确率precision召回率recallAUC评估指标本文探讨了混淆矩阵的基本概念,包括TP、TN、FP和FN,以及准确率、精确率、召回率和F1分数的计算方法。重点介绍了AUC(ROC曲线下的面积)在评估模型性能中的作用,通过实例演示如何使用sklearn库进行准确率和AUC的计算。 摘要由CSDN通过智能技术生成 参考: https://zhuanlan.zhihu.com/p/530885866?utm_id=0 混淆矩阵https://blog.csdn.net/weixin_42357472/article/details/123889415
7.预测准确率计算公式实际上是这样的,预测准确率,一般来讲有两种算法,一种是21131-误差绝对值/预测,一种是1-误差绝对值https://iask.sina.com.cn/jxwd/6ctz0REKLl5.html?ivk_sa=1024320u
8.性能评价范文12篇(全文)(2) 试验结果计算包括主蒸汽流量计算、发电热耗率、汽耗率、汽水损失率等指标的计算。 (3) 试验结果修正 对于试验时汽机偏离设计运行条件的情况, 应对试验结果进行修正。按照ASME PTC6A-2000标准方法, 对试验热耗率进行热耗修正, 得到最终的热耗率。所有修正根据电厂业主、制造厂与试验单位协商确定的修正曲线或修https://www.99xueshu.com/w/ikeynsi4e0rm.html
9.生男生女计算公式预测男女准确率超高(快收藏)举例说明:女性怀孕农历月份为7月,女性虚岁年龄为25岁。根据以上生男生女公式计算为:49+7-25+19=50;结果为双数生女宝。 4、68+女性怀孕的农历月份-怀孕时女性的虚岁=结果;结果为单数生男宝,结果为双数生女宝。 举例说明:女性怀孕的农历月份9月,怀孕时女性的虚岁28岁。根据以上生男生女公式计算为:68+9-28=49;https://www.snsnb.com/zixun/60792-1.html
10.基于机器学习的足球比赛结果预测与方法研究.docx粗略的统计数据如进球、射门和助攻仍然是分析球员表现的最常用的方法;这样的预测方法所得到的结果准确性低于以机器学习方法为基础的分析预测准确率,机器学习预测模型在各个领域的应用充分的证明了这一点。事实证明,本文并非是单纯的在预测足球比赛,而是“事后诸葛亮”,通过对比赛各项数据统计与比赛结果进行分析,找出对https://max.book118.com/html/2022/0613/5122144000004242.shtm