上篇介绍到,VAR模型研究的是多个时间序列变量之间的相互影响关系,但是模型估计出的参数结果及其显著水平似乎并不能直观地反映这种影响关系,而要想直观地呈现这种关系,就需要使用本篇介绍的「脉冲响应函数」(impulse response function)。

1 脉冲响应函数

1.1 向量移动平均(VMA)

通过上篇的介绍,我们知道双变量的VAR模型的标准形式如下:

通过不断迭代,可以将上式进行如下转换:

当,,而的数学期望始终为0,则为的数学期望,记为。则有,

通过上篇我们还知道,

代入得到,

上式称为VAR的移动平均形式,即VMA(vector moving averge)。

1.2  VMA的系数矩阵()

通过定义如下符号:

VMA可以写成如下形式:

可以看出,中的元素刻画了的单位变化对时间序列变量当期值的影响作用。以双变量为例,每个都是一个二行、二列的矩阵:

  • 第一行、第一列:的单位变化对的影响作用;

  • 第一行、第二列:的单位变化对的影响作用;

  • 第二行、第一列:的单位变化对的影响作用;

  • 第二行、第二列:的单位变化对的影响作用。

每个位置的元素构成了一个脉冲响应函数,反映了不同滞后期的的单位变化对的影响的变化趋势。

1.3 R中的函数及案例

和上篇一样,这里仍然使用vars工具包中的相关函数。

计算VMA的系数矩阵()的函数是Phi(),它的语法结构如下:

Phi(x, nstep = 10)
  • 参数含义如下:

  • x:由VAR()SVAR()函数估计出的VAR模型对象;

  • nstep:的最大滞后项数,默认为10。

Phi()函数输出的矩阵个数是nstep + 1,其中第一个为,然后依次为、、...、。

library(vars)
model <- VAR(Canada, p = 2, type = "const")
Phi(model, nstep = 2)  ## , , 1
##
##      [,1] [,2] [,3] [,4]
## [1,]    1    0    0    0
## [2,]    0    1    0    0
## [3,]    0    0    1    0
## [4,]    0    0    0    1
##
## , , 2
##
##            [,1]        [,2]        [,3]        [,4]
## [1,]  1.6378206  0.16727167 -0.06311863  0.26558478
## [2,] -0.1727658  1.15042820  0.05130390 -0.47850131
## [3,] -0.2688329 -0.08106500  0.89547833  0.01213003
## [4,] -0.5807638 -0.07811707  0.01866214  0.61893150
##
## , , 3
##
##            [,1]       [,2]        [,3]       [,4]
## [1,]  2.0191501  0.3491150 -0.14251580  0.6512430
## [2,]  0.1676489  1.1553945 -0.01191318  0.1240154
## [3,] -0.3062245 -0.2169480  0.86759379 -0.1419466
## [4,] -0.8923428 -0.1847587  0.10271259  0.1952708

脉冲响应函数可以通过irf()函数计算,语法结构如下:

irf(x, impulse = NULL, response = NULL,n.ahead = 10, ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95, runs = 100, seed = NULL, ...)

主要参数含义如下:

  • x、n.ahead:同Phi()函数的xnstep参数;

  • impulse:作为脉冲的变量;默认为所有内生变量;

  • response:作为响应的变量;默认为所有内生变量;

  • cumulative:是否计算累积的脉冲响应系数。

impluse <- irf(model, n.ahead = 20)
par(mfrow = c(2,2))
plot(impluse)

2 格兰杰因果检验

若变量的「滞后值」对的当期值具有影响作用,则称是的格兰杰(Granger)原因,即对于下式中至少有一个滞后项系数不为0:

402 Payment Required

  • 是否为0与是否是格兰杰原因无关,因为它刻画的是当期值而非滞后值对当期值的影响作用。

格兰杰因果检验(Granger Causality Test)就是检验某(些)变量是否是其他变量的格兰杰原因,其零假设是该变量不是其他变量的格兰杰原因。若零假设为真,意味着没必要把该变量作为VAR模型的内生变量看待。

可以使用vars工具包中的causality()函数进行格兰杰因果检验,语法结构如下:

causality(x, cause = NULL, vcov.=NULL, boot=FALSE, boot.runs=100)

检验变量e是否为其他变量的格兰杰原因:

causality(model, cause = "e")## $Granger
##
##  Granger causality H0: e do not Granger-cause prod rw U
##
## data:  VAR object model
## F-Test = 6.2768, df1 = 6, df2 = 292, p-value = 3.206e-06
推荐阅读

ggplot2基础语法系列推文汇总

胶水函数用法的几个例子

空间计量经济模型的简单形式在R语言中的实现

使用R语言的常用工具包绘制双变量填充地图

R语言基础绘图系统的拼图功能

