温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装命令如下:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
⛳ Stata 系列推文:
作者:黄依桐 (中山大学)
邮箱:huangyt2@126.com
目录
VAR (Vector Autoregressive) 即向量自回归模型,由 Sims 在 1980 年提出,是指所有当期变量对所有变量的若干滞后项进行线性回归。在宏观经济模型的实证分析中,VAR 模型经常被用来分析变量间的动态变化关系。简单的 VAR 模型可以由单变量时间序列的 AR 过程推出,如二阶 VAR 模型:
VAR 模型系数的一个重要假设检验问题为 Granger 因果检验 (Granger causality test)。以二阶 VAR 模型为例,给定
则称
对于任一内生变量,我们都能逐次检定所有其它内生变量是否有 Granger 预测能力。若内生变量之间彼此具 Granger 预测能力,则这些变量之间存在动态变化关系。需要注意的是,上述零假设隐含参数不随时间改变的前提,即参数随着时间变化是稳定的。
在现实的宏观经济分析中,经济变量之间的关系常常随时间改变。在计量经济模型中,上述现象表现为自变量参数随时间改变,我们将之称为不稳定性 (instability)。
Rossi (2005) 证明,在不稳定性下,传统 Granger 因果检验可能是无效的,就算
Rossi (2005) 认为,在不稳定性下,Granger 因果检验应拓展为参数是否在任意时间点都等于 0,即:
我们称之为稳健的 Granger 因果检验。
文章中还提出稳健的 Granger 因果检验对应的检验统计量,包括:指数沃氏检验 gcrobustvar
。
命令安装
*运用 gcrobustvar 命令前应先安装 matsqrt 命令
net install matsqrt.pkg, from(http://www.stata.com/users/jpitblado) replace
ssc install gcrobustvar, replace
命令语法
gcrobustvar depvarlist, pos(#, #) [nocons horizon(#) lags(numlist) trimming(level)]
depvarlist
:被解释变量列表,即 VAR 模型内所有变量;pos
:包含两个整数的数列,分别代表被检验的被解释变量和解释变量在 depvarlist
中位置。如 pos(1,2)
表明检验 depvarlist
中第二个变量是否能 Granger 预测第一个变量;nocons
:表明模型无常数项,默认模型有常数项;horizon
:预测期数,默认为 horizon(0)
,即为缩减型 VAR 模型;lags
:滞后期数的数列。需要注意此处为数列而非最大滞后期数,如 lags(2)
表明模型中只包含滞后2期的滞后项,而 lags(1 2)
才表明模型中包含 1 期滞后与 2 期滞后。Stata 中数列的简便表达形式也适用,如 lags(1/3)
= lags(1 2 3 4)
。默认为 lags(1 2)
;trimming
:修整参数,限定参数不稳定性发生的时间范围。如 trimming(s)
表明参数的不稳定性发生在 trimming(0.15)
。
本文使用的数据是 Rossi 和 Wang (2019) 提供的「gcdata.xlsx」。该数据的样本期为 1959—2000 年,具体变量如下:
. *查看程序和数据
. net describe st0581, from(http://www.stata-journal.com/software/sj19-4) //查看程序和数据下载页面
INSTALLATION FILES (type net install st0581)
st0581/gcrobustvar.ado
st0581/chowgmmstar3.ado
st0581/nyblomstar3.ado
st0581/pvcalc.ado
st0581/gcrobustvar.sthlp
ANCILLARY FILES (type net get st0581)
st0581/main_implement.do
st0581/gcdata.xlsx
st0581/pvtable.mmat
. *获取数据
. net get st0581, from(http://www.stata-journal.com/software/sj19-4)
checking st0581 consistency and verifying not already installed...
all files already exist and are up to date.
. *导入数据
. import excel gcdata.xlsx, sheet(SW2001) firstrow clear
(4 vars, 168 obs)
. *时间变量处理与设定
. generate year = int(pdate) //获得年份
. generate quater = (pdate - int(pdate))*4 + 1 //获得季度数
. generate tq = yq(year, quater) //以1960第一季度为0,为每一季度找到对应的编号。
. format tq %tq //将时间编号转化为以季度划分的时间变量
. tsset tq //指定时间变量
time variable: tq, 1959q1 to 2000q4
delta: 1 quarter
Rossi 和 Wang (2019) 的模型为缩减型 VAR 模型:
其中,
我们感兴趣的是 u 是否能 Granger 预测 pi,并且想要检验这一关系在不稳定性下是否稳健,对应的零假设为:
需要注意的是,为获取检验统计量对应的 p 值表,在运用 gcrobustvar
命令前应先导入「pvtable.mmat」文件。
. *导入检验统计量对应的p值表
. mata // 进入Mata
------------------------- mata (type end to exit) ------------------------
: mata clear
: mata matuse pvtable,replace // 导入pvtable.mmat
(loading pvap0opt[34,21], pvapiopt[34,21], pvnybopt[34,21], pvqlropt[34,21])
: st_matrix("r(pvap0opt)",pvap0opt)
: st_matrix("r(pvapiopt)",pvapiopt)
: st_matrix("r(pvnybopt)",pvnybopt)
: st_matrix("r(pvqlropt)",pvqlropt)
: end
------------------------------------------------------------------------------
. matrix pvap0opt = r(pvap0opt)
. matrix pvapiopt = r(pvapiopt)
. matrix pvnybopt = r(pvnybopt)
. matrix pvqlropt = r(pvqlropt)
. *不稳定性下基于VAR模型的Granger因果检验
. gcrobustvar pi u R, pos(1,2) lags(1/4)
Running the Granger Causality Robust Test...
Setting:
Variables in VAR: pi u R
Lags in VAR:1 2 3 4
h is 0 (reduced-form VAR).
Trimming parameter is .15
Constant is included.
Assuming homoskedasticity in idiosyncratic shocks.
统计量及其 p 值结果如下:
Results of Granger Causality Robust Test: Lags of u Granger cause pi
ExpW*,MeanW*,Nyblom*,QLR* -- and their p-values below
ExpW MeanW Nyblom SupLR
statistics(pi:u) 9.1974592 17.047538 4.6890489 23.187923
p-value(pi:u) .07383773 .05866136 .07939046 .07069996
从
此外,gcrobustvar
命令还会返回沃氏统计量随时间的变化图,并命名为 gcrobustvar_{被解释变量}_{解释变量},具体如下:
. graph save gcrobustvar_pi_u, replace
分别以通胀率、失业率、利率作为被解释变量进行传统 Granger 因果检验:
. varsoc pi u R, maxlag(4)
. qui var pi u R, lags(1/4) dfk small
. vargranger
Granger causality Wald tests
+--------------------------------------------------------+
| Equation Excluded | F df df_r Prob > F |
|----------------------+---------------------------------|
| pi u | 3.1036 4 151 0.0173 |
| pi R | 1.3174 4 151 0.2661 |
| pi ALL | 4.1533 8 151 0.0002 |
|----------------------+---------------------------------|
| u pi | 1.2337 4 151 0.2990 |
| u R | 3.65 4 151 0.0072 |
| u ALL | 4.5282 8 151 0.0001 |
|----------------------+---------------------------------|
| R pi | 5.7553 4 151 0.0002 |
| R u | 7.7562 4 151 0.0000 |
| R ALL | 5.298 8 151 0.0000 |
+--------------------------------------------------------+
传统 Granger 因果检验显示,在 5% 的显著性水平下,pi 可以 Granger 预测 R,u 可以 Granger 预测 R 和 pi,R 可以 Granger 预测 u。
分别以通胀率、失业率、利率作为被解释变量进行稳健 Granger 因果检验,得到各统计量的 p 值情况整理成表如下:
变量 | ||||
---|---|---|---|---|
0.07 | 0.06 | 0.08 | 0.07 | |
0.01 | 0.20 | 0.03 | 0.00 | |
0.20 | 0.44 | 0.22 | 0.08 | |
0.00 | 0.01 | 0.02 | 0.00 | |
0.00 | 0.00 | 0.00 | 0.00 | |
0.00 | 0.00 | 0.00 | 0.00 |
稳健 Granger 因果检验显示,在 5% 的显著性水平下,R 可以 Granger 预测 pi,但这一点在传统的 Granger 因果检验中无法得出。查看以 R 为被解释变量、pi 为被解释变量时稳健 Granger 因果检验对应的沃氏统计量随时间的变化图:
由图形可知,实际上沃氏统计量在 1980 年第一季度左右超过了 5% 的显著性水平对应的值,因此可以拒绝参数的零假设,证明在 5% 的显著性水平下,R 可以 Granger 预测 pi。但是,传统的 Granger 因果检验无法证明这点。
在实证研究中,常常存在经济变量之间的关系随时间发生改变的现象,即不稳定性。在不稳定性下,传统基于 VAR 模型的 Granger 因果检验可能无效,而采用稳健的 Granger 因果检验可以较有效地解决这一问题。
Note:产生如下推文列表的 Stata 命令为:
lianxh var granger 因果, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh