平均相对误差:多角度解析与实践应用

在数据分析、预测、测量和模型评估等众多领域,准确衡量预测值或测量值与真实值之间的差异至关重要。绝对误差虽然直观,但在比较不同量级的数值时存在局限性。此时,相对误差及其均值——平均相对误差(Mean Relative Error, MRE)便展现出其独特的价值。本文将围绕平均相对误差,通过一系列常见问题,带您深入了解这一重要指标。

一、 平均相对误差“是什么”?

什么是相对误差?它与绝对误差有何不同?

首先,理解相对误差需要与绝对误差进行对比:

绝对误差 (Absolute Error) 是测量值或预测值与真实值之间的差的绝对值。它直接反映了误差的大小,单位与原始数据的单位相同。

公式为:绝对误差 = |测量值/预测值 - 真实值|

相对误差 (Relative Error) 则是绝对误差与真实值之比。它反映了误差相对于真实值的大小,通常表示为小数或百分比。相对误差消除了量纲的影响,使得在比较不同量级的测量或预测结果时更加公平。

公式为:相对误差 = (测量值/预测值 - 真实值) / 真实值 (通常取绝对值以衡量误差大小,即 |测量值/预测值 - 真实值| / 真实值)

什么是平均相对误差(MRE)?

平均相对误差(MRE)是数据集内所有数据点相对误差的平均值。它提供了整个数据集上预测或测量精度的一个整体衡量。通常,MRE计算的是相对误差绝对值的平均,以避免正负误差相互抵消而掩盖实际的误差大小。

其计算公式为:

MRE = (1 / n) * Σ [ |(预测值i – 真实值i) / 真实值i| ]

其中,Σ 表示对所有数据点求和,n 是数据点的总数,i 表示第 i 个数据点。

MRE衡量了什么?它的单位是什么?

MRE衡量的是在整个数据集上,预测值或测量值与真实值之间的误差平均占真实值的比例。

单位: MRE是一个无量纲的指标,因为它是一个比率的平均值。它通常表示为一个小数(例如 0.05)或百分比(例如 5%)。例如,MRE为 5% 意味着平均而言,预测值与真实值的偏离幅度占真实值的 5%。

二、 为何选择平均相对误差?

相比于平均绝对误差(MAE)或均方根误差(RMSE),MRE有何优势?

MRE最显著的优势在于其尺度无关性

考虑两个例子:

  • 预测商品 A 的销量,真实值为 1000 件,预测值为 1010 件。绝对误差为 10 件。
  • 预测商品 B 的销量,真实值为 10 件,预测值为 20 件。绝对误差为 10 件。

在这两个例子中,MAE(或者单点的绝对误差)是相同的(10)。然而,商品 A 的误差 10 件相对于 1000 件的销量来说很小(相对误差 1%),而商品 B 的误差 10 件相对于 10 件的销量来说非常大(相对误差 100%)。

MRE能够捕捉到这种相对差异。它更适合用于比较在不同数量级上进行的预测或测量,例如同时预测低销量商品和高销量商品的误差,或评估测量不同浓度化学物质的精度。

在哪些场景下,MRE是更合适的评估指标?

MRE特别适用于那些误差的相对大小比绝对大小更重要的场景:

  • 金融预测: 预测股价、汇率或收益,1元的误差对于100元的股票和10000元的股票意义不同。
  • 需求预测: 预测不同 SKU(库存单位)的销量,有些 SKU 销量很高,有些很低,相对误差能更公平地评估预测模型在不同 SKU 上的表现。
  • 经济学: 预测 GDP、通货膨胀率等宏观经济指标。
  • 科学测量: 在测量不同浓度的溶液或不同质量的物体时,关注误差相对于测量值的比例。
  • 回归模型的评估: 特别是当被预测的目标变量取值范围很广,且关注预测值偏离真实值的百分比时。

三、 平均相对误差“在哪里”被应用?

MRE在哪些具体领域是常见的评估工具?

MRE作为一个衡量相对误差的指标,广泛应用于以下领域:

  • 供应链与库存管理: 评估对不同产品的需求预测准确性。
  • 金融服务: 评估各种金融资产或经济指标的预测模型表现。
  • 零售: 用于评估销售预测、定价模型或促销效果的准确性。
  • 能源: 预测不同区域或不同时段的能源消耗或发电量。
  • 环境科学: 评估污染物浓度测量、气候模型预测等的精度。
  • 工业工程: 用于测量系统校准、过程控制误差分析等。
  • 学术研究: 作为许多定量研究领域中评估模型性能的标准指标之一。

