文章目录
一、Holt-Winters算法原理
什么是Holt-Winters预测算法?
Holt-Winters算法是一种时间序列预测方法。时间序列预测方法用于提取和分析数据和统计数据并表征结果,以便根据历史数据更准确地预测未来。Holt-Winters 预测算法允许用户平滑时间序列并使用该数据预测感兴趣的领域。指数平滑法会根据历史数据分配指数递减的权重和值,以降低较旧数据的权重值。换句话说,在预测中,较新的历史数据比较旧的结果具有更大的权重。
Holt-Winters中使用的指数平滑方法有三种:
单指数平滑——适用于预测没有趋势或季节性模式的数据,其中数据水平可能随时间而变化。
双重指数平滑法——用于预测存在趋势的数据。
三重指数平滑法——用于预测具有趋势和/或季节性的数据。
Holt-Winters包括预测方程和三个平滑方程,分别用于处理水平 ℓ t , \ell_{t}, ℓt, 趋势 b t b_{t} bt 和季节性成分 s t s t st ,对应的平滑参数分别是 α , β ∗ \alpha, \ \beta^{*} α, β∗ 和 γ \gamma γ 。通常用 m m m 表示季节性的周期,比如季度数据 m = 4 m=4 m=4 ,月度数据 m = 12 m=1 2 m=12 ,
Holt-Winters方法有两种变体,主要区别在于季节性成分的处理方式:
1. 加法模型:当季节性变化较为稳定时使用加法模型。
2. .乘法模型:当季节性变化与数据水平成比例变化时,适用乘法模型。
(一) 加法模型
在加法模型中,季节性成分用绝对值来表示,并在水平方程中通过减去季节性成分来对数据进行季节性调整。每年内,季节性成分的和大约为零。加法模型的分量形式为:
y ^ t + h ∣ t = ℓ t + h b t + s t + h − m ( k + 1 ) \hat{y}_{t+h | t}=\ell_{t}+h b_{t}+s_{t+h-m ( k+1 )} y^t+h∣t=ℓt+hbt+st+h−m(k+1)
包含三个平滑方程,其中,水平方程是一个加权平均,包含季节性调整后的观察值 ( y t − s t − m ) ( y_{t}-s_{t-m} ) (yt−st−m) 和非季节性预测值 ( ℓ t − 1 + b t − 1 ) ( \ell_{t-1}+b_{t-1} ) (ℓt−1+bt−1)
ℓ t = α ( y t − s t − m ) + ( 1 − α ) ( ℓ t − 1 + b t − 1 ) \ell_{t}=\alpha( y_{t}-s_{t-m} )+( 1-\alpha) ( \ell_{t-1}+b_{t-1} ) ℓt=α(yt−st−m