# 时间序列预测

# 简介

时间序列预测旨在基于历史数据,对未来的观测值进行推断。

  • 预测值

    yt+hty_{t+h|t}

    其中,yt+hty_{t+h|t} 表示在已知时刻 tt 的信息 ItI_t 的基础上,对未来时刻 t+ht+h 的观测值 yt+hy_{t+h} 所做的预测。
  • 预测误差

    εt+ht=yt+hyt+ht\varepsilon_{t+h|t}=y_{t+h}-y_{t+h|t}

  • 评价准则
    预测的常用评价准则之一是均方误差(MSE),其公式如下:

    MSE(εt+ht)=E[(yt+hyt+ht)2]MSE(\varepsilon_{t+h|t})=E[(y_{t+h}-y_{t+h|t})^2]

# 预测方法

1. 基于条件期望的预测
基于条件期望的预测是指以未来观测值的条件期望作为预测值,其公式为:

yt+ht=E(yt+hIt)y_{t+h|t}=E(y_{t+h}|I_t)

这种预测方法是理论上的最小均方误差预测,但由于条件期望的计算通常较为复杂,在实际应用中不易实现。

2. 最小均方误差线性预测
最小均方误差线性预测旨在寻找一个当前及过去观测值的线性组合,使得预测的均方误差最小。其公式如下:

yt+ht=j=0cjytjy_{t+h|t}^*=\sum_{j=0}^\infty c_jy_{t-j}

其中,系数 {cj}\{c_j\} 是通过最小化均方误差来确定的:

{cj}=argmin{βk}E{yt+hk=0βkytk}2\{c_j\}=\arg\min_{\{\beta_k\}}E\left\{ y_{t+h}-\sum_{k=0}^\infty\beta_ky_{t-k} \right\}^2

相比于基于条件期望的预测,该方法更易于计算,但其均方误差通常会更大。

  • 线性模型:如果一个模型满足 ytt1=ytt1y_{t|t-1}=y_{t|t-1}^* 对所有时刻 tt 成立,则该模型是线性的;否则为非线性模型。

# 常见时间序列模型的预测

# AR(p) 模型的预测

考虑 AR(p) 模型 yt+1=c+ϕ1yt++ϕpyt+1p+εt+1y_{t+1}=c+\phi_1y_t+\cdots+\phi_py_{t+1-p}+\varepsilon_{t+1}

1. 1 步预测

  • 预测表达式

    yt+1t=E[yt+1It]=c+ϕ1yt++ϕpyt+1py_{t+1|t}=E[y_{t+1}|I_t]=c+\phi_1y_t+\cdots+\phi_py_{t+1-p}

  • 预测误差及方差
    预测误差为 εt+1t=yt+1yt+1t=εt+1\varepsilon_{t+1|t}=y_{t+1}-y_{t+1|t}=\varepsilon_{t+1}
    误差方差为 var(εt+1t)=var(ϵt+1)=σ2var(\varepsilon_{t+1|t})=var(\epsilon_{t+1})=\sigma^2
  • 95% 预测区间

    [yt+1t1.96σ, yt+1t+1.96σ][y_{t+1|t}-1.96\sigma,~y_{t+1|t}+1.96\sigma]

2. 2 步预测

  • 预测表达式
    基于 yt+2=c+ϕ1yt+1++ϕpyt+2p+εt+2y_{t+2}=c+\phi_1y_{t+1}+\cdots+\phi_py_{t+2-p}+\varepsilon_{t+2},其条件期望预测为:

    yt+2t=E[yt+2It]=c+ϕ1yt+1t+ϕ2yt++ϕpyt+2py_{t+2|t}=E[y_{t+2}|I_t]=c+\phi_1y_{t+1|t}+\phi_2y_t+\cdots+\phi_py_{t+2-p}

  • 预测误差及方差
    预测误差为 εt+2t=yt+2yt+2t=ϕ1(yt+1yt+1t)+εt+2=εt+2+ϕ1εt+1\varepsilon_{t+2|t}=y_{t+2}-y_{t+2|t}=\phi_1(y_{t+1}-y_{t+1|t})+\varepsilon_{t+2}=\varepsilon_{t+2}+\phi_1\varepsilon_{t+1}
    误差方差为 var(εt+2t)=(1+ϕ12)σ2var(\varepsilon_{t+2|t})=(1+\phi_1^2)\sigma^2
    值得注意的是,2 步预测误差方差大于 1 步预测误差方差。
  • 95% 预测区间

    [yt+2t1.96σ1+ϕ12, yt+2t+1.96σ1+ϕ12][y_{t+2|t}-1.96\sigma\sqrt{1+\phi_1^2},~y_{t+2|t}+1.96\sigma\sqrt{1+\phi_1^2}]

