在需求预测中,时间序列是把需求历史按照时间的先后顺序排列,影响需求的变量只有一个,那就是时间。这并不是说没有别的变量;有,而且可能很多,但我们没法一一解释,就把它们全都归因于时间(有点像"时间可以治愈一切")。这些变量整合在一起有一定的惯性,随着时间的进展,呈现出某种模式,这就是需求的延续性。
如图,时间序列可分为三部分:(1)水平----需求展现出忽高忽低的变化,但没有明显的趋势、季节性;(2)趋势----随着时间推移,需求呈现增长或者降低的趋势;(3)周期性----需求呈现交替性的高峰、低谷,季节性就是其中一种,是有规可循的周期性。水平波动、趋势和季节性是需求变动中的"系统部分",可预测;其余的"杂音"属于随机变动,不可预测。
资料来源:《供应链计划:需求预测与S&OP》,许栩著,有修改。
对于水平波动、趋势、季节性等每类需求,在我的书中都介绍了两种不同的预测方法,这里我们比较这些方法的优劣和适用场景(抱歉,限于篇幅,我们在这里没法详细介绍每种预测方法,感兴趣的可参考我的《需求预测和库存计划:一个实践者的角度》一书)。
水平波动:移动平均和简单指数平滑法
对于忽高忽低,但没有明显趋势、季节性的需求,移动平均法、简单指数平滑法都是合适的预测方法。两者都预测未来是一条直线。你知道,只要预测跨度足够大,未来往往会呈现某种程度的趋势、季节性。所以,这两类方法只适用于短期预测。
相比移动平均法,简单指数平滑法的一大优点是灵敏,因为它本身就是加权移动平均,越新的需求历史的权重越大。对于新近发生的,简单指数平滑模型可以更快捡起,反映到下一步的预测中,以便快速纠偏。比如昨天开始促销了,供应链根本不知道,但简单指数平滑模型已经从昨天的销量探知到了,就驱动今天多补货。如果选择大一点的平滑系数,模型还可更快地响应。
在当今影响需求的手段越来越多,需求变动越发频繁的情况下,简单指数平滑法的这个优点很重要,让我们能够尽快快速响应。比如门店或渠道在做促销,前置库位的需求突然增加;新产品导入,带动关联产品的需求;气温升降,带动相应产品的需求,都可以通过指数平滑法尽快发现,及时驱动总仓补货。
在备品备件领域,特别是高值慢动的产品,需求很不频繁,但一旦有需求发生,往往意味着很多:这批设备用到一定年限了,需要更换备件,或者产线在做预防性维修,需要很多备件等。简单指数平滑法能够更好地迅速捡起这一信号,尽快调整预测,驱动供应链尽快响应。我以前在备件计划领域,用的软件是由沃顿商学院的教授和博士们开发,其中预测模块主要用的就是简单指数平滑法。
相比移动平均法,简单指数平滑法更加复杂。比如初始预测值的确定,最优平滑系数的确定,都不是很直观。在用移动平均法时,我们可以根据对业务的理解,选择一定滑动窗口大小的预测模型,一般企业会有些经验值;但在用简单指数平滑法时,平滑系数的选择并不直观,跟我们的业务并不能简单挂钩,很多企业还没有建立相应的经验值。
跟移动平均法一样,简单指数平滑法是滞后的,一旦需求表现出明显的趋势、季节性,指数平滑法就一直处于"追赶"状态。但通过选择更大的平滑系数,简单指数平滑法可更灵敏地响应,滞后地没有移动平均那么严重,特别是移动平均的滑动窗口较大,用的需求历史较多的时候。
趋势:霍尔特法和线性回归的优劣
对于趋势,我们可用霍尔特指数平滑法,也可用线性回归法来预测。这两种方法的优劣,让我们举个例子来说明。
如图,这个产品的需求呈现下降趋势。用线性回归法预测趋势时,我们是用一条直线来拟合,直线的斜率是固定的,比较"僵硬",可优化之处很少,响应度、准确度也相对更低。用霍尔特法时,斜率是变动的,我们在用一条折线来拟合,而且可调整两个平滑参数来优化模型。
霍尔特法比线性回归更灵活、更响应
这就是说,霍尔特法的自适应性更好,可以通过两个平滑系数一路调整,用折线来拟合折线。而线性回归呢,一旦截距和斜率确定了,模型就不会改变。上述论断同样适用于霍尔特-温特模型:在预测趋势和季节性时,霍尔特-温特模型要比传统的季节性模型灵活。
参考ChatGPT,我们在下表中更详细地总结了两种方法的优劣。
线性回归的优点是简单,易于理解;适合于长期趋势的预测,尤其是当数据表现出稳定的趋势时;可以扩展为多元回归,考虑多种因素。其缺点也很明显:对异常值比较敏感,极端值可能导致模型显著偏离整体趋势;假定关系是线性的,对非线性趋势的数据表现较差,无法很好捕捉非线性变化;自适应性弱,对于显著变化的需求,反应较慢,不如霍尔特法。
霍尔特法能动态调整水平、趋势,更好地适应短期波动。其缺点是更适合于短期预测,特别是近期趋势影响较大时;只能用于单变量的时间序列。还有,霍尔特法比线性回归更难掌握,更不直观,计算量也更大,其初始化、平滑系数择优也更复杂,更难掌握。
好处是,两种模型都可以在Excel中实现,而且有多个函数、功能来实现。比如我们可以用函数TREND来做线性回归,用函数FORECAST.ETS来运行霍尔特模型。我有另一篇文章详细谈到这些。
那么,两者哪个更准确呢?这没有明确的答案,要看应用环境和数据特点。整体而言,长期预测、趋势相对明确的情况下,线性回归一般更好;短期预测、需求变动大、趋势可能随时间而变化时,霍尔特法一般更好。
也就是说,预测未来一年、两年、三年的产能需求,线性回归可能更好;但预测未来几天、几周的补货,霍尔特法可能是更好的选择。
季节性需求:季节模型 vs.霍尔特-温特模型
对于季节性需求,传统的模型是将时间序列分解为趋势、季节性和随机误差成分,然后分别预测,再叠加起来。它的优点是简单,适用于预测跨度较长、季节性较稳定的情况。缺点是模型比较"僵硬",比如趋势和季节指数都没法调整,自适应性差。这在需求模式渐进改变的情况下,预测准确度就低。
解决方案是霍尔特-温特模型。相比霍尔特模型的双参数,霍尔特-温特模型增加了季节性参数,也叫三重指数平滑模型:水平部分对应的α平滑系数,趋势部分对应的β平滑系数,季节性部分对应的γ平滑系数。
在三个平滑系数的作用下,三部分都在调整。比如今天的趋势跟3个月前可能不同,明年的季节指数跟今年的可能不同。这带来很大的灵活性,让霍尔特-温特模型具备更好的自适应功能。
我们可以通过调整平滑系数,决定把多大比例的"随机"变动当成规律性的变动----平滑系数越大,我们认为最新变动中的规律性成分就越高,从而被整合进后续预测中了,相应地模型也更敏捷,当然也意味着更不平稳;平滑系数越小,最新变动中的更大比例就被视作随机成分,因而被平滑掉了,模型就越稳定,越平滑。
所以,霍尔特-温特法能够更灵敏地调整预测,适合动态变化的市场环境。也正因为如此,它对极端值更为敏感。如果你是个新零售,每天的需求呈现季节性(比如工作日需求低,周末需求高),且受各种促销、活动、天气情况影响,霍尔特-温特法一般比传统的季节性模型更合适。
正因为它更灵敏,霍尔特-温特法更适合于短期预测,但不能很好地适应长期趋势的结构性变化(如行业变迁)----对长期预测,传统的季节性模型更容易发现规律,而且更具解释性。比如你要计划未来几个月、几个季度的产能、库存,传统的季节性模型往往是更可靠的选择,也更容易从商业的角度来解释、理解。
小结
对于水平波动、趋势、季节性每类需求,在我的《需求预测和库存计划:一个实践者的角度》都介绍了两种预测方法。这里简单介绍了每种预测方法的优劣,以及各自的适用环境。鉴于篇幅,每种方法后面有很多细节,没法在此详细介绍,感兴趣的读者可找本预测方面的书来看。
评论