如何在python中计算mape
平均绝对百分比误差 (MAPE)通常用于衡量模型的预测准确性。计算方法如下:
MAPE = (1/n) * Σ(|实际 – 预测| / |实际|) * 100
金子:
- Σ – 表示“和”的符号
- n——样本量
- real——数据的实际值
- 预测——预测数据的值
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] map(actual, pred) 10.8009
从结果中,我们可以看到该模型的平均绝对百分比误差为10.8009% 。也就是说,预测值与实际值的平均差异为10.8009%。
使用MAPE的注意事项
尽管 MAPE 易于计算和解释,但其使用有两个潜在缺点:
1 、由于绝对百分比误差的计算公式为|实际预测| / |真实|这意味着如果任何实际值为零,则不会定义 MAPE。
2. MAPE 不应用于低容量数据。例如,如果某个项目的实际需求为 2,预测为 1,则绝对百分比误差值为 |2-1| / |2| = 50%,这使得预测误差显得相当高,即使预测仅偏离 1 个单位。