从趋势预测的角度
对一个数值序列进行预测,就要知道当前变化的趋势。
所谓变化趋势,无非就是各阶导数。
已知了系统的若干阶导数, 如果采用泰勒展开式来预测:
y
(
t
+
h
)
≃
y
(
t
)
+
y
′
(
t
)
h
+
1
2
y
′
′
(
t
)
h
2
,
(
1
)
\begin{array}{lr} &&&& y(t+h) \simeq y(t) + y'(t)h + \frac{1}{2}y''(t)h^2, &&&&(1) \end{array}
y(t+h)≃y(t)+y′(t)h+21y′′(t)h2,(1)
从数值近似的角度来看:
y
′
(
t
)
≃
y
(
t
)
−
y
(
t
−
h
)
h
y
′
′
(
t
)
≃
y
′
(
t
)
−
y
′
(
t
−
h
)
h
≃
y
(
t
)
−
2
y
(
t
−
h
)
+
y
(
t
−
2
h
)
h
2
\begin{array}{ll} y'(t) &\simeq \frac{y(t)-y(t-h)}{h} \\\\ y''(t) &\simeq \frac{y'(t)-y'(t-h)}{h} \\\\ &\simeq \frac{y(t)-2y(t-h)+y(t-2h)}{h^2} \end{array}
y′(t)y′′(t)≃hy(t)−y(t−h)≃hy′(t)−y′(t−h)≃h2y(t)−2y(t−h)+y(t−2h)
带入(1)式得:
y
(
t
+
h
)
≃
y
(
t
)
+
y
(
t
)
−
y
(
t
−
h
)
h
h
+
1
2
y
(
t
)
−
2
y
(
t
−
h
)
+
y
(
t
−
2
h
)
h
2
h
2
=
5
2
y
(
t
)
−
2
y
(
t
−
h
)
+
1
2
y
(
t
−
2
h
)
\begin{array}{ll} y(t+h) &\simeq y(t) + \frac{y(t)-y(t-h)}{h}h + \frac{1}{2}\frac{y(t)-2y(t-h)+y(t-2h)}{h^2}h^2 \\\\ &= \frac{5}{2}y(t) - 2y(t-h) + \frac{1}{2}y(t-2h) \end{array}
y(t+h)≃y(t)+hy(t)−y(t−h)h+21h2y(t)−2y(t−h)+y(t−2h)h2=25y(t)−2y(t−h)+21y(t−2h)
得出下一时刻的预测值是序列历史值得加权和, 和自回归模型(AR)是一致的:
y
t
=
w
0
+
∑
i
=
1
n
w
i
y
t
−
i
+
ϵ
t
y_t = w_0 + \sum_{i=1}^n w_i y_{t-i} + \epsilon_t
yt=w0+i=1∑nwiyt−i+ϵt
因为在数值计算上, 变量的微分可以近似成历史值的线性组合, 所以自回归模型等价于将序列当前的变化趋势延伸到未来!
自回归系数可以从数据中学习得到,如使用最小二乘法。
从周期预测的角度
如果已知一个序列的周期为
S
S
S,那么很自然有如下(稀疏的)自回归模型:
y
^
t
+
1
=
y
t
+
1
−
S
\hat{y}_{t+1} = y_{t+1-S}
y^t+1=yt+1−S
直接用一个周期之前的测量值来预测下一时刻,通常称之为 Seasonal Naive. 这说明了线性自回归模型可以用来预测任意周期序列,是不是很奇妙。