在数据分析、预测建模以及各种定量研究领域,评估模型或预测的准确性是至关重要的一步。为了衡量预测值与实际值之间的差异,人们开发了多种误差指标。其中,平均绝对百分比误差(Mean Absolute Percentage Error,简称 MAPE)是一种非常常用且直观的指标。
什么是平均绝对百分比误差 (MAPE)?
平均绝对百分比误差 (MAPE) 是一种衡量预测准确性的统计指标。它计算的是预测值与实际值之间绝对误差占实际值百分比的平均值。
简单来说,MAPE回答了这样一个问题:
“我的预测平均偏离实际值多少个百分点?”
与只计算绝对误差(如平均绝对误差 MAE)或平方误差(如均方误差 MSE、均方根误差 RMSE)的指标不同,MAPE将误差进行了归一化处理,即除以了实际值,从而将误差表示为实际值的百分比。这使得 MAPE 在不同规模的数据集或不同预测对象之间具有更好的可比性。
MAPE 的公式
MAPE 的计算公式如下:
MAPE = (1/n) * Σ [ |(实际值 – 预测值) / 实际值| * 100% ]
其中:
- n 是数据点的数量(即你有多少对实际值和预测值)。
- Σ 表示求和符号,对所有数据点进行求和。
- | … | 表示取绝对值。
- 实际值 是观测到的真实数值。
- 预测值 是模型或方法给出的预测数值。
公式中的
|(实际值 - 预测值) / 实际值| * 100%
计算的是每一个数据点的绝对百分比误差。MAPE 则是这些单独百分比误差的平均值。
为什么使用平均绝对百分比误差 (MAPE)?
选择误差指标取决于具体的应用场景和需求。MAPE 之所以被广泛使用,主要有以下几个原因:
1. 直观易懂
MAPE 的结果是一个百分比,这使得它的解读非常直观。例如,一个 5% 的 MAPE 值很容易理解,它意味着平均而言,预测结果与实际结果相差 5%。这种形式的误差表达对于非专业人士也更容易沟通和理解,特别是在业务决策或管理报告中。
2. 具有可比性 (尺度无关)
这是 MAPE 的一个重要优势。由于它将误差表示为实际值的百分比,MAPE 不受数据本身绝对数值大小的影响。这意味着你可以使用 MAPE 来比较预测不同事物(例如,预测价值几元的商品销量和价值几千元的设备需求)或来自不同来源(例如,不同国家或地区的销售数据)的准确性。一个 10% 的 MAPE 在预测销量为 100 单位的商品和销量为 10,000 单位的商品时,具有相同的相对意义。
3. 强调相对误差
在许多应用中,相对误差比绝对误差更有意义。例如,预测一个值为 10 的东西,误差为 2(即预测值为 12 或 8),其相对误差是 2/10 = 20%。而预测一个值为 1000 的东西,误差为 20,其相对误差是 20/1000 = 2%。虽然绝对误差 2 和 20 不同,但 MAPE 关注的是它们相对于实际值的比例,这更能反映预测在业务上的影响(例如,库存积压或短缺的比例)。
平均绝对百分比误差 (MAPE) 通常在哪里使用?
由于其易读性和可比性,MAPE 在许多领域都非常流行,尤其是在需要对未来进行定量预测的场景:
1. 商业预测
这是 MAPE 最常见的应用领域。包括:
- 销售预测: 预测未来产品或服务的销售量或销售额。不同产品的销售额差异很大,MAPE 能够提供一个统一的准确性衡量标准。
- 需求预测: 预测客户对产品或服务的未来需求,这对于库存管理、生产计划和供应链优化至关重要。
- 库存管理: 评估预测模型在帮助维持最佳库存水平方面的表现。
- 财务预测: 预测公司的收入、支出或其他财务指标。
2. 经济学
在宏观或微观经济预测中评估模型的准确性,例如 GDP 增长、通货膨胀率、失业率等的预测。
3. 供应链管理
评估预测模型在整个供应链中的表现,从原材料需求到最终产品配送。
4. 能源行业
预测电力需求、燃料价格等。
总的来说,任何需要进行定量预测,并且希望以一种直观、可比的方式衡量预测相对于实际值的偏差的领域,都可能使用 MAPE。
平均绝对百分比误差 (MAPE) 如何计算?
我们已经给出了公式,现在通过一个具体的例子来详细说明计算步骤:
假设我们对未来 5 天的某个商品的销量进行了预测,得到了如下数据:
| 天数 | 实际销量 | 预测销量 |
|---|---|---|
| 第 1 天 | 100 | 110 |
| 第 2 天 | 150 | 140 |
| 第 3 天 | 120 | 125 |
| 第 4 天 | 80 | 75 |
| 第 5 天 | 130 | 135 |
现在,我们按照 MAPE 的公式一步步计算:
-
计算每个数据点的绝对误差:
绝对误差 = |实际值 – 预测值|
- 第 1 天:|100 – 110| = |-10| = 10
- 第 2 天:|150 – 140| = |10| = 10
- 第 3 天:|120 – 125| = |-5| = 5
- 第 4 天:|80 – 75| = |5| = 5
- 第 5 天:|130 – 135| = |-5| = 5
-
计算每个数据点的绝对百分比误差:
绝对百分比误差 = (绝对误差 / 实际值) * 100%
注意:这里除以的是实际值。
- 第 1 天:(10 / 100) * 100% = 0.1 * 100% = 10%
- 第 2 天:(10 / 150) * 100% ≈ 0.0667 * 100% ≈ 6.67%
- 第 3 天:(5 / 120) * 100% ≈ 0.0417 * 100% ≈ 4.17%
- 第 4 天:(5 / 80) * 100% = 0.0625 * 100% = 6.25%
- 第 5 天:(5 / 130) * 100% ≈ 0.0385 * 100% ≈ 3.85%
-
将所有绝对百分比误差相加:
总和 = 10% + 6.67% + 4.17% + 6.25% + 3.85% ≈ 30.94%
-
计算平均值(除以数据点数量 n):
数据点数量 n = 5
MAPE = 总和 / n = 30.94% / 5 ≈ 6.19%
所以,这个预测模型的 MAPE 大约为 6.19%。这意味着在预测这 5 天的销量时,平均而言,预测值偏离实际值大约 6.19%。
如何解读平均绝对百分比误差 (MAPE)?
解读 MAPE 值相对直接:
- MAPE 值越低,表示预测的准确性越高。
- MAPE 值越高,表示预测的准确性越低。
例如:
- MAPE = 0% 表示完美预测,预测值与实际值完全一致(这在现实中几乎不可能)。
- MAPE = 10% 表示平均偏离实际值 10%。
- MAPE = 100% 表示平均偏离实际值 100%,这通常意味着预测非常不准确,平均而言,误差的大小与实际值本身的大小相当。
有多少 MAPE 算好?
这是一个经常被问到的问题,但答案是:没有一个普遍适用的“好”的 MAPE 标准。
一个可以接受的 MAPE 值完全取决于以下因素:
- 行业和应用领域: 在某些波动性很高的领域(如股票价格预测),30% 的 MAPE 可能已经算不错了;而在非常稳定的领域(如成熟产品的日常销量预测),10% 的 MAPE 可能被认为是糟糕的。
- 数据的时间粒度: 预测年度数据通常比预测每日或每小时数据更容易准确,因此年度预测的“好”MAPE 值通常会更低。
- 被预测事物的特性: 预测需求稳定、变化缓慢的产品通常比预测需求波动剧烈、受时尚影响的产品更容易,前者可以接受较低的 MAPE。
- 数据质量: 如果历史数据本身存在很多错误或遗漏,那么即使是最好的模型也难以达到很低的 MAPE。
- 业务容忍度: 业务运营对预测误差的容忍度是多少?较低的容忍度意味着需要更低的 MAPE。例如,对高价值、易腐坏或需要大量存储空间的商品的预测,通常需要更低的 MAPE 以避免损失。
因此,评估一个 MAPE 值是“好”还是“坏”,需要结合具体的业务场景、行业标准和历史表现来判断。通常,更倾向于将你的预测模型的 MAPE 与:
- 使用其他预测方法得到的 MAPE 进行比较。
- 历史预测表现的 MAPE 进行比较。
- 行业内其他参与者的预测表现进行比较(如果数据可获得)。
下面是一些在商业预测中常被引用的、非常粗略的 MAPE 解释分级(请注意,这只是一种普遍的、非严格的参考,切勿将其视为硬性标准):
- 小于 10%: 通常被认为是高准确度预测。
- 10% – 20%: 良好的准确度。
- 20% – 50%: 尚可接受的准确度,可能需要改进。
- 大于 50%: 较低的准确度,预测结果可能参考价值不大,模型或方法需要重大调整或重新选择。
再次强调: 这些数值仅供初步参考,实际判断必须依赖于具体的应用背景。
平均绝对百分比误差 (MAPE) 的局限性
尽管 MAPE 非常有用且流行,但它并非没有缺点,尤其是在处理某些类型的数据时:
1. 对零值或接近零值的实际值非常敏感
这是 MAPE 最严重的局限性。如果某个数据点的实际值(Actual Value)为零,则公式中会出现除以零的情况,导致该点的百分比误差无限大或无法计算。这使得 MAPE 在处理包含零销售额或零需求的预测任务时变得不适用或需要特殊处理。
即使实际值非常接近零(例如 0.1),一个很小的绝对误差(例如预测值为 0.2,绝对误差为 0.1)也会导致一个巨大的百分比误差 (0.1 / 0.1 * 100% = 100%),从而极大地扭曲整体的 MAPE 值。
2. 可能对高值样本的误差给予较低权重
由于误差是相对于实际值计算的,MAPE 会更强调那些实际值较小的样本的相对误差。这意味着,对于实际值非常大的样本,即使预测的绝对误差很大,其百分比误差可能相对较小,从而在平均时对总 MAPE 的影响较小。这在某些情况下可能不是理想的,例如,如果你更关心总体的绝对误差大小,或者高值样本的误差造成的业务影响更大时。
3. 可能存在非对称性(倾向于低估)
有研究表明,MAPE 倾向于选择低估的预测模型。这是因为预测值不能小于零(通常实际值也不小于零),而高估时产生的百分比误差没有上限。例如,实际值 100,预测 200 (高估 100),百分比误差是 |100-200|/100 * 100% = 100%。如果实际值 100,预测 0 (低估 100),百分比误差是 |100-0|/100 * 100% = 100%。但如果实际值 100,预测 250 (高估 150),百分比误差是 |100-250|/100 * 100% = 150%。理论上,高估的百分比误差可以超过 100%(例如,预测值远大于实际值),而低估的百分比误差最多是 100%(预测值为零时)。这种不对称性可能导致模型为了降低 MAPE 而倾向于给出较低的预测值。
针对 MAPE 局限性的替代方案或补充
考虑到 MAPE 的局限性,特别是在存在零值或接近零值的情况下,人们也使用或其他指标或对 MAPE 进行改进:
- 对称平均绝对百分比误差 (sMAPE): 这是一个对 MAPE 的改进版本,它在计算百分比误差时,分母使用实际值和预测值的平均值或两者之和的一半,而不是仅仅使用实际值。这解决了除以零的问题(除非实际值和预测值同时为零)并在一定程度上缓解了非对称性。公式为:sMAPE = (1/n) * Σ [ |实际值 – 预测值| / ((实际值 + 预测值) / 2) * 100% ] (存在不同版本的sMAPE公式)。
- 平均绝对误差 (MAE): 如果你更关心预测误差的绝对大小而不是相对大小,或者数据中包含零值,MAE (MAE = (1/n) * Σ |实际值 – 预测值|) 是一个不错的选择。
- 均方根误差 (RMSE): 和 MAE 类似,RMSE (RMSE = sqrt[(1/n) * Σ (实际值 – 预测值)²]) 也衡量绝对误差,但平方处理使得它对大误差更加敏感。
- 均方缩放误差 (MASE): MASE 是一种相对误差指标,它将预测误差与简单基准方法(如朴素预测,即认为下一期的值等于当前期的值)的误差进行比较,从而避免了除以零的问题,并且是尺度无关的。
在实际应用中,通常推荐同时使用多种误差指标来全面评估预测模型的性能,而不是仅仅依赖于 MAPE。
总结
平均绝对百分比误差 (MAPE) 是一个广泛应用于预测准确性评估的指标,因其结果直观(百分比形式)和具有可比性而受到青睐。它通过计算预测误差占实际值的百分比来衡量预测的相对准确度。
然而,在使用 MAPE 时,必须充分了解其局限性,特别是它在处理包含零值或接近零值的实际数据时可能出现的问题,以及它可能对不同大小的实际值产生的不同权重影响。在这些情况下,或者为了获得更全面的评估,可以考虑使用 sMAPE、MAE、RMSE 或 MASE 等其他误差指标作为补充或替代。
最终,“多少 MAPE 算好”并没有固定答案,它是一个需要结合具体业务背景、行业规范和数据特性来判断的相对概念。