​【Time Series】从 AR 到 ARIMR

2020-08-11 10:49:20 浏览数 (1)

1.AR

AR(Autoregression model)意为自回归模型。

多元线性回归模型是通过对多变量进行线性组合的方式来预测目标变量;而自回归模型是利用目标变量的历史数据来预测目标变量。

1.1 AR(1)

我们以一阶自回归模型 AR(1) 为例:

y_t = a_0 a_1y_{t-1} epsilon_t \

其中,

epsilon_t

为零均值的白噪声序列,起到误差和扰动的作用。

AR(1) 也是马尔可夫过程:

y_t

y_{t-1},y_{t-2}

条件下的条件分布只与

y_{t-1}

有关。

|a_1|<1

时,AR(1) 是平稳序列;

|a_1|=1

时,AR(1) 序列的振荡越来越大,呈爆炸型;

|a_1|>1

时,AR(1) 是非平稳序列。

我们通常将自回归模型的应用限制在平稳数据上,所以会施加

|a_1|<1

的约束。(具体证明可以去查一下 AR(1) 的平稳解)

给出 AR(1) 条件期望和方差:

E(y_t|y_{t-1}) = a_0 a_1 y_{t-1} , quad Var(y_t|y_{t-1}) = sigma^2 \

由方差分解公式:

Var(X) = Var[E(X|Y)] E(Var(X|Y)) \

容易得到:

Var(y_t) = frac{sigma^2}{1-a_1^2} \

|a_1|<1

,所以

y_t

y_{t-1}

已知的条件下的条件方差小于其无条件方差,也就是说用

y_{t-1}

的信息去预测

y_t

,可以使得

y_t

的波动减小,能够达到预测的效果。

1.2 AR(p)

将自回归模型其推广到 p 阶。

p 阶的自回归模型 AR(p) 定义如下:

y_t = a_0 sum_{i}^{p}a_iy_{t-i} epsilon_t \

假设该序列是平稳的,则有:

E(y_t) = mu,quad Var(y_t)= gamma_0 , quad Cov(y_t, y_{t-1}) = gamma_j \

而噪声为零均值,则:

E(y_t) = a_0 a_1 E(y_{t-1}) ... a_p E(y_{t-p}) \ Longrightarrow quad mu = a_0 a_1 mu ... a_p mu \ Longrightarrow quad E(y_t) = mu = frac{a_0}{1-a_1-a_2-...-a_p} \

假设分母不为零,则有以下特征方程:

1-a_1x-a_2x^2-...-a_px^p = 0 \

该方程所有解的倒数称为该方程的特征根,如果所有的特征根的模都小于 1,则该 AR(p) 序列是平稳的。

我们可以看到自回归模型是有很多限制的,比如说时序数据必须是平稳的,且需要有自相关性,序列的自相关性较弱时不适合 AR 模型。

简单介绍下截尾和拖尾:

  • 截尾是指时间序列的自相关函数(ACF)或偏自相关函数(PACF)在某阶后均为 0 的性质;
  • 拖尾是 ACF 或 PACF 并不在某阶后均为 0 的性质。

此外,我们用

y_{t-1}, ... ,y_{t-p}

的线性组合来预测

y_{t}

时,增加

y_{t-p-1},y_{t-p-2}...

并不能增加预测效果,这意味着 k>p 时,偏自相关函数为 0,这种性质叫做 AR 模型的偏自相关函数截尾性,所以我们可以用 PACF 来对 AR 模型进行定阶。

2.MA

不同于 AR 使用预测变量的历史值来进行回归,移动平均模型(Moving Average)使用历史预测误差来建立一个类似回归的模型,其关注的是 AR 模型中误差项的累加,其可以有效地消除预测中的随机波动。

2.1 MA(1)

移动平均模型是具有 q 步外不相关性质的平稳列的模型;对于高阶的 AR 模型,有些可以用低阶的 MA 模型更好地描述。另一方面,一般的 AR 模型也可以用高阶 MA 模型近似。

看到这可能会有些糊涂,我们来推导一下,顺便去理解如何用预测误差来建模。

首先,理论上 AR 模型可以是无穷阶的:

y_t = a_0 sum_{i=1}^{infty} a_i y_{t-i} epsilon_t \

其中

{a_i}

绝对可和(绝对值相加小于正无穷)。

我们给出一个特例:

y_t = a_0 - sum_{i=1}^{infty} (-theta)^i y_{t-i} epsilon_t \

其中

0<|theta|<1

