Stata:VAR 中的脉冲响应分析 (IRF)

版权声明:本文为博主原创文章,若需转载请联系博主:[email protected]。 https://blog.csdn.net/arlionn/article/details/89531159

连享会-空间计量现场班 (2019年6月27-30日,西安)

Source: Rizaudin SahlanImpulse Response Function with Stata (time series)

编译:许梦洁 (中山大学)

Stata 连享会: 知乎 | 简书 | 码云

Stata连享会时间序列专题:

在这篇推文中,我们讨论 VAR 模型中的脉冲响应函数 (IRFs)。

模型推导

脉冲响应函数反映了当 VAR 模型某个变量受到"外生冲击"时,模型中其他变量受到的动态影响。我们会根据这些变量受到此冲击后的一段时间内的动态变化画出脉冲响应图形。

脉冲响应函数是一种条件预测,更确切地说,是一种点估计,只不过我们会估计冲击发生后不同时点的值。

类似于 AR 模型有 MA 表达形式,VAR 模型也有 VMA 表达形式。 VMA 表达形式有助于我们探求在 VAR 系统中变量收到冲击后的随时间变化的路径。考虑一个由 y t y_t z t z_t 构成的VAR 系统:

扫描二维码关注公众号,回复: 6098805 查看本文章

(1) [ y t z t ] = [ a 10 a 20 ] + [ a 11 a 12 a 21 a 22 ] [ y t 1 z t 1 ] + [ e 1 t e 2 t ] \left[ \begin{array} { c } { y _ { t } } \\ { z _ { t } } \end{array} \right] = \left[ \begin{array} { c } { a _ { 10 } } \\ { a _ { 20 } } \end{array} \right] + \left[ \begin{array} { c c } { a _ { 11 } } & { a _ { 12 } } \\ { a _ { 21 } } & { a _ { 22 } } \end{array} \right] \left[ \begin{array} { c } { y _ { t - 1 } } \\ { z _ { t - 1 } } \end{array} \right] + \left[ \begin{array} { c } { e _ { 1 t } } \\ { e _ { 2 t } } \end{array} \right]\tag{1}

该模型也可以写成如下形式:

(2) [ y t z t ] = [ y z ] + i = 0 [ a 11 a 12 a 21 a 22 ] i [ e 1 t i e 2 t i ] \left[ \begin{array} { c } { y _ { t } } \\ { z _ { t } } \end{array} \right] = \left[ \begin{array} { c } { \overline { y } } \\ { \overline { z } } \end{array} \right] + \sum _ { i = 0 } ^ { \infty } \left[ \begin{array} { c c } { a _ { 11 } } & { a _ { 12 } } \\ { a _ { 21 } } & { a _ { 22 } } \end{array} \right] ^ { i } \left[ \begin{array} { c } { e _ { 1 t - i } } \\ { e _ { 2 t - i } } \end{array} \right] \quad \tag{2}

方程 (2) 使用 { e 1 t e_{ 1 t } } 和 { e 2 t e_{ 2 t } } 序列表示了 y t y_t z t z_t 。根据 Enders(2014, p286),{ e 1 t e_{ 1 t } } 和 { e 2 t e_{ 2 t } } 可以写成:

(3) [ e 1 t e 2 t ] = 1 1 b 12 b 21 [ 1 b 12 b 21 1 ] [ ε y t ε z t ] \left[ \begin{array} { c } { e _ { 1 t } } \\ { e _ { 2 t } } \end{array} \right] = \frac{1}{ 1 - b _ { 12 } b _ { 21 }} \left[ \begin{array} { c c } { 1 } & { - b _ { 12 } } \\ { - b _ { 21 } } & { 1 } \end{array} \right] \left[ \begin{array} { c } { \varepsilon _ { y t } } \\ { \varepsilon _ { zt } } \end{array} \right]\tag{3}

将 (3) 式代入 (2) 式中可得:

