预测精度 - MAPE 和零值

Mig*_*Mig 1 r forecasting

嘿伙计们,经过时间序列的预测过程,我获得了这样的数据框(df)(数字只是示例):

fcast_mean | actual_values
12,5       | 12,3
1,1        | 0
24,3       | 22,7
29,6       | 30,4
...        | ...
Run Code Online (Sandbox Code Playgroud)

我知道如果 actual_value 为零,则 MAPE 是无限的,这就是我的情况!我的问题是:是否有数学错把0,而不是天道酬勤行中(在这种情况下,第2行),其中abs(actual_values - fcast$mean)/abs(actual_values)等于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
Run Code Online (Sandbox Code Playgroud)

Rob*_*man 5

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

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

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