时间序列分析(12)| 脉冲响应函数、格兰杰因果检验相关推荐

  1. 格兰杰因果检验如何分析?

    在宏观计量经济研究中,通常会使用VAR模型研究多个时间经济变量之间的数量关系情况,VAR模型时可分析各计量变量之间的影响关系及影响方差解释情况,那么该影响关系是否具有意义,此时就需要使用格兰杰检验进行 ...

  2. 格兰杰因果检验准备-平稳性检验-Eviews

    概念 平稳性:时间序列的平稳性通常是指弱平稳, 就是时间序列yt的期望值.方差以及协方差均值不随时间t的变化而变化.检查序列平稳性可以看序列自相关图或者用单位根检验,但是一般都用单位根检验,而单位根检 ...

  3. 单位根检验、协整检验和格兰杰因果检验三者之间的关系

    实证检验步骤 \quad先做单位根检验,看变量序列是否平稳序列,若平稳,可构造回归模型等经典计量经济学模型:若非平稳,进行差分,当进行到第i次差分时序列平稳,则服从i阶单整(注意趋势.截距不同情况选择 ...

  4. 格兰杰因果检验-基础概念

    格兰杰因果关系的思想: MSE:均方误差,对Y进行S期预测的均方误差,公式如下: 当以y为基础对y进行S期预测的均方误差=以y和x为基础对y进行S期预测的均方误差时,也就是: 此时认为x不能Grang ...

  5. Stata:时间序列中的格兰杰因果检验

    时间序列中Stata的格兰杰因果检验 在实证分析中,因果关系经常需要判断.对此,Granger提出了一种解决方法:如果x是y的原因,且不存在反向因果,则x过去值可以预测y未来值,反之则不然.具体即建立 ...

  6. R语言EG(Engle-Granger)两步法协整检验、RESET、格兰杰因果检验、VAR模型分析CPI和PPI时间序列关系...

    全文链接:http://tecdat.cn/?p=31108 作为衡量通货膨胀的基本指标,消费者价格指数CPI和生产者价格指数PPI的作用关系与传导机制一直是宏观经济研究的核心问题.(点击文末&quo ...

  7. 格兰杰因果检验-Eviews实现

    首先了解格兰杰因果检验基本概念 一共分为两步,数据导入或因果检验 首先新建一个workfile 选择数据类型,一般会根据时间,但是由于本次需要排除节假日,而选取工作日后数据无法剔除,因此此处选择了无结 ...

  8. python时间序列因果检验_用python做时间序列预测八:Granger causality test(格兰杰因果检验)...

    如果想知道一个序列是否对预测另一个序列有用,可以用Granger causality test(格兰杰因果检验). Granger causality test的思想 如果使用时间序列X和Y的历史值来 ...

  9. 用python做时间序列预测八:Granger causality test(格兰杰因果检验)

    如果想知道一个序列是否对预测另一个序列有用,可以用Granger causality test(格兰杰因果检验). Granger causality test的思想 如果使用时间序列X和Y的历史值来 ...

最新文章

  1. 分布式架构的对比-EMC VMAX
  2. 数据库:SQL Server与MySQL
  3. JAVA: List用法
  4. iOS开发——多线程篇——GCD
  5. 在lean trace mode下运行function
  6. 基于.NET的系统开发需要注意的问题总结
  7. wxlogin php,wxlogin.php
  8. ubuntu16.04安装metasploit+postgresql
  9. 2008安装完了找不到_【专业性】关于铸铝热水锅炉安装使用的思考
  10. Alibaba船新出品“Java架构核心宝典”,java教程视频百度网盘
  11. BIO、NIO、AIO入门认识
  12. 图片内包含文本制作方法
  13. android tv 蓝牙服务_5款面向Android TV的优秀文件管理器
  14. 【Web开发】HTML颜色代码表
  15. 李嘉诚再次助攻华为 用事实打脸“别让李嘉诚跑了”
  16. 知识付费的本质是什么?现在入行知识付费行业晚吗?
  17. win的反义词_初中英语常见的同义词、反义词汇总
  18. 三四十岁的大龄程序员,到底该怎么做才能避免失业?
  19. 如何在一个小时内加密你的全部数字生活?
  20. uni-app 使用 jsencrypt

热门文章

  1. mysql单表多租户架构_多租户系统架构
  2. CRT的安装步骤。学不会来打我
  3. c语言vc98打开路径,为什么找不到Microsoft Visual StudioVC98中的CRT文件夹?
  4. Ubuntu 17.04中安装 WPS Office 2016 for Linux
  5. shell中的单引号和双引号
  6. 若g(x,u,w)为凸,则p(u,w)=inf{x} g(x,u,w)为凸
  7. 郑厂长系列故事——逃离迷宫(C语言)
  8. python随机中文名称生成器。
  9. pokemon 下载 android,Pokemon Home
  10. IIS集群设置Server Farms 配置步骤