Reading Goal
我面临的问题是, 我对于销售预测(比如 M5 competition) 缺乏足够的认识. 而实际的数据比M5 competition的更差:
- SKU 长度不定: 有的长, 有的短
- 0膨胀: 大概90%的序列, 0 都超过95%
- 数值问题: 存在负值, 数据稀疏
- 结构性断点: 很多对序列有冲击的事件, 没有记录
- 长周期性: 这点可能初看问题不大, 但实际上, 由于很多零售行业会有很多短生命周期的产品, 导致长周期性是危险的.
显然, 上述问题导致了Tabular方法直接预测可能就不够适用.
我希望得到一个相对通用的预测框架, 主要针对零售行业. 因此, 我将目光转向了时间序列方法.
What can be forecast
实际业务数据与我们在学习模型时所使用的标准、规范的数据集并不相同。
在 benchmark 数据集中,预测对象、时间粒度以及评估指标往往是预先定义好的; 而在实际场景中,这些问题本身就需要反复讨论,甚至并不存在唯一合理的答案。
也正是在这样的背景下,书中 What can be forecast 这一节所强调的观点显得尤为重要: 对问题的良好定义,以及对预测结果的合理评估,往往比具体采用何种预测方法更为关键。
预测失败,往往源于问题定义错误,而不是模型选择错误。