预测准确度 - MAPE和零值

时间:2017-01-10 14:27:43

标签: r forecasting

Hy先生,在预测了时间序列的过程之后,我得到了一个这样的数据框(df)(数字只是例子):

fcast_mean | actual_values
12,5       | 12,3
1,1        | 0
24,3       | 22,7
29,6       | 30,4
...        | ...

我知道如果actual_value为零,MAPE是无限的,这就是我的情况! 我的问题是:在abs(actual_values - fcast$mean)/abs(actual_values)等于Inf的行中(在这种情况下是第2行)放0而不是Inf在数学上是错误的吗? 这种变化对MAPE计算有什么影响? 它不再是预测准确性的可靠指标吗?

我对MAPE的R代码部分是:

x <- abs(df$actual_values-df$fcast_mean)/abs(df$actual_values)
x[is.infinite(x)] <- 0
MAPE <- (1/nrow(df$actual_values))*(sum(x))*100

1 个答案:

答案 0 :(得分:2)

您不能只将Inf更改为0并期望结果有意义。无限MAPE是MAPE可能出现的问题之一。出现此问题时,请使用其他准确度量。

MASE是一种替代方法(平均绝对缩放误差),描述为here

由于您使用的是R,accuracy包中的forecast函数可能会有用。