( 4 ) [ y t z t ] = [ y z ] + 1 1 b 12 b 21 i = 0 [ a 11 a 12 a 21 a 22 ] i [ 1 b 12 b 21 1 ] [ ε y t ε z t ] \left[ \begin{array} { c } { y _ { t } } \\ { z _ { t } } \end{array} \right] = \left[ \begin{array} { c } { \overline { y } } \\ { \overline { z } } \end{array} \right]+ \frac{1}{ 1 - b _ { 12 } b _ { 21 }} \sum _ { i = 0 } ^ { \infty } \left[ \begin{array} { c c } { a _ { 11 } } & { a _ { 12 } } \\ { a _ { 21 } } & { a _ { 22 } } \end{array} \right] ^ { i } \left[ \begin{array} { c c } { 1 } & { - b _ { 12 } } \\ { - b _ { 21 } } & { 1 } \end{array} \right] \left[ \begin{array} { c } { \varepsilon _ { y t } } \\ { \varepsilon _ { z t } } \end{array} \right] \tag { 4 }

由于 (4) 式不太简洁,我们可以通过定义一个 2 × 2 2\times2 的矩阵 ϕ i \phi_i 来简化它:

(5) ϕ i = A 1 i 1 b 12 b 21 [ 1 b 12 b 21 1 ] \phi _ { i } = \frac{A _ { 1 } ^ { i } }{ 1 - b _ { 12 } b _ { 21 } } \left[ \begin{array} { c c } { 1 } & { - b _ { 12 } } \\ { - b _ { 21 } } & { 1 } \end{array} \right]\tag{5}

将 (5) 式代入 (4) 式可得:

(6) [ y t z t ] = [ y z ] + i = 0 [ ϕ 11 ( i ) ϕ 12 ( i ) ϕ 21 ( i ) ϕ 22 ( i ) ] i [ ε y t i ε z t i ] \left[ \begin{array} { l } { y _ { t } } \\ { z _ { t } } \end{array} \right] = \left[ \begin{array} { c } { \overline { y } } \\ { \overline { z } } \end{array} \right] + \sum _ { i = 0 } ^ { \infty } \left[ \begin{array} { c c } { \phi _ { 11 } ( i ) } & { \phi _ { 12 } ( i ) } \\ { \phi _ { 21 } ( i ) } & { \phi _ { 22 } ( i ) } \end{array} \right] ^ { i } \left[ \begin{array} { c } { \varepsilon _ { y t - i } } \\ { \varepsilon _ { zt - i } } \end{array} \right]\tag{6}

显然 (6) 式可以写成更简洁的形式:

(7) x t = μ + i = 0 ϕ i ε t i x _ { t } = \mu + \sum _ { i = 0 } ^ { \infty } \phi _ { i } \varepsilon _ { t - i }\tag{7}

以上 VMA 形式的表出对于我们理解 y t y_t z t z_t 构成的VAR 系统格外有帮助。其中系数矩阵 ϕ i \phi_i 即为来自 ε y t \varepsilon_{yt} ε z t \varepsilon_{zt} 的冲击对 y t y_t z t z_t 序列的影响。

很显然 ϕ j k ( 0 ) \phi_{jk} (0) 是冲击的即时影响。比如, ϕ 12 ( 0 ) \phi_{12} (0) 表示 1 个单位 ε z t \varepsilon_{zt} 的冲击会使当期的 y t y_t 变化多少个单位。类似地, ϕ 11 ( 1 ) \phi_{11} (1) ϕ 12 ( 1 ) \phi_{12} (1) 则分别表示来自一个单位 ε y t 1 \varepsilon_{yt-1} 和一个单位 ε z t 1 \varepsilon_{zt-1} 的冲击对 y t y_t 产生的影响。

ϕ 11 ( 1 ) \phi_{11} (1) ϕ 12 ( 1 ) \phi_{12} (1) 也可以表示来自一个单位 ε y t \varepsilon_{yt} ε z t \varepsilon_{zt} 的冲击对 y t + 1 y_{t+1} 产生的影响。以此类推,来自一个单位 ε y t \varepsilon_{yt} ε z t \varepsilon_{zt} 的冲击对后续各期的 y t y_t z t z_t 产生的影响可以通过对脉冲响应函数进行适当的汇总得到。比如来自一个单位 ε z t \varepsilon_{zt} 的冲击对 { y t y_{t} } 序列在后续第 n n 期产生的影响即为 ϕ 12 ( n ) \phi_{12} (n) ,则在此 ε z t \varepsilon_{zt} 冲击对 y t y_{t} 序列在冲击发生后的 n n 期内产生的总影响为:

i = 0 n ϕ 12 ( n ) \sum _ { i = 0 } ^ { n } \phi _ { 12 } ( n )

n n 趋于无穷,可以得到冲击对 y t y_t z t z_t 产生的长期影响。由于 { y t y_{t} } 和 { z t z_{t} } 被假定为平稳的,易得对于任意 j j k k

i = 0 ϕ j k 2 ( i )  在  i  时收敛 \sum _ { i = 0 } ^ { \infty } \phi _ { j k } ^ { 2 } ( i )\text{ 在 $i\rightarrow \infty$ 时收敛}

四个系数集 ϕ 11 ( i ) \phi_ { 11 } ( i ) ϕ 12 ( i ) \phi _ { 12 } ( i ) ϕ 21 ( i ) \phi _ { 21 } ( i ) ϕ 22 ( i ) \phi _ { 22 } ( i ) 被称为脉冲响应函数。绘制脉冲响应函数的图形是观察冲击 ε y t \varepsilon_{yt} ε z t \varepsilon_{zt} 对系统内变量 y t y_t z t z_t 影响的实用手段,也是观察来自 ε y t \varepsilon_{yt} ε z t \varepsilon_{zt} 冲击造成的时变影响的有力工具。

使用 Stata 估计脉冲响应函数

Stata 中, 我们可以使用 irf create 命令得到脉冲响应函数,这个命令可以估计五种脉冲响应函数(IRFs):简单脉冲响应函数(simple IRFs)、正交脉冲响应函数(orthogonalized IRFs)、累积脉冲响应函数(cumulative IRFs)、累积正交脉冲响应函数(cumulative orthogonalized IRFs)以及结构脉冲响应函数(structural IRFs)。

具体的操作思路为:首先拟合 VAR 模型,然后使用 irf create 命令估计脉冲响应函数并将其存储到文件中,最后使用 irf graph 或其他的 irf 分析命令检验结果。

本篇推文使用的数据集为 Data09.dta,可以点击这里下载。

我们想估计的 VAR 模型中包含的变量有:对数固定资本形成总额 (lrgrossinv) ,对数实际家庭消费支出额 (lrconsump) 以及对数 GDP (lrgdp)。

在估计脉冲响应函数之前,我们首先需要知道该 VAR 模型的最优滞后阶数:

 varsoc lrgrossinv lrconsump lrgdp, max (12)

   Selection-order criteria
   Sample:  1962q1 - 2010q3                     Number of obs      =       195
  +---------------------------------------------------------------------------+
  |lag |    LL      LR      df    p      FPE       AIC      HQIC      SBIC    |
  |----+----------------------------------------------------------------------|
  |  0 |  721.692                      1.3e-07   -7.3712  -7.35081  -7.32085  |
  |  1 |  1979.02  2514.7    9  0.000  3.5e-13  -20.1746   -20.093  -19.9731  |
  |  2 |  2022.28  86.525    9  0.000  2.4e-13   -20.526  -20.3833* -20.1735* |
  |  3 |  2030.07  15.571    9  0.076  2.5e-13  -20.5135  -20.3096    -20.01  |
  |  4 |  2036.31  12.492    9  0.187  2.5e-13  -20.4853  -20.2202  -19.8307  |
  |  5 |  2044.65  16.669    9  0.054  2.6e-13  -20.4784  -20.1522  -19.6728  |
  |  6 |  2056.46  23.622    9  0.005  2.5e-13  -20.5073  -20.1199  -19.5505  |
  |  7 |  2070.89  28.858*   9  0.001  2.4e-13*  -20.563* -20.1144  -19.4552  |
  |  8 |  2074.97  8.1629    9  0.518  2.5e-13  -20.5125  -20.0028  -19.2537  |
  |  9 |  2078.94  7.9406    9  0.540  2.6e-13  -20.4609  -19.8901   -19.051  |
  | 10 |  2083.77  9.6582    9  0.379  2.7e-13  -20.4181  -19.7861  -18.8572  |
  | 11 |  2088.52  9.5076    9  0.392  2.9e-13  -20.3746  -19.6814  -18.6626  |
  | 12 |     2094  10.959    9  0.279  3.0e-13  -20.3385  -19.5841  -18.4754  |
  +---------------------------------------------------------------------------+
   Endogenous:  lrgrossinv lrconsump lrgdp
    Exogenous:  _cons

以上结果显示,根据 AIC 准则,模型的最优滞后结束为 7 阶。使用 7 阶滞后重新估计 VAR 模型:

quietly var lrgrossinv lrconsump lrgdp,lags(1/7)dfk small

并基于估计结果估计脉冲响应函数:

 irf create order1, step(10) set(myirf1) replace
(file myirf1.irf created)
(file myirf1.irf now active)
irfname order1 not found in myirf1.irf
(file myirf1.irf updated)

Stata 中,多个脉冲响应的结果可以被存储在同一个文件中,并被标记为不同的名字。上述命令表示,此次脉冲响应估计的结果被存储在 myirf1 文件中,其名字被标记为 order1order1 中存储了前面提到的该 VAR 模型的全部五种脉冲响应函数的估计结果。

得到了脉冲响应函数的估计结果后,我么就可以使用 irf graph 命令来绘制秒冲响应图形了:

irf graph oirf, impulse(lrgrossinv lrconsump lrgdp) response(lrgrossinv lrconsump lrgdp)  yline (0,lcolor(black)) byopts(yrescale)

脉冲响应函数

脉冲响应图形中,每一行为同种冲击对不同变量造成的影响,每一列为不同冲击对同一变量造成的影响。

横坐标的刻度单位为 VAR 模型估计的单位时间(在这个案例中为每一季度)。这张图形中显示的是冲击在 10 个季度内造成的影响。纵坐标以每个变量自己的单位来衡量,由于我们估计的模型所有变量的单位均为百分比,因此纵坐标表示百分比的变化。

第一行展示了家庭消费 (lrconsump) 受到一个单位标准差的冲击对 VAR 系统造成的影响:家庭消费 (lrconsump) 会瞬间全部吸收冲击,并增加相应单位的百分比,此影响甚至到 10 个季度之后都没有消退。GDP (lrgdp) 受到该冲击的影响会在4个季度内有所上升,在第四个季度达到峰值,随后该影响慢慢衰退。固定资本形成额 (lrconsump) 与 GDP 呈现相似的变化。

第二行展示了GDP (lrgdp) 受到一个单位标准差的冲击对 VAR 系统造成的影响:家庭消费 (lrconsump) 和固定资本形成额 (lrconsump) 都在前 5 个季度轻微下降,之后回升。

第三行展示了固定资本形成额 (lrconsump) 受到一个标准差的冲击对 VAR 系统造成的影响:家庭消费 (lrconsump) 和 GDP (lrgdp) 都出现了高度持续的下降。

连享会-Python爬虫与文本分析现场班 (2019年5月17-19日,太原)

关于我们

  • Stata 连享会(公众号:StataChina)】由中山大学连玉君老师团队创办,旨在定期与大家分享 Stata 应用的各种经验和技巧。
  • 公众号推文同步发布于 CSDN-Stata连享会简书-Stata连享会知乎-连玉君Stata专栏。可以在上述网站中搜索关键词StataStata连享会后关注我们。
  • 点击推文底部【阅读原文】可以查看推文中的链接并下载相关资料。
  • Stata连享会 精品专题 || 精彩推文

联系我们

  • 欢迎赐稿: 欢迎将您的文章或笔记投稿至Stata连享会(公众号: StataChina),我们会保留您的署名;录用稿件达五篇以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。
  • 意见和资料: 欢迎您的宝贵意见,您也可以来信索取推文中提及的程序和数据。
  • 招募英才: 欢迎加入我们的团队,一起学习 Stata。合作编辑或撰写稿件五篇以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。
  • 联系邮件: [email protected]

往期精彩推文


欢迎加入Stata连享会(公众号: StataChina)

猜你喜欢

转载自blog.csdn.net/arlionn/article/details/89531159
IRF