能否提供一些具体的应用案例?

当然。例如:

  • 一家大型零售商使用 MRE 来评估其对数千种商品的周销量预测模型的性能。通过 MRE,他们可以公平地比较预测模型在畅销商品(每周几千件)和滞销商品(每周几十件)上的表现,从而优化库存策略。
  • 一个金融分析师在构建股票价格预测模型时,使用 MRE 来评估模型在预测高价股和低价股时的相对准确性。MRE 可以帮助他们判断模型是否对所有价格区间的股票都能提供稳定比例的预测精度。
  • 一个化学实验室在校准新的测量仪器时,可能会使用 MRE 来评估仪器在测量不同浓度标准溶液时的精度。这有助于确定仪器在哪个浓度范围内具有最佳的相对精度。

四、 平均相对误差“有多少”才算好?

“好”的MRE值是多少?是否存在通用的阈值?

对于 MRE 值“多少才算好”这个问题,不存在一个通用的、放之四海而皆准的阈值。 一个可接受的 MRE 值完全取决于具体的应用场景、所在的行业、数据的特性(波动性、噪声水平)、业务的需求以及对误差容忍度。

例如,在高度波动的金融市场中,10% 的 MRE 可能被认为是合理的,但在某些高精度的科学测量中,即使 1% 的 MRE 也可能被认为是不可接受的。

如何解读MRE值的大小?

MRE 值的大小直接反映了平均相对误差的程度:

  • MRE = 0: 表示完美的预测或测量,预测值与真实值完全一致。这在实际中几乎不可能达到。
  • MRE 接近 0: 表示平均相对误差非常小,预测或测量精度很高。
  • MRE = 0.10 (或 10%): 表示平均而言,预测值或测量值偏离真实值的幅度大约是真实值的 10%。
  • MRE 值较大: 表示平均相对误差较大,预测或测量与真实值之间存在显著的相对偏差。

解读 MRE 时,应将其与历史数据、行业基准或竞争对手的表现进行比较,以判断当前 MRE 值是否具有竞争力或是否满足业务要求。

MRE对极端值(离群点)敏感吗?

是的,MRE对极端值(特别是真实值非常小的数据点)非常敏感。

回想相对误差的公式:|预测值 - 真实值| / 真实值。如果真实值 真实值i 非常接近零,即使绝对误差 |预测值i - 真实值i| 很小,这个比值也会变得非常大,可能趋向无穷大。当计算平均值时,这样一个巨大的相对误差值会显著拉高整个数据集的 MRE,即使绝大多数其他数据点的相对误差都很小。

因此,在数据集中存在大量真实值接近零的样本时,MRE可能不是一个鲁棒的评估指标。

如何比较不同数据集或模型的MRE?

  • 比较不同模型在同一数据集上的表现: MRE是一个很好的指标,可以用来比较不同预测模型或测量方法在同一组数据上的相对精度。MRE值较低的模型通常被认为是更好的。
  • 比较不同数据集上的表现: 在比较不同数据集的 MRE 时要谨慎。虽然 MRE 是尺度无关的,但不同数据集可能有不同的底层特性、波动性水平或零值/小值出现的频率。一个模型在一个波动性较低的数据集上可能获得较低的 MRE,而在一个波动性较高或包含大量小值的数据集上获得较高的 MRE,这并不一定意味着模型本身变差了,而是数据集的固有难度不同。

在比较时,最好确保比较的环境尽可能相似,或者使用其他辅助指标(如 MAE, RMSE)以及可视化方法来获得更全面的理解。

五、 如何计算平均相对误差?

计算MRE的具体步骤是怎样的?

