综合整理自:百度文库等
向量自回归介绍:
当我们对变量是否真是外生变量的情况不自信时,传递函数分析的自然扩展就是均等地对待每一个变量。在双变量情况下,我们可以令{yt}的时间路径受序列{zt}的当期或过去的实际值的影响,考虑如下简单的双变量体系
式(5.17)和(5.18)并非是诱导型方程,因为yt对zt有一个同时期的影响,而zt对yt也有一个同时期的影响。所幸的是,可将方程转化为更实用的形式,使用矩阵性代数,我们可将系统写成紧凑形式:
在实际的应用估计中,我们并不能够直接估计出结构性VAR方程,因为在VAR过程中所固有的反馈,直接进行估计的话,则zt与误差项相关,yt与误差项相关,但是标准估计要求回归变量与误差项不相关。
因为在识别结构VAR方程时,需要对估计变量进行约束,这样子也就造成了在进行标准VAR估计后,求正交化的脉冲响应函数时,进行估计的变量排列序列会造成脉冲响应函数有些区别。因为在求正交化的脉冲响应函数时,是要得到变量的独立冲击,是要求出各自的和以及其滞后n项。
脉冲响应函数用于衡量来自随机扰动项的冲击对内生变量当前和未来值的影响。
方差分解是将系统的预测均方误差分解成为系统中各变量冲击所做的贡献,把系统中任意一个内生变量的波动按其成因分解为与各方程新息相关联的若干个组成部分,从而了解各新息对模型内生变量的相对重要性,即变量的贡献占总贡献的比例。
Granger非因果性检验:
(1)滞后期 k 的选取以 VAR 为依据。实际中是一个判断性问题。以 xt和 yt为例,如果xt-1对 yt存在显著性影响,则不必再做滞后期更长的检验。如果 xt-1对 yt不存在显著性影响,则应该再做滞后期更长的检验。一般来说要试检验若干个不同滞后期 k的格兰杰因果关系检验,且结论相同时,才可以最终下结论。
(2)格兰杰非因果性。
(3)通常总是把 xt-1 对 yt存在非因果关系表述为xt(去掉下标-1)对 yt存在非因果关系(严格讲,这种表述是不正确的)。
(4)Granger非因果性检验只在平稳变量之间进行。不存在协整关系的非平稳变量之间不能进行格兰杰因果关系检验。
(5)格兰杰因果关系不是哲学概念上的因果关系。一则他表示的是 xt-1对 yt的影响。二则它只是说明xt可以作为yt变化的预测因子。
VAR 模型的特点是:
(1)不以严格的经济理论为依据。在建模过程中只需明确两件事:①共有哪些变量是相互有关系的,把有关系的变量包括在 VAR 模型中;②确定滞后期 k。使模型能反映出变量间相互影响的绝大部分。
(2)VAR 模型对参数不施加零约束。(对无显着性的参数估计值并不从模型中剔除,不分析回归参数的经济意义。)
(3)VAR模型的解释变量中不包括任何当期变量,所有与联立方程模型有关的问题在VAR 模型中都不存在(主要是参数估计量的非一致性问题)。
(4)VAR 模型的另一个特点是有相当多的参数需要估计。比如一个 VAR 模型含有三个变量,最大滞后期 k = 3,则有 kN^2= 3×3^2= 27个参数需要估计。当样本容量较小时,多数参数的估计量误差较大。
(5)无约束 VAR 模型的应用之一是预测。由于在 VAR 模型中每个方程的右侧都不含有当期变量,这种模型用于样本外一期预测的优点是不必对解释变量在预测期内的取值做任何预测。
(6)用VAR模型做样本外近期预测非常准确。做样本外长期预测时,则只能预测出变动的趋势,而对短期波动预测不理想。
(7)VAR模型中每一个变量都必须具有平稳性。如果是非平稳的,则必须具有协整关系。
西姆斯(Sims)认为VAR模型中的全部变量都是内生变量。近年来也有学者认为具有单向因果关系的变量,也可以作为外生变量加入VAR 模型。
滞后阶数的选择
在VAR模型中,正确选择模型的滞后阶数对于模型估计和协整检验都产生一定的影响,在小样本中情况更是如此。Stata中varsoc命令给出了滞后阶数选择的几种标准,包括最终预测误差(FinalPrediction Error,FPE)、施瓦茨信息准则(Schwarz's BayesianInformation Criterion,SBIC)、汉南—昆(Hannan and QuinnInformation Criterion,HQIC)。对于这些检验,相对于默认的算法,还有另一种算法是lutstats,其运行出来的结果有差别,但对于判断没有多大的影响。
模型的估计
VAR模型在stata里的命令为var。其中默认的是2阶滞后。
命令格式:var depvarlist[if] [in] [,options]
options包括:
noconstant 没有常数项
lags(numlist) 滞后阶数
exog(varlist) 外生变量
dfk 自由度调整
small 小样本t、F统计量
lutstats Lutkepohl滞后阶数选择统计量
案例1:
Fit vector autoregressive model with 2 lags (the default) . var dln_inv dln_inc dln_consumpFit vector autoregressive model restricted to specified period . var dln_inv dln_inc dln_consump if qtr<=tq(1978q4) Same as above, but include first, second, and third lags in model . var dln_inv dln_inc dln_consump if qtr<=tq(1978q4), lags(1/3)Same as above, but report the Lutkepohl versions of the lag-order selection statistics . var dln_inv dln_inc dln_consump if qtr<=tq(1978q4), lags(1/3) lutstatsReplay results with 99% confidence interval . var, level(99)
结果为:
. var dln_inv dln_inc dln_consumpVector autoregressionSample: 1960q4 - 1982q4 Number of obs = 89Log likelihood = 742.2131 AIC = -16.20704FPE = 1.84e-11 HQIC = -15.97035Det(Sigma_ml) = 1.15e-11 SBIC = -15.61983Equation Parms RMSE R-sq chi2 P>chi2----------------------------------------------------------------dln_inv 7 .044295 0.1051 10.45617 0.1067dln_inc 7 .011224 0.1514 15.87886 0.0144dln_consump 7 .009938 0.2400 28.09971 0.0001---------------------------------------------------------------------------------------------------------------------------------------------- | Coef. Std. Err. z P>|z| [95% Conf. Interval]-------------+----------------------------------------------------------------dln_inv | dln_inv | L1. | -.2725654 .1093372 -2.49 0.013 -.4868623 -.0582684 L2. | -.1340503 .1089367 -1.23 0.218 -.3475624 .0794617 | dln_inc | L1. | .3374819 .4805209 0.70 0.482 -.6043217 1.279286 L2. | .1827302 .466292 0.39 0.695 -.7311852 1.096646 | dln_consump | L1. | .6520473 .5450985 1.20 0.232 -.4163261 1.720421 L2. | .5980687 .5434576 1.10 0.271 -.4670886 1.663226 | _cons | -.0099191 .0126649 -0.78 0.434 -.0347419 .0149037-------------+----------------------------------------------------------------dln_inc | dln_inv | L1. | .0433473 .0277054 1.56 0.118 -.0109542 .0976488 L2. | .0616319 .0276039 2.23 0.026 .007