1. VAR模型

在单变量回归中, 一个平稳的时间序列 经常被模型化为 AR 过程:

VR python实现原理 python var模型_python

当我们分析多个时间序列时,一个对 AR 模型自然的拓展就是 VAR 模型, 在这个模型中一组向量里的每个时间序列被模型 化为决定于自己的滞后项以及这组向量里所有其他变量的滞后项。两阶 VAR 模型如下式:

VR python实现原理 python var模型_时间序列_02

为残差项,真实值与预测值的差值;
为常数项;

2. 模型理解

VAR模型全称叫向量自回归模型,每个变量既受到自身影响也受到其他变量影响,它将单个线性回归模型拓展至多元,并加入AR(p)模型。

3. VAR模型的Python实现

3.1导入所需库

VR python实现原理 python var模型_VR python实现原理_03

3.2 数据加载

数据使用英国、加拿大、美国GDP的季度环比对数增长率,时间从1980年第二季度到2011年第二季度。

VR python实现原理 python var模型_开发语言_04

3.3 平稳性检验

模型中每一个变量都是平稳的,非平稳序列需要经过差分变成平稳序列才能使用VAR模型;非平稳序列,如果各变量之间存在协整关系也可以建立VAR模型。

VR python实现原理 python var模型_python_05


VR python实现原理 python var模型_开发语言_06

*如数据围绕某一常数上下波动,没有上升或下降的趋势,即可认为是平稳序列。

uk 序列是弱平稳序列,P值为:0.0

VR python实现原理 python var模型_python_07

*如数据围绕某一常数上下波动,没有上升或下降的趋势,即可认为是平稳序列。
ca 序列是弱平稳序列,P值为:0.0

VR python实现原理 python var模型_时间序列_08

*如数据围绕某一常数上下波动,没有上升或下降的趋势,即可认为是平稳序列。
us 序列是弱平稳序列,P值为:0.0002

单位根检验的p值都小于0.05,说明数据都是平稳的。

3.4 模型滞后项选取

VAR模型滞后阶数不方便单独通过图表判断,一般都是设置一个最大滞后项,然后运用AIC信息准则的方式来判断,AIC值越小,模型拟合越优。

VR python实现原理 python var模型_时间序列_09

由于有三个变量,所以模型会拟合出三个方程,图片中仅放了一个。从结果来看,根据AIC信息准则,模型自动选择了滞后2阶的模型。但从参数的p-value来看,也有检验不通过的参数。

3.5 模型检验

如果模型拟合是充分的,则模型的残差满足下面的条件:

1.残差序列是白噪音序列;

2.各方程的残差不存在相关性。

1)残差的相关系数矩阵

VR python实现原理 python var模型_方差_10

从残差和原始数据的相关系数矩阵来看,残差的相关系数矩阵和原始数据相比都有了一定程度的下降。
白噪音检验的p-value为0.491无法拒绝原假设,即序列是白噪音序列,不存在自相关性。

3.6 脉冲分析

AR根图
脉冲分析需建立在VAR模型平稳的基础之上,模型平稳性可以通过AR根图进行判断,当所有的根都落在单位圆内,则可以判断模型是平稳的。

VR python实现原理 python var模型_方差_11

VR python实现原理 python var模型_开发语言_12

VR python实现原理 python var模型_方差_13

从AR根图来看,所有根都落在单位圆内,因此我们认为模型是平稳的。

脉冲响应图

VR python实现原理 python var模型_时间序列_14

脉冲响应图是给予误差项一单位标准差的冲击,查看该冲击对被解释变量的影响程度。假设在0期给予一个标准冲击,该冲击可能会持续影响到第二期、第三期甚至更远期。

VR python实现原理 python var模型_python_15

以uk的波动分析为例(第一行图表),uk、ca和us方程的残差分别受到一个标准差冲击,对uk的影响。

冲击变量 影响方向 最大影响期 持续期
uk 正 0 9
ca 正 2 9
us 正 3 11

观看蓝线变化,横轴表示期数,纵轴表示变化程度。当蓝线与0坐标轴相交时,影响消失

3.7 方差分解

将被解释变量的预测误差(用方差衡量)分解成自身冲击和其他变量的冲击,查看各冲击占比。占比越大对被解释变量影响越大。

VR python实现原理 python var模型_VR python实现原理_16


VR python实现原理 python var模型_开发语言_17

从方差分解图来看,uk的GDP的环比增速主要受到自身影响,其自身的贡献率达到85%以上。ca的自身贡献65%左右,uk和us对其有35%的贡献。us的自身贡献55%左右,uk和ca对其有45%的贡献。

3.8 模型预测

VR python实现原理 python var模型_开发语言_18


VR python实现原理 python var模型_开发语言_19

趋势都模拟出来了,但是和实际还有一些差异的。

4 学习心得

VAR模型除了分析自身滞后项的影响外,还分析其他相关因素的滞后项对未来值产生的影响参考用来分析随机扰动对系统的动态冲击的大小,正负以及持续时间

VAR模型的具体步骤
1.先检验序列的平稳性,看序列是否平稳,或者一阶单整,或者更高阶;
2.根据AIC SBC等准则选择Var模型的滞后阶数;
3.看VAR模型根是否在单位圆内,在可继续后续分析;
4.若同阶单整,则进行协整检验,看变量之间有没有协整关系;
5.granger因果检验,看俩俩变量有没有相关关系,并不能证明有因果关系;
6.脉冲响应,看变量对外界冲击的反馈;
7.方差分解…