如何在 Python 中计算 MAPE
平均绝对百分比误差 (MAPE) 通常用于衡量模型的预测准确性。计算如下:
MAPE = (1/n) * Σ(|实际 – 预测| / |实际|) * 100
在哪里:
Σ – 表示“总和”的符号
n – 样本量
actual – 实际数据值
prediction – 预测的数据值
MAPE 是常用的,因为它易于解释和易于解释。例如,MAPE 值为 11.5% 意味着预测值与实际值之间的平均差异为 11.5%。
MAPE 的值越低,模型预测值的能力就越好。例如,MAPE 为 5% 的模型比 MAPE 为 10% 的模型更准确。
如何在 Python 中计算 MAPE
没有内置的 Python 函数来计算 MAPE,但我们可以创建一个简单的函数来执行此操作:
import numpy as np
def mape(actual, pred):
actual, pred = np.array(actual), np.array(pred)
return np.mean(np.abs((actual - pred) / actual)) * 100
然后我们可以使用这个函数来计算两个数组的 MAPE:一个包含实际数据值,另一个包含预测数据值。
actual = [12, 13, 14, 15, 15,22, 27]
pred = [11, 13, 14, 14, 15, 16, 18]
mape(actual, pred)
10.8009
从结果中我们可以看出,该模型的平均绝对百分比误差为10.8009%。也就是说,预测值与实际值的平均差为10.8009%。
使用 MAPE 的注意事项
尽管 MAPE 易于计算和解释,但使用它有两个潜在的缺点:
-
由于计算绝对百分比误差的公式是|实际预测| / |实际| 这意味着如果任何实际值为零,则 MAPE 将是未定义的。
-
MAPE 不应用于低容量数据。例如,如果某个项目的实际需求为 2,而预测为 1,则绝对百分比误差的值为 |2-1|。/ |2| = 50%,这使得预测误差看起来相当高,尽管预测只偏离了一个单位。
来源:小夕Coding