时间序列预测的评估指标补遗
本文链接:个人站 | 简书 | CSDN
版权声明:除特别声明外,本博客文章均采用 BY-NC-SA 许可协议。转载请注明出处。
在《销量预测中的误差指标分析》一文中,我们介绍了一些时间序列点预测中常用的指标。而通过在《为什么需要考虑销量的随机性?》、《报童问题》和《报童问题的简单解法》等文中的探讨,我们已经看到,将需求预测的方式从点预测改为概率分布预测,可以有效降低库存管理的风险,获得更大的期望收益。针对时间序列的概率分布预测,我们也已经介绍了 DeepAR、Transformer 等若干深度学习模型。那么,该如何评估概率分布预测的效果呢?在《概率预测的评估方法简介》一文中,我们已经介绍了一些通用的概率预测的评估指标。在本文中,我们再补充介绍几个适用于时间序列的概率预测评估指标。
1. Quantile Loss
在《分位数回归》一文中,我们证明了以最小化分位数损失作为训练目标,可以得到分位数预测模型。其实反过来看,分位数损失也可以作为概率分布预测的评估指标。
用 表示 时刻的真实值,用 表示概率分布预测给出的 时刻的 分位数,总共预测 步,我们定义 Quantile Loss 为
在此基础上定义 weighted Quantile Loss 为
不难发现取 时
wMAPE 是在销量点预测中常用的评估指标,现在我们知道它可以看作分位数损失的一个特例,或者反过来说,分位数损失可以看作 wMAPE 的泛化。因此,选择分位数损失作为概率分布预测的评估指标还有一个额外的好处,就是可以把点预测和概率分布预测的评估统一起来。
2. Coverage
沿用上面的符号,我们定义 Coverage 指标为
也就是在 步预测中,真实值 小于等于预测的 分位数 的比例。直观上来看,如果预测得越准,这个比例应该越接近 。
事实上
因此,,则 。
这个指标的优势是非常直观。我们可以取多个 ,分别计算 ,然后作 图,如果越靠近直线 ,说明预测越准。
3. MSIS (Mean Scaled Interval Score)
这是 M4 比赛的指标之一,用来评估预测区间的好坏。其定义为
其中 是显著性水平, 和 是预测区间的上界和下界。举例来说,我们给出了 95% 预测区间的上下界,此时 。
我们先看分子,第一项惩罚的是上下界之间的间隔,第二项惩罚的是真实值低于下界的情况,第三项惩罚的是真实值高于上界的情况。单看分子很好理解,直观上就是要用尽可能窄的区间把真实值“包”进去。
那么分母是个什么玩意儿呢?它实际上借鉴自点预测的一种评估指标,MASE (Mean Absolute Scaled Error)。
MASE 实际上是用测试集上的 MAE 除以一个 Naïve 预测模型在训练集上的 MAE。所谓的 Naïve 模型,有两种情况,对于非周期性序列,则预测 ;对于周期性序列,设周期为 ,则预测 。MASE 的意义在于,所有的模型都来跟 Naïve 模型比一比,看看能比它好出多少。
总之需要注意的是,MASE 和 MSIS 的分母是用训练集来计算的。
4. CRPS (Continuous Ranked Probability Score)
这个指标我们在《概率预测的评估方法简介》中已经介绍过了,它也是概率预测中使用最广泛的指标之一,它的定义如下:
其中 是预测分布的 CDF, 是观测值的 CDF。由定义可知,CRPS 衡量的是预测分布和真实分布的差异,当预测分布与真实分布完全一致时,CRPS 为零。预测分布过于集中、过于分散,亦或是偏离观测值太远都会导致 CRPS 增大。
问题在于,在我们的场景下,每天的销量只会发生一次——我们不能看到某一件商品在多元宇宙中的销量——无法给出观测值的 CDF。这种情况下,可以用下面的式子来估算
其中
为单位阶跃函数。
前面已经提到分位数损失可以看作 wMAPE 的泛化。事实上,这种定义下的 CRPS 也可以看作是点预测中常见的 MAE 指标的泛化,这也是为什么我们要在这里炒冷饭。如果我们输出的仅仅是一个点预测 ,则它的 CDF 也只能使用单位阶跃函数近似为 。代入到 CRPS 的定义中,可以发现
CRPS 评估的是分布整体的情况,而不是某个分位数,这是它的优势。这也意味着模型必需能够输出累积分布函数。与分位数损失类似,CRPS 也可以将点预测和概率分布预测的评估统一起来,但是 MAE 并不像 wMAPE 应用得那么频繁。
参考文献
- Salinas D, Flunkert V, Gasthaus J, et al. DeepAR: Probabilistic forecasting with autoregressive recurrent networks[J]. International Journal of Forecasting, 2019.
- M4 Competitor's Guide
- Mean absolute scaled error - Wikipedia