时间序列模型stata 基本命令汇总 - 图文 下载本文

运行结果省略 varbasic, dln_consump, dln_consump210-1varbasic, dln_consump, dln_incvarbasic, dln_consump, dln_invvarbasic, dln_inc, dln_consump210-1varbasic, dln_inc, dln_incvarbasic, dln_inc, dln_invvarbasic, dln_inv, dln_consump210-1024680varbasic, dln_inv, dln_incvarbasic, dln_inv, dln_inv246802468step95% CIimpulse response function (irf)Graphs by irfname, impulse variable, and response variable . irf graph irf, lstep(1) varbasic, dln_consump, dln_consump210-1varbasic, dln_consump, dln_incvarbasic, dln_consump, dln_invvarbasic, dln_inc, dln_consump210-1varbasic, dln_inc, dln_incvarbasic, dln_inc, dln_invvarbasic, dln_inv, dln_consump210-1024680varbasic, dln_inv, dln_incvarbasic, dln_inv, dln_inv246802468step95% CIimpulse response function (irf)Graphs by irfname, impulse variable, and response variable 4.3 VAR模型相关检验

1)平稳性检验:命令为varstable

例子:

use http://www.stata-press.com/data/r11/lutkepohl2,clear

var dln_inv dln_inc dln_consump if qtr>=tq(1961q2) & qtr<=tq(1978q4)

varstable, graph /*图示模的分布*/

Roots of the companion matrix1Imaginary-1-1-.50.5-.50Real.51 2)检验滞后阶数的显著性:命令varwle

例子:

use http://www.stata-press.com/data/r11/lutkepohl2,clear var dln_inv dln_inc dln_consump ,lag(1/2) dfk small varwle /*检验特定滞后阶数的联合显著性*/

* 处理方法:附加约束条件

constraint define 1 [dln_inv]L2.dln_inv = 0 constraint define 2 [dln_inv]L2.dln_inc = 0 constraint define 3 [dln_inv]L2.dln_consump = 0 constraint define 4 [dln_inc]L2.dln_inv = 0 constraint define 5 [dln_inc]L2.dln_inc = 0 constraint define 6 [dln_inc]L2.dln_consump = 0

var dln_inv dln_inc dln_consump ,lag(1/2) dfk small constraints(1/6) varwle

3)残差正态分布检验

在stata里,常用的命令为varnorm。它提供了三种检验:峰度、偏度以及Jarque–Bera检验,其中Jarque–Bera检验综合了峰度和偏度的检验,相当于整体的正态分布检验。

例子:

use http://www.stata-press.com/data/r11/lutkepohl2,clear

var dln_inv dln_inc dln_consump if qtr<=q(1978q4),lag(1/2) dfk small varnorm

* 三个统计量均无法拒绝残差服从正态分布的原假设

var dln_inv dln_inc dln_consump,lag(1/2) dfk small varnorm

* 此时可能需要考虑增加滞后阶数或近一步修正模型的设定

4)残差序列相关检验:命令varlmar

当Prob > chi2值大于0.05时,我们就可以判定其不存在自相关。 例子:

use http://www.stata-press.com/data/r11/lutkepohl2,clear

var dln_inv dln_inc dln_consump if qtr<=q(1978q4),lag(1/2) dfk small varlmar

varlmar, mlag(5)

4.4 格兰杰因果检验

格兰杰因果检验的命令为vargranger。格兰杰因果检验的虚无假设是X对Y不存在因果关系。在stata的检验结果里面,当P值小于0.05即拒绝虚无假设,即表明X对Y存在因果关系。 例子:

use http://www.stata-press.com/data/r11/lutkepohl2,clear var dln_inv dln_inc dln_consump,lag(1/2) dfk small vargranger

格兰杰因果检验结果如下:

Granger causality Wald tests

+------------------------------------------------------------------------+ | Equation Excluded | F df df_r Prob > F | |--------------------------------------+---------------------------------| | dln_inv dln_inc | .25645 2 82 0.7744 | | dln_inv dln_consump | .89569 2 82 0.4123 | | dln_inv ALL | 1.6857 4 82 0.1612 | |--------------------------------------+---------------------------------| | dln_inc dln_inv | 2.8776 2 82 0.0620 | | dln_inc dln_consump | 2.3508 2 82 0.1017 | | dln_inc ALL | 3.0145 4 82 0.0226 | |--------------------------------------+---------------------------------| | dln_consump dln_inv | 1.9554 2 82 0.1481 | | dln_consump dln_inc | 7.4974 2 82 0.0010 | | dln_consump ALL | 5.0021 4 82 0.0012 | +------------------------------------------------------------------------+

从上面检验结果我们可以看到,收入的增长对消费增长存在显著影响,以及收入对投资对存在不那么显著的影响。

4.5 脉冲响应和方差分解

脉冲响应和方差分解是一个问题的两个方面。脉冲响应是衡量模型中的内生变量如何对一个变量的脉冲(冲击)做出响应,而方差分解则是如何将一个变量的响应分解到模型中的内生变量。Stata的irf命令用于计算VAR、SVAR、VEC模型的脉冲响应、动态乘子和方差分解。

例子:

* -- 基本步骤

* 步骤1: 估计VAR模型

use http://www.stata-press.com/data/r11/lutkepohl2,clear var dln_inv dln_inc dln_consump,lag(1/2) dfk small * 步骤2: 生成IRF文件

irf create order1, step(10) set(myirf1) replace * 步骤3: 画图

irf graph oirf, impulse(dln_inc) response(dln_consump) irf(order1) xlabel(#10)

order1, dln_inc, dln_consump.01.0050-.005012345678910step95% CIGraphs by irfname, impulse variable, and response variableorthogonalized irf 脉冲响应IRF和方差分解FEVD可以产生在同一个文件里头。irf命令产生了myirf1.irf文件和把一种结果模式放在里面,命名为order1。order1结果包括简单脉冲响应、正交化脉冲响应、累积脉冲响应、累积正交化脉冲响应和Cholesky方差分解。

下面我们使用相同的var估计模型,但用另一种不同的命令来产生第二种IRF结果模式,命名为order2储存在相同的文件里面,并画出这两种结果:

irf create order2, step(10) order(dln_inv dln_inc dln_consump) replace irf graph oirf, irf(order1 order2) impulse(dln_inc) response(dln_consump)