有趣的问题。我在学术和应用预测方面一直很活跃,我不记得有人讨论过 MAPE 的 CI。
我不认为你的计算很有帮助。作为一个例子,假设真正的坚持实际是对数正态分布的 log-mean和 log-SD。进一步假设我们的点预测是一个固定的(这是一个期望预测,不是MAPE-minimal对数正态数据的预测)。μ=1σ=1y^=exp(μ+σ22)
回想一下 CI 的定义:它是一种算法,当整个实验经常重复时,它将包含具有预先指定频率的真实参数值。(请注意,这与“任何给定 CI 有 95% 的可能性包含参数”不同。)
我们可以通过模拟来运行我们的实验。实际值得到真正的 MAPE ,然后反复(次)绘制你拥有的观察值。在每种情况下,我都会计算 APE,取它们的平均值和 SD,然后像你一样计算 95% CI。最后,我记录下这个模拟 CI 是否包含真正的 MAPE。n=106105n=4
命中率只有76%,而不是95%。
代码:
set.seed(2020)
fcst <- exp(mm)
actuals <- rlnorm(1e6,meanlog=mm,sdlog=sqrt(ss.sq))
true_MAPE <- mean(abs(fcst-actuals)/actuals)
n_reps <- 1e5
hit <- rep(NA,n_reps)
n_obs <- 4
pb <- winProgressBar(max=n_reps)
for ( ii in 1:n_reps ) {
setWinProgressBar(pb,ii,paste(ii,"of",n_reps))
set.seed(ii) # for replicability
actuals <- rlnorm(n_obs,meanlog=mm,sdlog=sqrt(ss.sq))
APEs <- abs(fcst-actuals)/actuals
CI <- mean(APEs)+qt(c(.025,.975),n_obs-1)*sd(APEs)/sqrt(n_obs)
hit[ii] <- CI[1]<=true_MAPE & true_MAPE<=CI[2]
}
close(pb)
summary(hit)
顺便说一句,我们可以将实验更改如下:我们可以模拟独立同分布的“历史”观察,而不是固定点预测,将点预测计算为它们的平均值(同样,这是一个期望预测,而不是 MAPE-新观察值上评估该点预测,计算如上的 CI。命中率几乎没有变化。n=100n=4
您可能会发现平均绝对百分比误差 (MAPE) 的缺点是什么?有帮助。