计算平均相对误差(MRE)的步骤如下:

  1. 收集数据: 获取一组配对的真实值 (Actual Values) 和对应的预测值或测量值 (Predicted/Measured Values)。假设有 n 对数据点。
  2. 处理零值或极小真实值: 遍历所有数据点。如果某个数据点的真实值为零或非常接近零,这会引发除以零的问题或导致异常巨大的相对误差。常见的处理方法是排除这些数据点不参与 MRE 的计算。如果不排除,MRE将无法计算或失去意义。
  3. 计算每个数据点的相对误差绝对值: 对于每一个真实值不为零的数据点 i,计算其相对误差的绝对值:

    Absolute_Relative_Errori = |(Predicted_i - Actual_i) / Actual_i|
  4. 求和: 将所有有效数据点(真实值不为零的点)的相对误差绝对值相加:

    Sum_Absolute_Relative_Errors = Σ [ |(Predicted_i - Actual_i) / Actual_i| ] (仅对真实值 ≠ 0 的 i 求和)
  5. 计算平均值: 将求得的总和除以参与计算的数据点数量(即真实值不为零的数据点数量):

    MRE = Sum_Absolute_Relative_Errors / (参与计算的数据点数量)

请注意,如果所有真实值都为零,则 MRE 无法计算。

计算MRE需要哪些输入数据?

计算 MRE 需要以下输入数据:

  • 一系列的真实值 (Actual Values)
  • 与每个真实值相对应的预测值或测量值 (Predicted/Measured Values)

这两组数据必须是配对的,即每个预测值/测量值都应该有一个对应的真实值用于比较。

计算MRE时,如何处理实际值为零的情况?

处理实际值为零的情况是计算 MRE 的一个关键挑战,因为除以零是无意义的。常见的处理策略包括:

  • 排除零值样本: 这是最直接和常用的方法。在计算 MRE 时,简单地忽略所有真实值为零的数据点。这种方法的优点是避免了数学上的问题,但缺点是如果零值样本在数据集中占有重要地位或比例较高,排除它们可能导致 MRE 不能全面反映模型在所有情况下的表现。
  • 使用替代指标: 如果零值样本是重要的预测场景,MRE 可能不是最合适的指标。可以考虑使用对零值更鲁棒的指标,例如平均绝对误差 (MAE)、均方根误差 (RMSE),或者专门为包含零值而设计的指标,如 Symmetric Mean Absolute Percentage Error (SMAPE) 或 Mean Absolute Scaled Error (MASE)。
  • 对分母加一个小的常数 (Epsilon): 在实际值为零时,在分母上加上一个非常小的正数 ε (epsilon),例如 0.000001。|(预测值 - 0) / (0 + ε)|。这种方法虽然避免了除以零,但其结果对 ε 的选择非常敏感,且在真实值为零时,计算出的“相对误差”实际上是一个很大的值(如果预测值非零),其意义也值得商榷。因此,这种方法不如前两种常用和推荐。

最佳实践通常是排除零值样本不参与 MRE 计算,并考虑使用其他指标来单独评估模型在零值样本上的表现,或整体上选择对零值更友好的指标。

六、 如何解读与优化平均相对误差?

计算出MRE后,如何进行有效解读?

解读 MRE 需要将其置于具体的业务或研究背景中:

  • 与目标对比: 首先,将计算出的 MRE 与预设的可接受阈值、历史表现或行业标准进行对比。如果 MRE 远高于目标,说明模型或测量系统需要改进。
  • 百分比意义: 记住 MRE 表示的是平均的相对误差比例。例如,15% 的 MRE 意味着预测值平均偏离真实值的幅度约为真实值的 15%。思考这个偏离比例在实际应用中是否可以接受。
  • 结合其他指标: 不要孤立地看 MRE。结合平均绝对误差 (MAE)、均方根误差 (RMSE) 等指标,可以更全面地理解误差的性质(例如,MAE/RMSE 是否很高,表明存在大的绝对误差,而 MRE 也很高,可能意味着这些大误差发生在真实值较小的样本上)。
  • 分析分布: 如果可能,查看每个数据点的相对误差分布,而不仅仅是平均值。这有助于识别误差较大的特定群体或模式。
  • 考察零值/小值处理: 回顾在计算 MRE 时是如何处理零值或极小值的。如果排除了大量这类数据点,那么计算出的 MRE 仅代表了在非零/非极小值上的表现。

MRE值偏高可能是什么原因造成的?

高 MRE 值可能由多种因素导致:

  • 模型或测量精度不足: 这是最直接的原因。模型未能准确捕捉数据背后的模式,或者测量系统存在系统性或随机性误差较大。
  • 数据质量问题: 训练数据的噪声过大、存在错误、缺失值处理不当等都会影响模型性能,导致 MRE 偏高。
  • 真实值接近零的数据点: 如前所述,数据集中存在大量真实值非常小的数据点,即使绝对误差不大,其相对误差也会非常大,从而显著拉高 MRE。
  • 离群点: 无论是输入数据还是真实值/预测值中的离群点,都可能导致局部产生巨大的误差,进而影响平均值。
  • 模型选择不当: 所选的模型类型可能不适合当前的问题或数据特征。
  • 特征工程不足: 用于模型训练的特征未能充分反映与目标变量的关系。
  • 数据波动性: 如果预测或测量目标本身就具有高度的内在波动性(例如,某些产品的销量受多种不可控因素影响),那么即使是最好的模型也可能难以达到非常低的 MRE。