3. hh 步预测

  • 预测表达式

    yt+ht=E(yt+hIt)=c+i=1pϕiyt+hity_{t+h|t}=E(y_{t+h}|I_t)=c+\sum_{i=1}^p\phi_iy_{t+h-i|t}

    其中,若 l0l\le0,则 yt+lt=yt+ly_{t+l|t}=y_{t+l}
  • 预测误差

    εt+ht=yt+hyt+ht\varepsilon_{t+h|t}=y_{t+h}-y_{t+h|t}


# MA(q) 模型的预测

考虑 MA(q) 模型 yt+h=i=0qθiεt+hiy_{t+h}=\sum_{i=0}^q\theta_i\varepsilon_{t+h-i},其中 θ0=1\theta_0=1

1. 基于条件期望的 hh 步预测

yt+ht=E(yt+hIt)={i=hqθiεt+hihq0h>qy_{t+h|t}=E(y_{t+h}|I_t)= \begin{cases} \sum_{i=h}^q\theta_i\varepsilon_{t+h-i} & h\le q \\ 0 & h>q \end{cases}

2. hh 步预测误差

εt+ht={i=0h1θiεt+hihqi=0qθiεt+hih>q\varepsilon_{t+h|t}= \begin{cases} \sum_{i=0}^{h-1}\theta_i\varepsilon_{t+h-i} & h\le q \\ \sum_{i=0}^q\theta_i\varepsilon_{t+h-i} & h>q \end{cases}

  • 预测均方误差

    MSE(εt+ht)=E(εt+ht2)=σ2i=0h1θi2MSE(\varepsilon_{t+h|t})=E(\varepsilon_{t+h|t}^2)=\sigma^2\sum_{i=0}^{h-1}\theta_i^2

  • 95% 预测区间

    [yt+ht1.96MSE(εt+ht), yt+ht+1.96MSE(εt+ht)][y_{t+h|t}-1.96\sqrt{MSE(\varepsilon_{t+h|t})},~y_{t+h|t}+1.96\sqrt{MSE(\varepsilon_{t+h|t})}]


# ARMA(p,q) 模型的预测

考虑 ARMA(p,q) 模型 yt+h=ϕ1yt+h1++ϕpyt+hp+εt+h+θ1εt+h1++θqεt+hqy_{t+h}=\phi_1y_{t+h-1}+\cdots+\phi_py_{t+h-p}+\varepsilon_{t+h}+\theta_1\varepsilon_{t+h-1}+\cdots+\theta_q\varepsilon_{t+h-q}

1. 最小均方误差预测

yt+ht=ϕ1yt+h1t++ϕpyt+hpt+θ1εt+h1t++θqεt+hqty_{t+h|t}=\phi_1y_{t+h-1|t}+\cdots+\phi_py_{t+h-p|t}+\theta_1\varepsilon_{t+h-1|t}+\cdots+\theta_q\varepsilon_{t+h-q|t}

其中,yt+lt=yt+ly_{t+l|t}=y_{t+l}(若 l0l\le0);εt+lt=0\varepsilon_{t+l|t}=0(若 l>0l>0);εt+lt=εt+l\varepsilon_{t+l|t}=\varepsilon_{t+l}(若 l0l\le0)。

2. 最小均方线性预测
该预测可以表示为残差的线性组合:

yt+ht=ψhεt+ψh+1εt1+y_{t+h|t}=\psi_h\varepsilon_t+\psi_{h+1}\varepsilon_{t-1}+\cdots

其中,ψ0=1\psi_0=1,且 ψj\psi_j 为 ARMA 模型对应的 MA()MA(\infty) 形式的系数。
MA()MA(\infty) 模型表示为:

yt=ϕp(B)1ϕq(B)εt=εt+ψ1εt1+ψ2εt2+y_t=\phi_p(B)^{-1}\phi_q(B)\varepsilon_t=\varepsilon_t+\psi_1\varepsilon_{t-1}+\psi_2\varepsilon_{t-2}+\cdots

  • 预测误差

    εt+ht=yt+hyt+ht=εt+h+ψ1εt+h1++ψh1εt+1=i=0h1ψiεt+hi\varepsilon_{t+h|t}=y_{t+h}-y_{t+h|t}=\varepsilon_{t+h}+\psi_1\varepsilon_{t+h-1}+\cdots+\psi_{h-1}\varepsilon_{t+1}=\sum_{i=0}^{h-1}\psi_i\varepsilon_{t+h-i}

  • 预测均方误差

    MSE(εt+ht)=σ2i=0h1ψi2MSE(\varepsilon_{t+h|t})=\sigma^2\sum_{i=0}^{h-1}\psi_i^2

3. 最小均方线性预测的渐近特性
当预测步长 hh \to \infty 时,预测误差的均方值收敛至 0:

E[yt+htμ]2=σ2k=hψk20E[y_{t+h|t}-\mu]^2=\sigma^2\sum_{k=h}^\infty\psi_k^2\to0

因此,预测值将收敛到均值,而预测均方误差将收敛到序列的方差:

yt+htμ=0MSE(εt+ht)σ2i=0ψi2=var(yt)y_{t+h|t}\to\mu=0 \\ MSE(\varepsilon_{t+h|t})\to\sigma^2\sum_{i=0}^\infty\psi_i^2=var(y_t)


# ARIMA(p,d,q) 模型的预测

ARIMA 模型可以表示为 π(B)yt=εt\pi(B)y_t=\varepsilon_t,其中 π(B)=1j=1πjBj=ϕp(B)(1B)dθq(B)\pi(B)=1-\sum_{j=1}^\infty\pi_jB^j=\frac{\phi_p(B)(1-B)^d}{\theta_q(B)}
其预测表达式为:

yt+h=j=1πjyt+hj+εt+hy_{t+h}=\sum_{j=1}^\infty\pi_jy_{t+h-j}+\varepsilon_{t+h}

1. 最小均方误差预测

yt+ht=j=1πj(h)ytj+1y_{t+h|t}=\sum_{j=1}^\infty\pi_j^{(h)}y_{t-j+1}

其中,πj(h)=i=0h1πh1+jiψi\pi_j^{(h)}=\sum_{i=0}^{h-1}\pi_{h-1+j-i}\psi_i,且 ψj\psi_j 由递推关系 ψj=i=0j1πjiψi\psi_j=\sum_{i=0}^{j-1}\pi_{j-i}\psi_ij=1,2,h1,ψ0=1j=1,2\cdots,h-1, \psi_0=1)定义。
注意:这里的 ψj\psi_jπj\pi_j 与 AR 和 MA 模型中的定义是一致的。

2. 预测误差与方差

  • 预测误差

    εt+ht=yt+hyt+ht=i=0h1ψiεt+hi\varepsilon_{t+h|t}=y_{t+h}-y_{t+h|t}=\sum_{i=0}^{h-1}\psi_i\varepsilon_{t+h-i}

  • 预测方差

    var(εt+ht)=σ2i=0h1ψi2var(\varepsilon_{t+h|t})=\sigma^2\sum_{i=0}^{h-1}\psi_i^2

    与 ARMA 模型不同,当 hh\to\infty 时,ARIMA 模型的预测方差会趋于无穷大。

3. 预测更新
预测值可以通过以下递推公式进行更新:

y(n+1)+hn+1=yn+(h+1)n+ψh[yn+1yn+1n]y_{(n+1)+h|n+1}=y_{n+(h+1)|n}+\psi_h[y_{n+1}-y_{n+1|n}]