移动一下模型:

y_t sum_{i=1}^{infty} (-theta)^i y_{t-i} = a_0 epsilon_t quad (*) \

以 t-1 代入,同时两边乘上

-theta

sum_{i=1}^{infty} (-theta)^i y_{t-i} = -theta a_0 theta epsilon_{t-1} \

代入到 (*) 中,有:

y_t = a_0 (1 theta) epsilon_{t} theta epsilon_{t-1}

此时变得到了 MA(1) 模型。

一般地,若

{ epsilon_t }

是零均值独立同分布白噪声,方差为

sigma^2

theta < 1

令:

y_t = theta_0 epsilon_{t} theta_1 epsilon_{t-1} \

易见

{ y_t }

为线性时间序列形式的弱平稳列,称为 MA(1) 序列。

2.2 MA(q)

将移动平均模型扩展到 q 阶。

MA(q) 序列模型为:

y_t = theta_0 epsilon_{t} sum_{i=1}^{q} theta_i epsilon_{t-i} \

模型的特征方程:

1 sum_{i=1}^q theta_t x^t = 0

特征方程的根称为特征根,特征根都在单位圆外的条件称为 MA 模型的可逆条件,但平稳性并不需要特征根的条件,所以 MA 模型总是弱平稳的。

MA 序列在自相关函数在 k>q 时为 0,这称为 MA 序列的自相关函数截尾性,所以我们可以用 ACF 来对 MA 模型进行定阶。

3.ARMA

从上面的介绍中我们知道:如果序列的偏自相关函数是截尾的,则用 AR 算法;如果序列的自相关函数是截尾的,则用 MA 算法。

那如果序列的自相关函数和偏自相关函数都没有截尾的该怎么办?

答案是用 ARMA 算法。

ARMA 模型可以克服需要高阶 AR 或 MA 模型才能充分描述动态结构的问题,将 AR 和 MA 模型结合起来。在对数据拟合优度相近的情况下往往可以得到更简单的模型,而且不要求偏自相关函数截尾也不要求相关函数截尾。

ARMA(1,1) 模型为:

y_{t} = a_0 a_1 y_{t-1} epsilon_{t} theta epsilon_{t-1} \

其中

|a_0|<1, |theta|<1,-a_0 neq theta

{epsilon_t }

是独立同分布的零均值白噪声,与

y_{t-1}

相互独立。

容易推广得到一般的 ARMA(p,q):

y_{t} = a_0 sum_{i=1}^p a_i y_{t-p} epsilon_{t} sum_{i=1}^{q} theta_i epsilon_{t-i} \

所以 AR(p) 可以视为 ARMA(p,0);MA(q) 可以视为 ARMA(0,q)。

值得注意的是:ARMA 模型的应用对象应该为「平稳序列」

4.ARIMA

到目前为止,我们研究的都是平稳序列,那如果不是序列是非平稳的怎么办?

我们在上一篇文章中说到非平稳序列可以通过变换将其转换为平稳序列,一般来说一阶差分后便可以得到相对平稳的时间序列。

ARIMA 便是在这种思想下应运而生。

ARIMA 模型全称为自回归移动平均模型(Autoregressive Integrated Moving Average Model),ARIMA(p,d,q) 中,d 为时间序列成为平稳序列时所做的差分次数。

ARIMA 模型预测的基本步骤为:

  • 判断试卷序列是否为非平稳序列(有很多方法,包括画图、自相关函数、单位根检验等,后面有机会再介绍);
  • 对数据进行处理,并找到适合的差分次数,将数据转变为平稳序列;
  • 找到平稳序列的自相关函数和偏相关函数的截尾阶数,没有截尾就用 ARMA 模型(用 AIC 准则确定 ARMA 的阶次);
  • 进行参数估计,检验是否有统计意义,并对残差进行假设检验,判断是否为白噪声;
  • 对已通过检验的模型进行预测分析。

5.Afterword

这篇推文写的不是太好,主要有两个原因,一个是写作时间断断续续导致思路不是太连贯,另一个是本身知识点就很庞大,短时间内可能没法啃完。

但还是觉得写到此为止,后面有需要时再进行补充学习。

这些传统模型虽然离我们快有半个世纪了,但其中很多统计学的理论知识还是很值得学习,特别是在这个深度学习横行的时代,适当补充一些基础知识未尝不是一种捷径。

共勉。

6.Reference

  1. 金融时间序列分析入门(一)
  2. 《金融时间序列分析讲义》

0 人点赞