如果数据集中的一些实际值为0,如何计算MAPE



我是数据科学的新手,正在努力理解预测与实际的差异评估。

假设我有实际值:

27.580
25.950
0.000 (Sum = 53.53)

我使用XGboost的预测值是:

29.9
25.4
15.0 (Sum = 70.3)

仅仅根据总和进行评估更好吗?示例添加所有实际值减去所有预测值?差异=70.3-53.53?

还是基于MSE、MAE、RMSE、MAPE等预测误差技术来评估差异更好?

既然我读到MAPE是最广泛接受的,那么如何在0是分母的情况下实现它,正如我在上面的实际情况中所看到的那样?

有没有更好的方法来评估与实际的偏差,或者这些是唯一合法的方法?我的目标是建立更多涉及不同变量的预测模型,这将给我不同的预测值,然后选择与实际值偏差最小的模型。

如果要根据每个点或总和进行评估,则取决于您的数据和用例。

例如,如果每个点代表一个时间段,并且每个时间段的准确性很重要(例如,对于生产计划(,那么我认为需要对每个时间段进行评估。

如果你要衡量总和的准确性,那么你也可以根据总和进行预测。

对于你在MAPE上的问题,你在这里提到的问题是无法解决的。您的数据必须为非零,MAPE才有价值。如果你只评估一个时间序列,那么你可以使用MAE,这样你就不存在精度无限/未定义的问题。但是,有很多方法可以测量准确性,我的经验是,这在很大程度上取决于您的用例和数据集,哪一种更可取。请参阅Hyndman关于间歇性需求的准确性的文章,了解有关准确性测量的一些要点。

MAPE由于0s 而无法计算时,我使用MdAPE(中值绝对百分比误差(

最新更新