Stata:向量自回归(VAR)全套stata代码详解(全) |
您所在的位置:网站首页 › stata的var模型命令 › Stata:向量自回归(VAR)全套stata代码详解(全) |
划重点使用stata进行VAR建模时需注意: (1)在VAR模型中可以指定外生变量: var huabei_month huanan_month ,lag(1/1) exog(z x)(2)非正交化的IRF(irf)结果与变量顺序无关。 (3)正交化的IRF结果(oirf)与VAR模型中变量顺序有关。可以在creat irf文件时指定VAR模型变量顺序或用之前存储的估计结果: //指定VAR模型变量顺序var huabei_month huanan_month ,lag(1/1) dfk small exog(time)irf creat irf_region, set(myirf_region) replace step(100) order(huanan_month huabei_month )//采用之前存储的估计结果var huabei_month huanan_month ,lag(1/1) dfk small exog(time)est store myreg1irf creat irf_region, set(myirf_region) replace step(100) estimates(myreg1 )(4)stata 中的命令衡量的是一个单位的冲击。若要得到一个标准差的冲击,可以先将变量进行标准化后再进行VAR回归。 (5)fevd的结果指的是Cholesky方差分解的结果,也就是根据oirf的结果来的(正交化的):累积的(脉冲响应平方)占比。若没有额外指定顺序,则正交化的分解顺序为原始VAR模型的变量顺序。第1期的方差分解对应第0期的脉冲响应。 (6)脉冲响应IRF和方差分解FEVD可以产生在同一个文件里头。irf命令产生了myirf_region.irf文件和把一种结果模式(irf_region)放在里面,命名为irf_region。irf_region结果包括简单脉冲响应、正交化脉冲响应、累积脉冲响应、累积正交化脉冲响应和Cholesky方差分解。 详细介绍如下: 1、VAR模型准备工作在估计VAR模型前,要进行一些准备工作:(1)检验各个内生变量的平稳性,一般用ADF单位根检验。(2)确定VAR模型中变量的顺序,即确定变量之间的因果关系,可以借助格兰杰因果关系或者是有序无环图。(3)确定VAR模型的滞后阶数。 2、应用VAR模型向量自回归(VAR)模型是 AR 模型的多元扩展,用以反映在一个系统中多个变量之间的相互影响和动态影响。主要用于分析系统中一个变量的冲击如何传导至经济系统里的各个变量(脉冲响应),以及经济系统中各个变量对某一变量的解释贡献分解(方差分解)。 (1)选择VAR模型滞后项 varsoc huabei_month huanan_month huazhong_month huadong_month dongbei_month xibei_month xinan_month,maxlag(3)(2)估计VAR 模型基础命令: var depvarlist [if] [in] [, options]options 选项含义: noconstant 表示没有常数项 suppress constant term lags(numlist) 滞后阶数 use lags numlist in the VAR exog(varlist) 表示 外生变量 use exogenous variables varlist constraints(numlist) 表示线性约束 apply specified linear constraints nolog 表示不显示似不相关估计的迭代过程 suppress SURE iteration log noisure 表示 一步迭代use one-step SURE dfk 表示 自由度调整 make small-sample degrees-of-freedom adjustment small 表示小样本t、F统计量 report small-sample t and F statistics level(#) 表示设置置信水平 set confidence level; default is level(95) 案例应用 var huabei_month huanan_month huazhong_month huadong_month dongbei_month xibei_month xinan_month,lag(1/1) exog(time) dfk smallvar xibei_month xinan_month huabei_month dongbei_month huanan_month huadong_month huazhong_month,lag(1/1) level(95)var huadong_month huabei_month huanan_month huazhong_month xibei_month dongbei_month xinan_month,lag(1/1) vargranger(3)VAR模型相关检验 VAR模型最重要的检验是平稳性检验。检验方法有很多,可以检验各个变量的平稳性,可以检验滞后算子多项式的根(单位圆外),可以检验特征多项式的特征根(单位圆内)等。 不过,一般而言,如果VAR模型的脉冲响应函数随着时间的增大,收敛到0,则表明所建立的VAR模型是平稳的,相应分析是有效的。 1)平稳性检验:varstable 2)检验滞后阶数的显著性:varwle 3)残差正态分布检验:varnorm 4)残差序列相关检验:varlmar (4)脉冲响应和方差分解【重点】 脉冲响应和方差分解是一个问题的两个方面。脉冲响应是衡量模型中一个变量的脉冲(冲击)如何影响模型中的各个内生变量,而方差分解则是将一个变量的波动分解到模型中的各个内生变量。Stata命令主要是irf命令,包括VAR、SVAR、VEC模型的脉冲响应、动态乘子、方差分解、正交和累积的脉冲响应等。 基本步骤为:估计VAR模型,生成irf文件,估计IRF或FEVD。 stata代码为: irf subcommand ... [, ...] IRF stands for impulse-response function; FEVD stands for forecast-error variance decomposition. irf can be used only after var, svar, vec, arima, arfima, dsge, or dsgenl; see [TS] var, [TS] var svar, [TS] vec, [TS] arima, [TS] arfima, [DSGE] dsge, or [DSGE] dsgenl.*应用案例 * 步骤1: 估计VAR模型webuse lutkepohl2var huabei_month huanan_month huazhong_month huadong_month dongbei_month xibei_month xinan_month,lag(1/1) dfk small exog(time)* 步骤2: 生成IRF文件 cd 'G:\ Stata'irf creat irf_region, set(myirf_region) replace step(100)* 步骤3: 画图 //响应变量为huabei_monthirf graph irf,set(myirf_region) response(huabei_month) level(95) xlabel(#10)//将选定的几个脉冲响应图画在一张图上(多个图)irf cgraph (irf_region huabei_month huanan_month oirf) (irf_region huanan_month huabei_month oirf), level(95)//将选定的几个脉冲响应图画在一张图上(一张图)irf ograph (irf_region huanan_month huanan_month oirf) (irf_region huabei_month huanan_month oirf) (irf_region huazhong_month huanan_month oirf) (irf_region huadong_month huanan_month oirf) (irf_region dongbei_month huanan_month oirf) (irf_region xibei_month huanan_month oirf) (irf_region xinan_month huanan_month oirf), level(95) set(myirf_region)irf ograph (irf_region huanan_month huanan_month coirf) (irf_region huabei_month huanan_month coirf) (irf_region huazhong_month huanan_month coirf) (irf_region huadong_month huanan_month coirf) (irf_region dongbei_month huanan_month coirf) (irf_region xibei_month huanan_month coirf) (irf_region xinan_month huanan_month coirf), level(95) set(myirf_region)* 步骤4: 脉冲响应//非正交化的脉冲响应函数 irf ctable (irf_region huanan_month huanan_month irf) (irf_region huabei_month huanan_month irf) (irf_region huazhong_month huanan_month irf) , std noci set(myirf_region) title('response of huanan') //正交化的脉冲响应函数 irf ctable (irf_region huanan_month huanan_month oirf) (irf_region huabei_month huanan_month oirf) (irf_region huazhong_month huanan_month oirf) (irf_region huadong_month huanan_month oirf) (irf_region dongbei_month huanan_month oirf) (irf_region xibei_month huanan_month oirf) (irf_region xinan_month huanan_month oirf), std noci set(myirf_region) title('response of huanan')//累积的正交化脉冲响应函数,且导出到excel文件中。logout,save(myirf1) excel dec(4) replace : irf ctable (irf_region huanan_month huanan_month coirf) (irf_region huabei_month huanan_month coirf) (irf_region huazhong_month huanan_month coirf) (irf_region huadong_month huanan_month coirf) (irf_region dongbei_month huanan_month coirf) (irf_region xibei_month huanan_month coirf) (irf_region xinan_month huanan_month coirf), std noci set(myirf_region) title('response of huanan')* 步骤5: 方差分解//方差分解都是正交化的 irf ctable (irf_region huanan_month huanan_month fevd) (irf_region huabei_month huanan_month fevd) (irf_region huazhong_month huanan_month fevd) (irf_region huadong_month huanan_month fevd) (irf_region dongbei_month huanan_month fevd) (irf_region xibei_month huanan_month fevd) (irf_region xinan_month huanan_month fevd), std noci set(myirf_region) title('fevd of huanan')//导出到excel文件中logout,save(myirf1) excel dec(4) replace : irf ctable (irf_region huanan_month huanan_month fevd) (irf_region huabei_month huanan_month fevd) (irf_region huazhong_month huanan_month fevd) (irf_region huadong_month huanan_month fevd) (irf_region dongbei_month huanan_month fevd) (irf_region xibei_month huanan_month fevd) (irf_region xinan_month huanan_month fevd), std noci set(myirf_region) title('fevd of huanan')使用stata进行VAR建模时需注意: (1)在VAR模型中可以指定外生变量:var huabei_month huanan_month huazhong_month ,lag(1/1) exog(z x) (2)非正交化的IRF(irf)结果与变量顺序无关。 (3)正交化的IRF结果(oirf)与VAR模型中变量顺序有关。可以在creat irf文件时指定VAR模型变量顺序或用之前存储的估计结果: //指定VAR模型变量顺序var huabei_month huanan_month ,lag(1/1) dfk small exog(time)irf creat irf_region, set(myirf_region) replace step(100) order(huanan_month huabei_month )//采用之前存储的估计结果var huabei_month huanan_month ,lag(1/1) dfk small exog(time)est store myreg1irf creat irf_region, set(myirf_region) replace step(100) estimates(myreg1 )(4)stata 中的命令衡量的是一个单位的冲击。若要得到一个标准差的冲击,可以先将变量进行标准化后再进行VAR回归。 (5)fevd的结果指的是Cholesky方差分解的结果,也就是根据oirf的结果来的(正交化的):累积的(脉冲响应平方)占比。若没有额外指定顺序,则正交化的分解顺序为原始VAR模型的变量顺序。第1期的方差分解对应第0期的脉冲响应。 (6)脉冲响应IRF和方差分解FEVD可以产生在同一个文件里头。irf命令产生了myirf_region.irf文件和把一种结果模式(irf_region)放在里面,命名为irf_region。irf_region结果包括简单脉冲响应、正交化脉冲响应、累积脉冲响应、累积正交化脉冲响应和Cholesky方差分解。
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |