1.一次指数平滑(指数加权平均)
一次指数加权平均通式为:
s
t
=
α
∗
x
t
+
(
1
−
a
)
∗
s
t
−
1
=
α
x
t
+
α
(
1
−
α
)
x
t
−
1
+
(
1
−
α
)
2
s
t
−
2
=
α
[
x
t
+
(
1
−
α
)
x
t
−
1
+
(
1
−
α
)
2
x
t
−
2
+
…
]
+
(
1
−
α
)
t
s
0
=
α
∑
i
=
0
t
(
1
−
α
)
i
x
t
−
i
\begin{aligned} s_t & = \alpha * x_{t} +(1-a)* s_{t-1} \\ & =\alpha x_t + \alpha(1-\alpha) x_{t-1} +(1-\alpha)^2 s_{t-2} \\ & =\alpha [x_t + (1-\alpha) x_{t-1} +(1-\alpha)^2 x_{t-2} + …] +(1-\alpha)^t s_0 \\ & =\alpha \sum_{i=0}^{t}(1-\alpha)^ix_{t-i} \end{aligned}
st=α∗xt+(1−a)∗st−1=αxt+α(1−α)xt−1+(1−α)2st−2=α[xt+(1−α)xt−1+(1−α)2xt−2+…]+(1−α)ts0=αi=0∑t(1−α)ixt−i
预测第t+h时刻的值为:
x
t
+
h
=
s
t
,
其
中
h
>
0
x_{t+h}=s_{t},\quad 其中h>0
xt+h=st,其中h>0。
2.二次指数平滑
方法一
定义{bt} 表示数据的趋势序列,则二次指数平滑法可以表示如下:
s
1
=
x
1
b
1
=
x
1
−
x
0
s
t
=
α
x
t
+
(
1
−
α
)
(
s
t
−
1
+
b
t
−
1
)
b
t
=
β
(
s
t
−
s
t
−
1
)
+
(
1
−
β
)
b
t
−
1
\begin{aligned} s_1 & = x_1 \\ b_1 & = x_1 - x_0 \\ s_t & = \alpha x_t + (1-\alpha)(s_{t-1} +b_{t-1}) \\ b_t & = \beta (s_t - s_{t-1}) + (1-\beta)b_{t-1} \end{aligned}
s1b1stbt=x1=x1−x0=αxt+(1−α)(st−1+bt−1)=β(st−st−1)+(1−β)bt−1
其中α为数据平滑因子,0<α<1,β为趋势平滑因子,且0<β<1.则第t+h预测值为:
x
t
+
h
=
s
t
+
h
b
t
,
其
中
h
>
0
x_{t+h} = s_t + h b_t,\quad 其中h>0
xt+h=st+hbt,其中h>0
对于第0期,是没有预测值的。一个替代的方案是使用
b
0
=
x
n
−
x
0
n
,
n
>
0
b_0 = \frac{x_n - x_0}{n},n > 0
b0=nxn−x0,n>0
方法二
此方法又称为布朗线性指数平滑(Brown’s linear exponential smoothing (LES))定义如下:
s
0
′
=
x
0
s
0
′
′
=
x
0
s
t
′
=
α
x
t
+
(
1
−
α
)
s
t
−
1
′
s
t
′
′
=
α
s
t
′
+
(
1
−
α
)
s
t
−
1
′
′
\begin{aligned} s_0^\prime & = x_0 \\ s_0^{\prime\prime} & = x_0 \\ s_t^\prime & = \alpha x_t + (1-\alpha)s_{t-1}^\prime \\ s_t^{\prime\prime} & = \alpha s_t^\prime + (1-\alpha) s_{t-1}^{\prime\prime} \end{aligned}
s0′s0′′st′st′′=x0=x0=αxt+(1−α)st−1′=αst′+(1−α)st−1′′
则有:
a
t
=
2
s
t
′
−
s
t
′
′
b
t
=
α
1
−
α
(
s
t
′
−
s
t
′
′
)
\begin{aligned} a_t & = 2s_t^\prime - s_t^{\prime\prime} \\ b_t & = \frac{\alpha}{1-\alpha} (s_t^\prime - s_t^{\prime\prime}) \end{aligned}
atbt=2st′−st′′=1−αα(st′−st′′)
其中
a
t
a_t
at为在t时刻的预测水平,
b
t
b_t
bt为在t时刻的预测趋势,定义如下:
则第t+h预测值为:
x
t
+
h
=
a
t
+
h
b
t
,
其
中
h
>
0
x_{t+h} = a_t + hb_t ,\quad 其中h>0
xt+h=at+hbt,其中h>0
3.三次指数平滑(Holtwinter)
方法一(累加):
s
0
=
x
0
s
t
=
α
(
x
t
−
c
t
−
L
)
+
(
1
−
α
)
(
s
t
−
1
+
b
t
−
1
)
b
t
=
β
(
s
t
−
s
t
−
1
)
+
(
1
−
β
)
b
t
−
1
c
t
=
γ
(
x
t
−
s
t
)
+
(
1
−
γ
)
c
t
−
L
\begin{aligned} s_0 & = x_0 \\ s_t & = \alpha (x_t-c_{t-L}) + (1-\alpha)(s_{t-1} + b_{t-1})\\ b_t & = \beta(s_t - s_{t-1}) + (1- \beta)b_{t-1}\\ c_t & = \gamma (x_t-s_t)+ (1-\gamma)c_{t-L}\\ \end{aligned}
s0stbtct=x0=α(xt−ct−L)+(1−α)(st−1+bt−1)=β(st−st−1)+(1−β)bt−1=γ(xt−st)+(1−γ)ct−L
其中α为数据平滑因子,0<α<1,β为趋势平滑因子,且0<β<1,
γ
\gamma
γ为周期性平滑因子。则第t+h预测值为:
x
t
+
h
=
s
t
+
h
b
t
+
c
t
+
(
h
%
L
)
−
L
,
其
中
h
>
0
x_{t+h} = s_t + hb_t+c_{t + (h \% L) - L },\quad 其中h>0
xt+h=st+hbt+ct+(h%L)−L,其中h>0
方法二(累乘):
s
0
=
x
0
s
t
=
α
x
t
c
t
−
L
+
(
1
−
α
)
(
s
t
−
1
+
b
t
−
1
)
b
t
=
β
(
s
t
−
s
t
−
1
)
+
(
1
−
β
)
b
t
−
1
c
t
=
γ
x
t
s
t
+
(
1
−
γ
)
c
t
−
L
\begin{aligned} s_0 & = x_0 \\ s_t & = \alpha \frac{x_t}{c_{t-L}} + (1-\alpha)(s_{t-1} + b_{t-1})\\ b_t & = \beta(s_t - s_{t-1}) + (1- \beta)b_{t-1}\\ c_t & = \gamma \frac{x_t}{s_t} + (1-\gamma)c_{t-L} \end{aligned}
s0stbtct=x0=αct−Lxt+(1−α)(st−1+bt−1)=β(st−st−1)+(1−β)bt−1=γstxt+(1−γ)ct−L
其中α为数据平滑因子,0<α<1,β为趋势平滑因子,且0<β<1,
γ
\gamma
γ为周期性平滑因子。则第t+h预测值为:
x
t
+
h
=
(
s
t
+
h
b
t
)
c
t
+
(
h
%
L
)
−
L
,
其
中
h
>
0
x_{t+h} = (s_t + hb_t)c_{t + (h \% L) - L },\quad 其中h>0
xt+h=(st+hbt)ct+(h%L)−L,其中h>0
对于初始值有:
下面N是数据中出现的完整循环数,
where
方法三(一般不采用):
s
0
′
=
x
0
s
0
′
′
=
x
0
s
t
′
=
α
x
t
+
(
1
−
α
)
s
t
−
1
′
s
t
′
′
=
α
s
t
′
+
(
1
−
α
)
s
t
−
1
′
′
s
t
′
′
′
=
α
s
t
′
′
+
(
1
−
α
)
s
t
−
1
′
′
′
\begin{aligned} s_0^\prime & = x_0 \\ s_0^{\prime\prime} & = x_0 \\ s_t^\prime & = \alpha x_t + (1-\alpha)s_{t-1}^\prime \\ s_t^{\prime\prime} & = \alpha s_t^\prime + (1-\alpha) s_{t-1}^{\prime\prime} \\ s_t^{\prime\prime\prime} & = \alpha s_t^{\prime\prime} + (1-\alpha) s_{t-1}^{\prime\prime\prime} \end{aligned}
s0′s0′′st′st′′st′′′=x0=x0=αxt+(1−α)st−1′=αst′+(1−α)st−1′′=αst′′+(1−α)st−1′′′
则第t+h预测值为: