EViews教程



VAR模型

单变量自回归模型是利用变量自身的历史信息预测变量未来的值。如果存在其他相关的变量,把它们的信息纳入预测模型也许能进一步改进预测的精度。VAR(Vector Autoregression,向量自回归)模型正是这一想法的实现。

VAR模型把单变量自回归模型扩展到了\(k\)个变量的情形:$$y_t = c + \sum_{i=1}^p A_i y_{t-i} + u_t \tag{1}$$在这个VAR(p)模型里,\(y_t\)、截距\(c\)和误差\(u_t\)是\(k\times 1\)的向量,\(A_i\)是\(k\times k\)的系数矩阵,p是滞后参数。\(y_t\)中的每一个元素都可以通过模型进行预测,它们被称为内生(endogenous)变量。注意,这里的“内生变量”和线性回归模型语境下的“内生变量”是两个概念,这里的“内生变量”来源于宏观经济学,它指由模型决定的变量(模型中等号左边的变量),而另一个概念指的是与模型误差相关的变量。在模型中等号的右边,也可以加入其他可能会影响\(y_t\),但不被\(y_t\)影响的变量,这些变量被称为外生(exogenous)变量。含有外生变量的VAR模型可以表达为:$$y_t = c + \sum_{i=1}^p A_i y_{t-i} + Ca_t + u_t$$此处的\(a_t\)为\(l\times 1\)的外生变量向量,\(C\)是对应的\(k\times l\)系数矩阵。

注意,模型\((1)\)中的未知参数有\(k+k^2\times p\)个。在样本量固定的情况下,未知参数越多,估计偏差越大,所以,为了控制未知参数的个数,实际应用中滞后参数一般不会设得很大。

模型估计与var对象

在EViews中建立并估计一个VAR模型,你需要的配料有三样。一、平稳的内生变量。建立一个AR模型,我们要求数据必须平稳,同样,对VAR模型的建立,平稳性也是必须的。需要注意的是,如果平稳的数据是通过差分得到的,即原始的数据是有单位根的,还需要确定原始数据间没有协整关系,如果有的话,VAR模型是有缺陷的,此时应该使用VEC(Vector Error Correction,向量误差修正)模型(有机会我再介绍)。二、var对象。这一对象是专门用来处理VAR模型和VEC模型的。三、ls命令。VAR模型的估计,使用的仍然是强大的最小二乘法。

打开EViews安装目录下的Example Files\EV12 Manual Data\Chapter 44 – Vector Autoregression and Error Correction Models\var3.wf1(这一数据文件在EViews 13里已经没有了,需要可以点这里下载:var3.wf1),里面有两个变量dlcs和dlinc,它们分别是个人消费支出cs和个人收入inc的对数差分。通过单位根检验可以发现dlcs和dlinc是平稳的,但log(cs)和log(inc)是有单位根的。通过EG检验或PO检验(见[协整回归模型]一讲)可以发现log(cs)和log(inc)是不协整的。因此,dlcs和dlinc可以建立一个VAR模型。例如,要建立一个VAR(2)模型:$$ x_t = dlcs_t, z_t = dlinc_t,$$ $$ \begin{bmatrix}x_{t} \\ z_{t} \ \end{bmatrix} = \begin{bmatrix}c_{1} \\ c_{2} \ \end{bmatrix} + \sum_{i=1}^2 \begin{bmatrix}A_{i11} & A_{i12}\\ A_{i21} & A_{i22} \ \end{bmatrix} \begin{bmatrix}x_{t-i} \\ z_{t-i} \ \end{bmatrix} + \begin{bmatrix}u_{1t} \\ u_{2t} \\ \end{bmatrix} $$ 只需使用如下代码:

smpl 1960q1 1996q4
var var_a                  '创建一个名为var_a的var对象
var_a.ls 1 2 dlcs dlinc    'VAR(2)模型

在ls后面的一对数字指VAR模型中滞后项的起始阶数和结束阶数,例如,要建立VAR(1)模型,它们应该设为1 1。如果模型中的滞后阶数是不连续的,例如,模型只包含一阶滞后和三、四阶滞后,这时就需要使用两对数字1 1 3 4,表示滞后阶数从1开始,然后到1结束,再从3开始,然后到4结束。更复杂的情形可以使用多对数字来表达模型。EViews中建立的VAR模型默认是包含截距的,所以,在ls后的数字对之后,直接跟内生变量就可以了。如果模型除截距外还有其他外生变量,需要在代码后加上@,然后在其后跟外生变量,注意,此时需加上c,否则模型没有截距哟。

上面var_a的估计结果为:

表中DLCS和DLINC两列对应因变量为dlcs和dlinc的方程的估计结果。红色的线提醒你系数估计值下的圆括号里的数值是相应的标准误,方括号里的数值是相应的t统计量。注意,在ARMA模型中,C指的是平稳序列的期望,但在此处,它指的是截距。系数估计值下面那一块中的R-squared等统计量的含义之前都介绍过,我就不赘述了。最下面的一块中包含的是与整个VAR模型有关的统计量:Determinant resid covariance (dof adj.)和Determinant resid covariance指的都是残差的样本协方差矩阵的行列式,只不过前者是进行了自由度调整的;Log likelihood是模型的对数似然;Akaike information criterion和Schwarz criterion是模型的AIC和SIC;Number of coefficients是模型参数的个数。

估计VAR模型的鼠标操作是,选中workfile后点击主菜单的Quick/Estimate VAR,或先建一个空的var对象,然后再点击var对象窗口上方的Estimate按钮,两种方式都会弹出估计VAR模型的窗口:

其中,VAR type选择不同的模型(默认为VAR模型);Estimation sample设置估计模型的样本期;Endogenous variables设置模型的内生变量;Lag Intervarls for Endogenous设置模型的滞后项,方式就是利用上述ls命令后面的数字对;Exogenous variables设置模型的外生变量,默认包含的外生变量是c,即截距。设置好一切后,点确定就能估计VAR模型了。

模型诊断

VAR模型是AR模型的扩展,估计完一个VAR模型,自然也需要进行模型诊断。首先,需要看一看估计的模型是否是平稳的,这要用到arroots命令:

var_a.arroots         '报告特征方程的逆根及它们的模
var_a.arroots(graph)  '显示特征方程的逆根是否在单位圆内

此外,还需要检验模型的误差是否是白噪声。在[ARMA模型]一讲你已学过如何用Q统计量对一个ARMA模型的误差进行白噪声检验,事实上,Q统计量也存在多变量的版本,可以同时检验多个序列是否同时为白噪声。对VAR模型,实施Q检验可以用qstats命令:

var_a.qstats(10)      '数值指报告的Q统计量的最大阶数

代码执行的结果如下:

表中Q-Stat和Adj Q-Stat都是Q统计量,只是后者进行了自由度调整。它们右侧的Prob.*是相应的p值。注意,当阶数小于等于VAR(p)中的p时,Q检验的p值是没有定义的,因此Q检验不可用。

进行上述诊断检验的鼠标操作为,估计完模型后在var对象窗口的左上角选View/Lag Structure/AR Roots Table、View/Lag Structure/AR Roots Graph或View/Residual Tests/Portmanteau Autocorrelation Test。

滞后参数的选择

建立一个VAR(p)模型,滞后参数p的选择非常重要,但该如何选择呢?一种方式是对比不同p对应的模型的信息准则,这可以利用laglen命令:

var_a.laglen(4)       '数值为设定的滞后参数的最大值

代码执行的结果如下:

表中的Lag即是p;LogL指模型的对数似然;LR指序贯修正的似然率检验统计量;FPE指最终预测误差;AIC、SC、HQ是前面介绍过的三种信息准则(当样本量大于15时,由SC确定的p一定小于等于由AIC确定的p,而由HQ确定的p介于这两个p之间)。FPE的用法与信息准则类似,最小即最优。p的选择可以使用LR、FPE、AIC、SC、HQ中的任一个,选中的p在表中已用星号*标出。

上述laglen命令对应的鼠标操作为,估计完模型后在var对象窗口的左上角选View/Lag Structure/Lag Length Criteria。

命令复习
  • var:创建var对象
  • ls:估计VAR模型
  • .arroots:报告VAR模型的特征方程的逆根
  • .arroots(graph):显示VAR模型的特征方程的逆根的结构
  • .qstats(10):显示VAR模型残差的Q统计量
  • .laglen(4):显示不同p对应的VAR(p)模型的信息准则

[注] ( . )命令表示命令可单独使用,也可跟在对象后使用;.命令表示命令只能跟在对象后使用。

练习
  1. 重复上面的操作。

读后有收获欢迎打赏站长吃两个牛舌饼😹


点赞    

扫一扫,点右上角⋯分享

GARCH类模型
格兰杰因果检验



   
   
 卯光宇 回复给 smaq

smaq: 感谢你的详细教程,获益良多。上面提到向量误差修正模型(后面再介绍),但是没有看到这一章,会不会再多写一ç

原计划是要写的,但可能要等有空才能完成了。。。

发表于北京时间2023-01-30下午7:49
 smaq 留言给 卯光宇

感谢你的详细教程,获益良多。上面提到向量误差修正模型(后面再介绍),但是没有看到这一章,会不会再多写一章仔细介绍呢?(敲碗)

发表于北京时间2022-12-27上午10:49



    给站长留言    
😀😂😅😆😊😍😝🤭🌹🤝😵😭😱😳😣😴
昵称*
验证*:7加3 =