📜  平均绝对误差百分比python(1)

📅  最后修改于: 2023-12-03 15:25:31.659000             🧑  作者: Mango

平均绝对误差百分比(MAPE)介绍

平均绝对误差百分比(MAPE)是常用的衡量预测结果精度的指标之一。它计算预测值与实际值之间的误差百分比的平均值。MAPE可以帮助我们评估预测模型的准确性,特别是在需要进行预测的实际业务领域中非常有用。

MAPE计算公式如下:

$$ MAPE = \frac{100%}{n}\sum_{i=1}^n \frac{|\hat{y}_i - y_i|}{y_i} $$

其中,$n$是样本数量,$\hat{y}_i$是预测值,$y_i$是实际值。

用Python实现MAPE非常简单。下面是一个例子:

def mean_absolute_percentage_error(y_true, y_pred): 
    """
    计算平均绝对误差百分比(MAPE)
    :param y_true: 实际值
    :param y_pred: 预测值
    :return: MAPE
    """
    y_true, y_pred = np.array(y_true), np.array(y_pred) 
    return np.mean(np.abs((y_true - y_pred) / y_true)) * 100

这个例子中的函数接受两个数组参数:y_true表示实际值,y_pred表示预测值。函数使用numpy库计算真实误差占比的平均值,并将其乘以100后返回结果。

使用MAPE有一些需要注意的事项。例如,MAPE对0值非常敏感,因为在分母中有y_true,若y_true为0则无法计算。因此,在使用MAPE时需要注意确保实际值不含0。

另外,MAPE也有一些缺陷。例如,MAPE对于极端值(比如数据中出现了非常小或非常大的值)也非常敏感,因为它是计算误差百分比的平均值。在这种情况下,可以考虑使用其他指标来评估预测模型的准确性。

总结一下,MAPE是一种常用的衡量预测模型准确性的指标。虽然计算简单,但在使用时需要注意实际值不能含0,以及对于极端值非常敏感。