如何尝试降低平均相对误差?

降低 MRE 需要系统性的方法,通常包括:

  • 改进模型: 尝试更复杂的模型、调整模型参数、使用集成方法(如 Bagging, Boosting)来提高预测或测量的准确性。
  • 提升数据质量: 清洗数据、处理缺失值、减少噪声、识别和处理异常值。
  • 优化特征: 进行更深入的特征工程,创建更具预测能力的特征,或者进行特征选择,移除无关或冗余的特征。
  • 专门处理小值/零值: 如果高 MRE 主要由小值或零值样本引起,考虑对这些样本采用不同的建模方法,或者如前所述,选择更适合包含零值数据的评估指标。
  • 收集更多或更相关的数据: 更多的数据通常有助于模型学习更准确的模式;更相关的数据可以提高预测的针对性。
  • 分段建模: 如果数据集包含不同特征或行为的子群体(例如,高销量商品和低销量商品),可以考虑为不同的子群体构建单独的模型。
  • 误差分析: 对误差最大的数据点进行深入分析,理解误差产生的原因,这有助于针对性地改进模型或数据处理流程。

是否存在MRE的替代指标?何时考虑使用它们?

是的,存在多种替代 MRE 的评估指标,它们各有优缺点:

  • 平均绝对误差 (MAE): 计算绝对误差的平均值。优点是直观、鲁棒性好(对异常值不如 RMSE 敏感)。缺点是受数据量级影响,无法直接比较不同量级数据的误差。当关注误差的绝对大小时使用。
  • 均方根误差 (RMSE): 计算误差平方的均值的平方根。优点是惩罚较大的误差更严厉(因为平方效应),数学性质好(与欧几里得距离相关)。缺点是受异常值影响大,同样受数据量级影响。当大误差需要被特别关注和惩罚时使用。
  • 平均绝对百分比误差 (MAPE): 定义与 MRE 非常相似,通常就是 MRE 的百分比形式。MAPE = (1/n) * Σ [ |(预测值i - 真实值i) / 真实值i| ] * 100%。它与 MRE 有着相同的优点(尺度无关性)和缺点(对零值或小值敏感)。
  • 对称平均绝对百分比误差 (SMAPE): 尝试解决 MAPE 对零值敏感的问题,其分母使用预测值和真实值的平均值(或和的一半):SMAPE = (1/n) * Σ [ |预测值i - 真实值i| / ((|真实值i| + |预测值i|)/2) ] * 100%。虽然有所改进,但 SMAPE 在预测值和真实值都为零时仍然无法定义,且在其中一个接近零时仍可能不稳定。
  • 平均绝对缩放误差 (MASE): 特别用于时间序列预测,它将预测误差相对于一个简单的基准预测(如季节性朴素预测)的误差进行缩放。MASE 是尺度无关的,对零值鲁棒。当进行时间序列预测且数据可能包含零值或具有明显季节性时,MASE 是一个强有力的替代指标。

何时考虑使用替代指标:

当 MRE 的固有缺陷(如对零值或小值敏感)在您的应用场景中构成严重问题时;当您的主要关注点是误差的绝对大小而非相对大小时;或者当需要一个对异常值更鲁棒或数学特性更优良的指标时。结合对业务需求的理解,选择最能反映模型实际性能和潜在影响的指标组合至关重要。

总结

平均相对误差是一个强大的工具,尤其适用于需要衡量预测或测量误差相对比例的场景。它提供了尺度无关的视角,使得比较不同量级数据的误差成为可能。然而,它并非万能,对零值和极小值敏感是其显著局限性。理解其定义、适用场景、计算方法以及潜在的问题,并结合具体应用选择最合适的评估指标,是进行有效数据分析和模型评估的关键。在实际工作中,通常建议结合使用 MRE 和其他误差指标,以获得对模型或测量精度更全面、更细致的理解。


平均相对误差