文章目录
一、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)+(1−α)(ℓt−1+bt−1)
趋势方程与Holt的线性方法相同。
b
t
=
β
∗
(
ℓ
t
−
ℓ
t
−
1
)
+
(
1
−
β
∗
)
b
t
−
1
b_{t}=\beta^{*} ( \ell_{t}-\ell_{t-1} )+( 1-\beta^{*} ) b_{t-1}
bt=β∗(ℓt−ℓt−1)+(1−β∗)bt−1
季节性方程通过当前的季节性指数
(
y
t
−
ℓ
t
−
1
−
b
t
−
1
)
( y_{t}-\ell_{t-1}-b_{t-1} )
(yt−ℓt−1−bt−1) 和上一年同一季节的季节性指数
s
t
−
m
s_{t-m}
st−m 来平滑季节性成分。
s
t
=
γ
(
y
t
−
ℓ
t
−
1
−
b
t
−
1
)
+
(
1
−
γ
)
s
t
−
m
s_{t}=\gamma( y_{t}-\ell_{t-1}-b_{t-1} )+( 1-\gamma) s_{t-m}
st=γ(yt−ℓt−1−bt−1)+(1−γ)st−m
(二) 乘法模型
在乘法模型中,季节性成分以相对值(百分比)表示,并通过将时间序列除以季节性成分来进行季节性调整。每年内,季节性成分的和约为
m
∘
m_{\circ}
m∘ ,乘法模型的分量形式为:
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)
ℓ
t
=
α
y
t
s
t
−
m
+
(
1
−
α
)
(
ℓ
t
−
1
+
b
t
−
1
)
\ell_{t}=\alpha{\frac{y_{t}} {s_{t-m}}}+( 1-\alpha) ( \ell_{t-1}+b_{t-1} )
ℓt=αst−myt+(1−α)(ℓt−1+bt−1)
b
t
=
β
∗
(
ℓ
t
−
ℓ
t
−
1
)
+
(
1
−
β
∗
)
b
t
−
1
b_{t}=\beta^{*} ( \ell_{t}-\ell_{t-1} )+( 1-\beta^{*} ) b_{t-1}
bt=β∗(ℓt−ℓt−1)+(1−β∗)bt−1
s
t
=
γ
y
t
(
ℓ
t
−
1
+
b
t
−
1
)
+
(
1
−
γ
)
s
t
−
m
s_{t}=\gamma{\frac{y_{t}} {( \ell_{t-1}+b_{t-1} )}}+( 1-\gamma) s_{t-m}
st=γ(ℓt−1+bt−1)yt+(1−γ)st−m
(三) 阻尼趋势
Holt-Winters 可以在加法和乘法季节性模型中引入阻尼(Damping)趋势。阻尼趋势能够使模型在预测未来趋势时更加稳健,避免趋势无限延伸,适用于那些趋势可能逐渐趋于稳定的时间序列数据,该方法结合了季节性和趋势的平滑,并通过阻尼因子
标签:01,df,Holt,1971,plt,Sentosa,DSML,数据,col From: https://blog.csdn.net/qq_45586013/article/details/142490482