向量自回归模型的英文名称为Vector Autoregressive model,常被简写成VAR。向量自回归的出现由来已久,可以追溯到上个世纪80年代,人们构建向量自回归模型主要出于以下考虑:
- 时间序列分析从单一时间序列 (time series data) 拓展到了多元时间序列 (multivariate time series),在任意第
个时间间隔 (time interval),观测样本从
变成了
,其中,
表示多元时间序列中时间序列的数量。
- 标准的自回归模型 (Autoregressive model, 简称AR) 其表达式过于简单,无法很好地在多元时间序列分析中发挥作用。
1 标准的自回归模型
在统计学、经济学乃至信号处理等领域,自回归模型被广泛应用于描述随时间变化的过程 (简称时变过程),其中,最为经典的应用当属时间序列分析,在这里,自回归模型假设变量之间存在一个线性的依赖关系,即输出变量 (output variables) 如
不妨先看一下标准的自回归模型:给定单一时间序列
其中,
在自回归模型中,我们的目标是从观测数据中学习出参数
其中,
如果进一步将
2 多元时间序列
实际上,相比单一的时间序列数据,多元时间序列数据反而更为常见,是由单一的时间序列构成,如下面的矩阵
就是一般形式的多元时间序列数据。在矩阵
观测值的数量为
3 向量自回归模型
针对多元时间序列数据,向量自回归模型采用了一种更为灵活的时序建模策略:给定多元时间序列数据为
其中,
为方便后续推导,与自回归模型类似,令
将向量自回归模型进行改写:
其中,公式中的矩阵
由此,采用最小二乘法,系数矩阵
在这里,我们用到了F-范数与矩阵迹 (trace) 之间的等价变换,它的意义是为了方便推导,如何简单理解这种等价变换呢?举一个例子:给定任意大小为的矩阵
![]()
由于F-范数是矩阵所有元素的平方和开根号,即![]()
另外,![]()
因此,根据矩阵迹的定义,有![]()
4 相关参考
本文来源于https://nbviewer.jupyter.org/github/mobility-computing/GrapicalML/blob/master/content/bvar.ipynb,原文主要讨论了向量自回归模型的原理,并介绍了如何用numpy实现向量自回归模型。