时序分析(10)
时序平滑(中)
上一篇文章我们介绍了时序平滑的基本技术和方法论,并详细讲解了简单指数平滑。本篇文章主要介绍指数平滑技术的其他变种,包括:
- Holt’s Linear Trend
- Exponential Trend
- Damped Trend
- Holt’s Winters Seasonal
- 指数平滑小结
- Innovations state space models for exponential smoothing
- Holt’s Linear Trend
Holt扩展了基本的指数平滑方法,增加了一个趋势项。该方法同事预测时序水平和时序的趋势,
F
o
r
e
c
a
s
t
e
q
u
a
t
i
o
n
y
^
t
+
h
∣
t
=
ℓ
t
+
h
b
t
{Forecast equation}\ \ \ \ \hat{y}_{t+h|t} = \ell_{t} + hb_{t}
Forecastequation y^t+h∣t=ℓt+hbt
L
e
v
e
l
e
q
u
a
t
i
o
n
ℓ
t
=
α
y
t
+
(
1
−
α
)
(
ℓ
t
−
1
+
b
t
−
1
)
{Level equation} \ell_{t} = \alpha y_{t} + (1 - \alpha)(\ell_{t-1} + b_{t-1})
Levelequationℓt=αyt+(1−α)(ℓt−1+bt−1)
T
r
e
n
d
e
q
u
a
t
i
o
n
b
t
=
β
(
ℓ
t
−
ℓ
t
−
1
)
+
(
1
−
β
)
b
t
−
1
{Trend equation} b_{t} = \beta(\ell_{t} - \ell_{t-1}) + (1 -\beta)b_{t-1}
Trendequationbt=β(ℓt−ℓt−1)+(1−β)bt−1
这里, ℓ t \ell_t ℓt代表时序的水平, b t b_t bt代表时序的趋势, α \alpha α是时序水平的平滑参数, β \beta β是时序趋势的平滑参数。
时序水平为最近的数据与上一次的时序预测水平和趋势的和的加权平均。
时序趋势为上一此的趋势和最近一次的估算趋势
(
ℓ
t
−
ℓ
t
−
1
)
(\ell_{t} - \ell_{t-1})
(ℓt−ℓt−1)的加权平均。
类似简单指数平滑中的Error Correction形式:
ℓ t = ℓ t − 1 + b t − 1 + α e t b t = b t − 1 + α β e t \ell_{t} = \ell_{t-1} + b_{t-1}+\alpha e_t\\b_{t} = b_{t-1} + \alpha \beta e_t ℓt=ℓt−1+bt−1+αetbt=bt−1+αβet
这里, e t = y t − ( ℓ t − 1 + b t − 1 ) = y t − y ^ t ∣ t − 1 e_t=y_{t} -(\ell_{t-1} + b_{t-1})=y_{t}-\hat{y}_{t|t-1} et=yt−(ℓt−1+bt−1)=yt−y^t∣t−1
- Exponential Trend
指数趋势方法是Holt线性方法的一个变种,此方法不是让趋势和水平相加,而是让这两项相乘。
y ^ t + h ∣ t = ℓ t b t h ℓ t = α y t + ( 1 − α ) ( ℓ t − 1 b t − 1 ) b t = β ℓ t ℓ t − 1 + ( 1 − β ) b t − 1 \hat{y}_{t+h|t} = \ell_{t} b_{t}^h\\ \ell_{t} = \alpha y_{t} + (1 - \alpha)(\ell_{t-1} b_{t-1})\\ b_{t} =\beta\frac{\ell_{t}}{ \ell_{t-1}} + (1 -\beta)b_{t-1} y^t+h∣t=ℓtbthℓt=αyt+(1−α)(ℓt−1bt−1)bt=βℓt−1ℓt+(1−β)bt−1
类似的,其Error Correction形式为:
ℓ t = ℓ t − 1 b t − 1 + α e t b t = b t − 1 + α β e t ℓ t − 1 \ell_{t} = \ell_{t-1} b_{t-1}+\alpha e_{t}\\b_{t} = b_{t-1}+ \alpha \beta\frac{e_{t}}{\ell_{t-1}} ℓt=ℓt−1bt−1+αetbt=bt−1+αβℓt−1et
-
Damped Trend
Holt线性方法展示一个不变的趋势,在未来不可确定。经验告诉我们类似方法容易出现过度预测(Over Forecast),特别是长期预测。Damped Trend方法引入了一个"消沉"参数来使趋势平坦化。实际操作中,我们发现这种方式是有效的。
y ^ t + h ∣ t = ℓ t + ( ϕ + ϕ 2 + ⋯ + ϕ h ) b t ℓ t = α y t + ( 1 − α ) ( ℓ t − 1 + ϕ b t − 1 ) b t = β ( ℓ t − ℓ t − 1 ) + ( 1 − β ) ϕ b t − 1 \hat{y}_{t+h|t} = \ell_{t} + (\phi+\phi^2 + \dots + \phi^{h}) b_{t} \\ \ell_{t} = \alpha y_{t} + (1 - \alpha)(\ell_{t-1} + \phi b_{t-1})\\ b_{t} = \beta(\ell_{t} - \ell_{t-1}) + (1 -\beta)\phi b_{t-1} y^t+h∣t=ℓt+(ϕ+ϕ2+⋯+ϕh)btℓt=αyt+(1−α)(ℓt−1+ϕbt−1)bt=β(ℓt−ℓt−1)+(1−β)ϕbt−1
这里 0 < ϕ < 1 0<\phi<1 0<ϕ<1为消沉参数,如果 ϕ = 1 \phi=1 ϕ=1,该方法就变成Holt Linear方法。事实上,预测值会收敛于
ℓ T + ϕ b T / ( 1 − ϕ ) 当 h → ∞ \ell_T+\phi b_T/(1-\phi) 当h\rightarrow\infty ℓT+ϕbT/(1−ϕ)当h→∞
Error Correction Form:
ℓ t = ℓ t − 1 + ϕ b t − 1 + α e t b t = ϕ b t − 1 + α β e t \ell_{t} = \ell_{t-1} + \phi b_{t-1} + \alpha e_{t} \\ b_{t} = \phi b_{t-1}+ \alpha \beta e_{t} ℓt=ℓt−1+ϕbt−1+αetbt=ϕbt−1+αβet
-
Holt’s Winters Seasonal
Holt-Winter周期性方法扩展了Holt Linear方法,增加了周期性的捕捉。所以,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 而j月数据 m = 12 m=12 m=12。
Holt-Winter方法存在两个变种:加性方法和乘性方法。
加性方法比较适合于周期性变动是平稳的情况,而乘性方法相对适用于周期性变动与时序的水平是成比例的情况。
- Holt-Winter additive method
y
^
t
+
h
∣
t
=
ℓ
t
+
h
b
t
+
s
t
−
m
+
h
m
+
ℓ
t
=
α
(
y
t
−
s
t
−
m
)
+
(
1
−
α
)
(
ℓ
t
−
1
+
b
t
−
1
)
b
t
=
β
(
ℓ
t
−
ℓ
t
−
1
)
+
(
1
−
β
)
b
t
−
1
s
t
=
γ
(
y
t
−
ℓ
t
−
1
−
b
t
−
1
)
+
(
1
−
γ
)
s
t
−
m
,
\hat{y}_{t+h|t} = \ell_{t} + hb_{t} + s_{t-m+h_m^+} \\\ell_{t} = \alpha(y_{t} - s_{t-m}) + (1 - \alpha)(\ell_{t-1} + b_{t-1})\\ b_{t} = \beta(\ell_{t} - \ell_{t-1}) + (1 - \beta)b_{t-1}\\ s_{t} = \gamma (y_{t}-\ell_{t-1}-b_{t-1}) + (1-\gamma)s_{t-m},
y^t+h∣t=ℓt+hbt+st−m+hm+ℓt=α(yt−st−m)+(1−α)(ℓt−1+bt−1)bt=β(ℓt−ℓt−1)+(1−β)bt−1st=γ(yt−ℓt−1−bt−1)+(1−γ)st−m,
这里
h
m
+
=
⌊
(
h
−
1
)
m
o
d
m
⌋
+
1
h_m^+=\lfloor(h-1)\mod~m\rfloor+1
hm+=⌊(h−1)mod m⌋+1 保证季节性位置的估算来自样本的最后一年。
注:符号 ⌊ u ⌋ \lfloor u \rfloor ⌊u⌋ 代表最大的不大于 u u u 的整数。
时序水平就是周期性调整项 ( 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) 的加权平均。
趋势预测和Holt Liner方法是一样的。
周期性预测等于当前的季节指数
(
y
t
−
ℓ
t
−
1
−
b
t
−
1
)
(y_{t}-\ell_{t-1}-b_{t-1})
(yt−ℓt−1−bt−1) 和上一年同季节的季节指数。
Error Correction Form:
ℓ t = ℓ t − 1 + b t − 1 + α e t b t = b t − 1 + α β e t s t = s t − m + γ e t \ell_{t} = \ell_{t-1} + b_{t-1}+\alpha e_{t}\\ b_{t} = b_{t-1} + \alpha \beta e_{t}\\ s_{t} = s_{t-m}+\gamma e_t ℓt=ℓt−1+bt−1+αetbt=bt−1+αβetst=st−m+γet
其中, e t = y t − ( ℓ t − 1 + b t − 1 + s t − m ) = y t − y ^ t ∣ t − 1 e_t=y_{t} - (\ell_{t-1} + b_{t-1}+s_{t-m})=y_{t} -\hat{y}_{t|t-1} et=yt−(ℓt−1+bt−1+st−m)=yt−y^t∣t−1是单步训练误差。
- Holt-winter multiplicative method
y ^ t + h ∣ t = ( ℓ t + h b t ) s t − m + h m + . ℓ t = α y t s t − m + ( 1 − α ) ( ℓ t − 1 + b t − 1 ) b t = β ( ℓ t − ℓ t − 1 ) + ( 1 − β t − 1 b s t = γ y t ( ℓ t − 1 + b t − 1 ) + ( 1 − γ ) s t − m \hat{y}_{t+h|t} = (\ell_{t} + hb_{t})s_{t-m+h_{m}^{+}}. \\\ell_{t} = \alpha \frac{y_{t}}{s_{t-m}} + (1 -\alpha)(\ell_{t-1} + b_{t-1})\\ b_{t} =\beta(\ell_{t}-\ell_{t-1}) + (1 - \beta^b_{t-1} \\s_{t} = \gamma \frac{y_{t}}{(\ell_{t-1} + b_{t-1})} + (1 -\gamma)s_{t-m} y^t+h∣t=(ℓt+hbt)st−m+hm+.ℓt=αst−myt+(1−α)(ℓt−1+bt−1)bt=β(ℓt−ℓt−1)+(1−βt−1bst=γ(ℓt−1+bt−1)yt+(1−γ)st−m
Error Correction Form:
ℓ t = ℓ t − 1 + b t − 1 + α e t s t − m b t = b t − 1 + α β e t s t − m s t = s t + γ e t ( ℓ t − 1 + b t − 1 ) \ell_{t} = \ell_{t-1} + b_{t-1}+\alpha\frac{e_{t}}{s_{t-m}}\\ b_{t} = b_{t-1}+\alpha\beta\frac{e_{t}}{s_{t-m}}\\ s_{t} = s_{t}+\gamma \frac{e_{t}}{(\ell_{t-1} + b_{t-1})} ℓt=ℓt−1+bt−1+αst−metbt=bt−1+αβst−metst=st+γ(ℓt−1+bt−1)et
这里, e t = y t − ( ℓ t − 1 + b t − 1 ) s t − m e_t=y_t-(\ell_{t-1}+b_{t-1})s_{t-m} et=yt−(ℓt−1+bt−1)st−m
- 指数平滑小结
指数平滑模型的范围并不仅仅局限在我们所讲述的模型。考虑其关于趋势预测和周期性预测方法的各种组合,实际上存在15种方法。我们用(T,S)定义Trend和Seanonal组件,例如(A,M)代表加性趋势性和乘性周期性,(M,N)代表乘性趋势性和没有季节性。
我们所看到的方法可以表示成为:
6. Innovations state space models for exponential smoothing
状态空间模型是统计学上非常重要且应用非常广泛的模型,本节所要介绍的方法就是使用指数平滑来构建状态空间模型,它不但可以预测时序,还可以预测时间间隔。一般来说,状态空间模型会包含一个等式来描述观测值和其他状态转换等式来描述观测值和状态(水平/趋势/周期)如何随着时间而变化。同时,每个模型存在两个模式,一个是应用加性误差,另一个应用乘性误差。
我们把模型标记为ETS(\cdot,\cdot,\cdot) 针对(Error,Trend,Seasonal),每一个成分的可能选择为
Error ={A,M},
Trend ={N,A,Ad,M,Md}
Seasonal ={ N,A,M}
-
ETS(A,N,N): simple exponential smoothing with additive errors
前面我们讲过简单指数平滑的残差矫正形式为:
ℓ t = ℓ t − 1 + α e t \ell_t=\ell_{t-1}+\alpha e_t ℓt=ℓt−1+αet
e t = y t − ℓ t − 1 , y ^ t ∣ t − 1 = ℓ t − 1 因 此 , e t = y t − y ^ t ∣ t − 1 e_t = y_t - \ell_{t-1} , \hat{y}_{t|t-1} = \ell_{t-1} 因此,e_t = y_t - \hat{y}_{t|t-1} et=yt−ℓt−1,y^t∣t−1=ℓt−1因此,et=yt−y^t∣t−1
得 到 y t = ℓ t − 1 + e t 得到y_t = \ell_{t-1} + e_t 得到yt=ℓt−1+et
为了把这个转换成状态空间模型,我们需要定义 e t e_t et的概率分布。对于一个加性误差模型。我们假设其单步误差 e t = ε t ∼ NID ( 0 , σ 2 ) e_t = \varepsilon_t\sim\text{NID}(0,\sigma^2) et=εt∼NID(0,σ2) ,NID是指正态独立分布。那么,我们有
y t = ℓ t − 1 + ϵ t (10.1) y_t = \ell_{t-1} + \epsilon_t \tag{10.1} yt=ℓt−1+ϵt(10.1)
ℓ t = ℓ t − 1 + α ε t . (10.2) \ell_t=\ell_{t-1}+\alpha \varepsilon_t.\tag{10.2} ℓt=ℓt−1+αεt.(10.2)
我们把(10.1)式看作是描述观测值,把(10.2)式看作是描述状态转换,再加上对错误的统计分布建模,构成了一个完整的统计模型。“Innovation"这个词来源于单源误差过程\epsilon_t。
从观测值等式来看,预测值来源于两个部分:可预测部分和不可预测部分,其关系式线性的,再其他状态空间模型中,这个关系可能式非线性的。
状态转换等式中表示了状态随着时间演化, α \alpha α控制着变化的幅度,我们可以看到,当 α = 1 \alpha=1 α=1时,就变成了随机步行过程。 -
ETS(M,N,N): simple exponential smoothing with multiplicative errors
乘性模型中,单步随机误差是相对误差,
ε t = y t − y ^ t ∣ t − 1 y ^ t ∣ t − 1 , ε t ∼ NID ( 0 , σ 2 ) \varepsilon_t=\frac{y_t-\hat{y}_{t|t-1}}{\hat{y}_{t|t-1}}, \varepsilon_t \sim \text{NID}(0,\sigma^2) εt=y^t∣t−1yt−y^t∣t−1,εt∼NID(0,σ2)
e t = y t − y ^ t ∣ t − 1 = ℓ t − 1 ε t e_t = y_t - \hat{y}_{t|t-1} = \ell_{t-1}\varepsilon_t et=yt−y^t∣t−1=ℓt−1εt
观测等式和模型转换等式为:
y t = ℓ t − 1 ( 1 + ε t ) ℓ t = ℓ t − 1 ( 1 + α ε t ) . y_t=\ell_{t-1}(1+\varepsilon_t)\\ \ell_t=\ell_{t-1}(1+\alpha \varepsilon_t). yt=ℓt−1(1+εt)ℓt=ℓt−1(1+αεt). -
ETS(A,A,N): Holt’s linear method with additive errors
随机误差建模为:
ε t = y t − ℓ t − 1 − b t − 1 ∼ NID ( 0 , σ 2 ) \varepsilon_t=y_t-\ell_{t-1}-b_{t-1} \sim\text{NID}(0,\sigma^2) εt=yt−ℓt−1−bt−1∼NID(0,σ2)
观测等式和状态转移等式为:
y t = ℓ t − 1 + b t − 1 + ε t ℓ t = ℓ t − 1 + b t − 1 + α ε t b t = b t − 1 + β ∗ ε t , y_t=\ell_{t-1}+b_{t-1}+\varepsilon_t\\\ell_t=\ell_{t-1}+b_{t-1}+\alpha \varepsilon_t\\b_t=b_{t-1}+\beta^* \varepsilon_t, yt=ℓt−1+bt−1+εtℓt=ℓt−1+bt−1+αεtbt=bt−1+β∗εt,
这里 β ∗ = α ∗ β \beta^*=\alpha*\beta β∗=α∗β -
ETS(M,A,N): Holt’s linear method with multiplicative errors
随机误差建模为:
ε t = y t − ( ℓ t − 1 + b t − 1 ) ( ℓ t − 1 + b t − 1 ) , ε t ∼ NID ( 0 , σ 2 ) \varepsilon_t=\frac{y_t-(\ell_{t-1}+b_{t-1})}{(\ell_{t-1}+b_{t-1})} , \varepsilon_t \sim \text{NID}(0,\sigma^2) εt=(ℓt−1+bt−1)yt−(ℓt−1+bt−1),εt∼NID(0,σ2)
观测等式和状态转移等式为:
y t = ( ℓ t − 1 + b t − 1 ) ( 1 + ε t ) ℓ t = ( ℓ t − 1 + b t − 1 ) ( 1 + α ε t ) b t = b t − 1 + β ∗ ( ℓ t − 1 + b t − 1 ) ε t y_t=(\ell_{t-1}+b_{t-1})(1+\varepsilon_t)\\\ell_t=(\ell_{t-1}+b_{t-1})(1+\alpha \varepsilon_t)\\b_t=b_{t-1}+\beta^*(\ell_{t-1}+b_{t-1}) \varepsilon_t yt=(ℓt−1+bt−1)(1+εt)ℓt=(ℓt−1+bt−1)(1+αεt)bt=bt−1+β∗(ℓt−1+bt−1)εt
这里 β ∗ = α ∗ β \beta^*=\alpha*\beta β∗=α∗β
除上面介绍的方法外,ETS模型还有很多变种,规律雷同。下一次,我们将采用所学到的平滑方法对时序数据惊醒建模和预测。
未完待续…