时间序列分析 | 向量自回归模型

向量自回归模型的英文名称为Vector Autoregressive model,常被简写成VAR。向量自回归的出现由来已久,可以追溯到上个世纪80年代,人们构建向量自回归模型主要出于以下考虑:

  • 时间序列分析从单一时间序列 (time series data) 拓展到了多元时间序列 (multivariate time series),在任意第 {color{blue}{t}} 个时间间隔 (time interval),观测样本从 {color{blue}{1}} 变成了 {color{blue}{N}} ,其中, {color{blue}{N}} 表示多元时间序列中时间序列的数量。
  • 标准的自回归模型 (Autoregressive model, 简称AR) 其表达式过于简单,无法很好地在多元时间序列分析中发挥作用。

1 标准的自回归模型

在统计学、经济学乃至信号处理等领域,自回归模型被广泛应用于描述随时间变化的过程 (简称时变过程),其中,最为经典的应用当属时间序列分析,在这里,自回归模型假设变量之间存在一个线性的依赖关系,即输出变量 (output variables) 如 {color{blue}{y_t}} 与输入的历史变量 (previous variables) 如 {color{blue}{y_{t-1},y_{t-2},…}} 存在一个线性表达式。

不妨先看一下标准的自回归模型:给定单一时间序列 {color{blue}{boldsymbol{y}inmathbb{R}^{T}}} ,其时间间隔的数量为 {color{blue}{T}} ,则对于任意第 {color{blue}{t}} 个时间间隔,存在如下的线性表达式:

{color{blue}{y_{t}=sum_{k=1}^{d}a_ky_{t-k}+epsilon_t,~t=d+1,…,T,}}

其中, {color{blue}{a_k,k=1,2,…,d}} 表示回归系数;常数 {color{blue}{d}} 表示自回归模型的阶数 (order),也可以将 {color{blue}{d}} 简单地理解成当前时间点关联过去时间点的数量。

在自回归模型中,我们的目标是从观测数据中学习出参数 {color{blue}{a_k,k=1,…,d}} 。现假设观测数据为 {color{blue}{boldsymbol{y}inmathbb{R}^{T}}} ,首先,我们需要对自回归模型的线性表达式进行改写:

{color{blue}{begin{aligned} &y_{t}approxboldsymbol{a}^top{boldsymbol{v}}_{t},~t=d+1,…,T, / Rightarrow&boldsymbol{z}approx Qboldsymbol{a}, end{aligned}}}

其中, {color{blue}{{boldsymbol{v}}_{t}=left(y_{t-1},y_{t-2},…,y_{t-d}right)inmathbb{R}^{d}}}{color{blue}{boldsymbol{z}=left(y_{d+1},y_{d+2},…,y_{T}right)inmathbb{R}^{T-d}}}{color{blue}{Q=left[begin{array}{c}{boldsymbol{v}_{d+1}^{top}} / {vdots} / {boldsymbol{v}_{T}^{top}}end{array}right] in mathbb{R}^{(T-d) times d}}} . 在这里,写成这种形式完全是为了简化后续的推导。

如果进一步将 {color{blue}{epsilon_t}} 作为高斯噪声,采用最小二乘法,则回归系数 {color{blue}{boldsymbol{a}}} 的最优解为

{color{blue}{begin{aligned} boldsymbol{a}&=text{arg}min_{boldsymbol{x}}~frac{1}{2}sum_{t=d+1}^{T}left(y_{t}-boldsymbol{x}^top{boldsymbol{v}}_{t}right)^2 / &=text{arg}min_{boldsymbol{x}}~frac{1}{2}left(boldsymbol{z}-Qboldsymbol{x}right)^topleft(boldsymbol{z}-Qboldsymbol{x}right) / &=text{arg}min_{boldsymbol{x}}~frac{1}{2}left(boldsymbol{x}^top Q^top Qboldsymbol{x}-boldsymbol{z}^top Qboldsymbol{x}-boldsymbol{x}^top Q^topboldsymbol{z}right) / &=left(Q^top Qright)^{-1}Q^topboldsymbol{z}. / end{aligned}}}

2 多元时间序列

实际上,相比单一的时间序列数据,多元时间序列数据反而更为常见,是由单一的时间序列构成,如下面的矩阵

{color{blue}{Y=left[begin{array}{ccccc} y_{11} & cdots & y_{1t} & cdots & y_{1T} / y_{21} & cdots & y_{2t} & cdots & y_{2T} / vdots & ddots & vdots & ddots & vdots / y_{N1} & cdots & y_{Nt} & cdots & y_{NT} / end{array} right]inmathbb{R}^{Ntimes T}}}

