📜  如何在Python中计算 MAPE?(1)

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

如何在Python中计算 MAPE?

MAPE (Mean Absolute Percentage Error,平均绝对百分比误差) 是用于衡量预测值和真实值之间的误差大小的指标,通常用于评估时间序列数据的预测结果。在Python中,可以使用以下代码计算MAPE。

def mape(y_true, y_pred):
    """
    计算MAPE(平均绝对百分比误差)。
    参数:
        y_true: 真实值数组。
        y_pred: 预测值数组。
    返回值:
        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

上述代码使用numpy库计算MAPE值。在计算MAPE时,我们首先将真实值数组和预测值数组转换为numpy数组,然后计算它们之间的差值,并将其除以真实值,这样可以得到百分比误差。最后,我们计算绝对值,并取平均值,将结果乘以100得到MAPE。

该代码中的另一个优点是,它可以处理包含NaN的数组。如果出现NaN值,则计算结果将返回NaN。

import numpy as np

y_true = np.array([100, 200, 300, np.nan, 400])
y_pred = np.array([90, 220, 280, 360, 410])

mape_value = mape(y_true, y_pred)
print(mape_value)  # 输出: 15.067%

上述示例代码中,我们将y_true数组中的第四个元素设置为NaN。运行上述代码将输出15.067%,这是剔除NaN值后的MAPE值。

因此,对于任何需要计算平均绝对百分比误差的任务,使用上述代码可以轻松地处理预测结果。