本篇文章希望对demand forecasting涉及的技术进行框架性的整理。首先参考的是供应链及库存相关的著作,一般其中都会有关于forecasting的一章。
References
- Waters, D. (2003). Inventory control and management 2nd. John Wiley & Sons. (偏OM)
- Axsäter, S. (2015). Inventory control (Vol. 225) 3rd. Springer. (更新,信息更多些)
- Wheelwright, S., Makridakis, S., & Hyndman, R. J. (1998). Forecasting: methods and applications. John Wiley & Sons.(Add seasonality to ARIMA)
- Nahmias, S. (1994). Demand estimation in lost sales inventory systems. Naval Research Logistics (NRL), 41(6), 739-757. citation 175
- https://lovvge.github.io/Forecasting-Tutorial-KDD-2019/ (TODO 还没来得及细看)
方法论
哲学
- Fcst is unavoidable, no-fcst implies casual fcst
- fcst->realization->analysis->fcst again... is a loop
- Not only demand needs to be fcsted, uncertainty is everywhere: when we assume a futre cost, this is also fcst
- 系统: input->fcst->anomaly detection后处理-> 叠加expert opinon -> final plan
- A good fcst is :
- Accurate and unbiased
- Sensitive to changes but robust
- White box, easy to explain
方法分类
- Demand forecasting -> Time series forecasting
- Qualicative
- Judgemental fcst (based on expert opinion)
- Personal insight:一个人。不可靠
- panel consensus: 一群人达成共识。太主观
- delphi:一群人提交意见然后公示,再讨论等。稍微好些
- market survey
- historical analogy:适合新品
- Quantitative
- Projective : 假定历史pattern将反应到未来
- Simple average
- Moving average
- Exponential Smoothing
- Causal: 假定demand由一些因素导致,进行拟合
- Linear regression
- ML, tree models
- Combined
- Trend+Seasonal model. 既有历史pattern也使用causal model进行叠加,例如对季节性的处理
Practical Concerns
Time series
- Always start by data analysis and visualization: dray the graph
- Point fcst is never correct: there is random noises
Causal
- LR or ML: use r-square and r to check goodness of fit and correlations
Projective
- MA: window size determines sensibility to demand change
- ES: 当品数较大,有必要设置一些自动监控测试,例如通过tracking signal探测异常。一个可能的定义: sum of errors/MAD。
- ES with trends: Holt's algo. two parameters. For monthly update: consider alpha 0.2 beta 0.05
- Winters Trend-Seasonal method. 在seasonality上,可以通过聚合来减少random deviation带来的影响.这也提醒我们,不同的components可以用不同维度的聚合数据
- use lr for trend model is not preferred wrt ES with trend. p21 Axsater.
- Sporadic demand:稀疏但每次量比较大。把出现间隔作为变量,做es
- Box-Jenkins technique (ARIMA)
- 可以处理非独立的demand
- Add seasonality to ARIMA. Makridakis et al. 1998.
- 灵魂拷问:Projective假设合理吗?历史pattern 序列可以延伸到未来?
Trend and seasonality models
- LR->baseline+trend->season index->average index->future by LR->multiple index
- 使用causal approach处理类似seasonality这种叠加因素,与baseline叠加。可以额外加入迭代的机制。
Some facts: fcst needs to be planned
- Decision makers' opinions are biased: 听众希望偏高/偏低的预测
- 预测的精度要看听众需要
- More uncertainty the fcst is, more safty stock needed:体现了传统供应链中预测和库存的关系
- 系统性的异常检测和后处理流程,基于MAD
Forecast error treatement
- 使用MAD衡量预测偏差。假定预测值为mean,则MAD = |x_t - x_t^|. 含义与sigma类似并且近似等于sigma/1.25, assuming normal distribution
- 初期信息不全,也有方法determine the standard deviation as a function of demand
- 如何考虑censored demand。 Nahmias 1994
- 基于MAD进行异常值检测