就是一般形式的多元时间序列数据。在矩阵 {color{blue}{Y}} 中,任意第 {color{blue}{t}} 个时间间隔下,观测值为

{color{blue}{boldsymbol{y}_{t}=left(y_{1t},y_{2t},…,y_{Nt}right)^topinmathbb{R}^{N}, }}

观测值的数量为 {color{blue}{N}} .

3 向量自回归模型

针对多元时间序列数据,向量自回归模型采用了一种更为灵活的时序建模策略:给定多元时间序列数据为 {color{blue}{Yinmathbb{R}^{Ntimes T}}} ,则对于任意第 {color{blue}{t}} 个时间间隔,存在如下的线性表达式:

{color{blue}{boldsymbol{y}_{t}=sum_{k=1}^{d}A_kboldsymbol{y}_{t-k}+boldsymbol{epsilon}_{t},~t=d+1,…,T,}}

其中, {color{blue}{A_kinmathbb{R}^{Ntimes N},k=1,2,…,d}} 表示向量自回归模型的系数矩阵; {color{blue}{boldsymbol{epsilon}_t}} 可视为高斯噪声。

为方便后续推导,与自回归模型类似,令

{color{blue}{A=left[A_{1}, ldots, A_{d}right]^{top} in mathbb{R}^{(N d) times N}, quad boldsymbol{v}_{t}=left[begin{array}{c}{boldsymbol{y}_{t-{1}}} / {vdots} / {boldsymbol{y}_{t-{d}}}end{array}right] in mathbb{R}^{(N d)},}}

将向量自回归模型进行改写:

{color{blue}{begin{aligned} boldsymbol{y}_{t}&approx sum_{k=1}^{d}A_kboldsymbol{y}_{t-k}, / &=A^topboldsymbol{v}_{t},~t=d+1,…,T, / Rightarrow Z&approx QA, / end{aligned}}}

其中,公式中的矩阵 {color{blue}{Z}}{color{blue}{Q}} 定义如下:

{color{blue}{Z=left[begin{array}{c}{boldsymbol{y}_{{d}+1}^{top}} / {vdots} / {boldsymbol{y}_{T}^{top}}end{array}right] in mathbb{R}^{left(T-{d}right) times N}, quad Q=left[begin{array}{c}{boldsymbol{v}_{{d}+1}^{top}} / {vdots} / {boldsymbol{v}_{T}^{top}}end{array}right] in mathbb{R}^{(T-d) times(N d)}.}}

由此,采用最小二乘法,系数矩阵 {color{blue}{A}} 的最优解为

{color{blue}{begin{aligned} A&=text{arg}min_{X}~frac{1}{2}left|Z-QXright|_{F}^{2} / &=text{arg}min_{X}~frac{1}{2}text{tr}left(left(Z-QXright)^topleft(Z-QXright)right) / &=text{arg}min_{X}~frac{1}{2}text{tr}left(X^top Q^top QX-Z^top QX-X^top Q^top Zright) / &=left(Q^top Qright)^{-1}Q^top Z. / end{aligned}}}

4 相关参考

本文来源于https://nbviewer.jupyter.org/github/mobility-computing/GrapicalML/blob/master/content/bvar.ipynb,原文主要讨论了向量自回归模型的原理,并介绍了如何用numpy实现向量自回归模型。

发表回复

相关推荐

河南郑州旅游攻略:郑州必去的景点TOP5!第一次来看这一篇就够了!

郑州是中国八大古都之一,文物古迹众多,有古城、古文化、古墓葬、古建筑、古关隘和古战场在内的遗址遗迹达1万余处。二七广 ...

· 2分钟前

【深度解析】什麼是有鎖機/網絡鎖,有鎖機怎麼樣,給有疑問的你解惑

【深度解析】什麼是網絡鎖/有鎖機,給有疑問的你解惑 蘋果的有鎖機/卡貼機大傢應該都有聽說過,不過大傢印象中的卡貼機一...

· 3分钟前

你身边的军盲有多愚昧无知?

之前看了知乎里关于军盲梗的讨论,个人觉得大家所说的都弱爆了,我身边的军盲简直无知到了极点,像一些老生常谈的譬如日本很 ...

· 4分钟前

越吃越瘦的食物有哪些?窩頭排倒數第1,黃瓜排第4,第一名是啥

夏天,身上的贅肉再也沒地方躲瞭,很多人都開始焦慮起來。前些日子,我的閨蜜發現衣櫃裡的夏裝全都穿不下瞭,下定決心“管住嘴...

· 4分钟前

2021重庆市经济发展研究报告

一、地域发展状况1.1地理和人口发展状况重庆,简称“渝”,直辖市,介于东经105°11'~110°11'、北纬28°10'~32°1 ...

· 6分钟前