如何在 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 易于计算和解释,但使用它有两个潜在的缺点:

  1. 由于计算绝对百分比误差的公式是|实际预测| / |实际| 这意味着如果任何实际值为零,则 MAPE 将是未定义的。

  2. MAPE 不应用于低容量数据。例如,如果某个项目的实际需求为 2,而预测为 1,则绝对百分比误差的值为 |2-1|。/ |2| = 50%,这使得预测误差看起来相当高,尽管预测只偏离了一个单位。

来源:小夕Coding

物联沃分享整理
物联沃-IOTWORD物联网 » 如何在 Python 中计算 MAPE

发表评论