最近在写一篇小论文,主要用的就是VAR(向量自回归模型)和SVAR(结构向量自回归模型),这里分享一下R语言实现VAR和SVAR的整个流程。码字不易,喜欢请点赞,谢谢!!!

主要步骤包括:
1.单位根检验
2.确定滞后阶数
3.格兰杰因果检验
4.模型稳定性检验
5.脉冲响应
6.方差分解
(Johansen协整检验,如果需要的话)
整个过程用到的R语言的扩展包有:

library(zoo)
library(vars)
library(tseries)

首先,数据是下面的样子:
ps:数据是时间序列类型,可以通过下面方法将dataframe转成时间序列类型

data = ts(data)


1.单位根检验

#对data的第一列进行单位根检验
adf.test(data[,1])

2.滞后阶数确定
VARselect函数结果包括AIC、HQ、SC和FPE准则

#参数y为时间序列数据,lag.max为最大滞后阶数
#参数type值包括const截距,trend趋势,both同时包含截距和趋势,none不包含截距和趋势
VARselect(y=data, lag.max = 10, type = c("const"))

3.格兰杰因果检验
格兰杰因果检验有两个方法,第一个是在构造模型之前,第二个是在构造模型之后在模型的基础上进行格兰杰因果检验。
(1)构造模型之前格兰杰因果检验

#函数格式:grangertest(yt~xt)
eg:
grangertest(Value~BCI)

(2)构造模型之后格兰杰因果检验

#函数格式:causality(VARModel,cause)
eg
var =  VAR(data ,p = 2, type = "const")
causality(var,cause=c('Count','Value'))

ps:在这里如果想要构建SVAR模型的话,需要根据实际情况构建两个矩阵amat和bmat,然后使用这两个矩阵来构建SVAR模型:

svar = SVAR(var,Amat = amat,Bmat = bmat)

4.模型稳定性检验

#这里使用“OLS-CUSUM”,它给出的是残差累积和,在该检验生成的曲线图中,残差累积和曲线以时间为横坐标,
#图中绘出两条临界线,如果累积和超出了这两条临界线,则说明参数不具有稳定性。
sta = stability(var, type = c("OLS-CUSUM"), h = 0.15, dynamic = FALSE, rescale = TRUE)
plot(sta)##结果稳健

5.脉冲响应

#标题栏说明,这是BCI(或者其他变量)对各个变量(包括BCI自身)的脉冲响应
(1)VAR脉冲响应
var.irf<-irf(var,n.head=10)
plot(var.irf)
(2)SVAR脉冲响应
svar.irf<-irf(svar,n.ahead = 100)
plot(svar.irf)

6.方差分解

#反映了各变量的贡献率
(1)VAR方差分解
fevd1<-fevd(var, n.ahead = 10)
fevd1$Count
(2)SVAR方差分解
fevd2<-fevd(svar, n.ahead = 10)
fevd2$Value

ps:有时候需要进行Johansen协整检验

#Johansen协整检验,
#对r=0(不存在协整关系)的检验统计量大于临界值,表明拒绝原假设
yJoTest = ca.jo(data, type = c("trace"), ecdet = c("none"), K = 2)
summary(yJoTest)

【R语言】实现VAR、SVAR相关推荐

  1. 用R语言建立VAR模型预测中国移动美国股价

    说明:要考虑的因素为:美国的中国移动每日收盘价,美国标普500指数收盘价,港股中国移动收盘价, 数据日期从2000年10月19日到2016年10月13日. 在中间处理数据的时候,删除了部分因为美国市场 ...

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

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

  3. R语言用灰色模型 GM (1,1)、神经网络预测房价数据和可视化

    全文链接:http://tecdat.cn/?p=31938 以苏州商品房房价为研究对象,帮助客户建立了灰色预测模型 GM (1,1). BP神经网络房价预测模型,利用R语言分别实现了 GM (1,1 ...

  4. R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    原文链接:http://tecdat.cn/?p=22215 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以使这些变量差分而平 ...

  5. R语言ECM误差修正模型、均衡修正模型、受限VECM、协整检验、单位根检验即期利率市场数据...

    全文下载:http://tecdat.cn/?p=29221 传统上,协整检验是在非常长的时间内进行的,本案例研究A测试了1960-2010年期间T-Bill利率和国债收益率之间的均衡(点击文末&qu ...

  6. 【R】数据统计基础:集中趋势和离散程度及简单R语言代码

    集中趋势: 3种常见统计量:均值.中位数.众数 均值: mean() 中位数:median() 众数:没有默认,要先下载R包:FinAna.之后用 get.mode() 离散程度 常见统计量:极差.四 ...

  7. R语言编程学习之函数与模型:VAR与SVAR和爬虫(图)

    R语言编程学习之函数与模型:VAR与SVAR和爬虫(图) SVAR模型与VAR模型在模型设定形式上的区别是,VAR模型只包含变量的滞后项,而SVAR模型还包含了变量的当期项.SVAR模型还可以避免联立 ...

  8. R语言用向量自回归(VAR)进行经济数据脉冲响应研究分析

    自从Sims(1980)发表开创性的论文以来,向量自回归模型已经成为宏观经济研究中的关键工具.最近我们被客户要求撰写关于向量自回归(VAR)的研究报告,包括一些图形和统计输出.这篇文章介绍了VAR分析 ...

  9. R语言-向量自回归模型VAR的实现

    向量自回归模型VAR是计量经济学中的一个概念,用于多元时间序列相关关系的分析.详细概念我就不赘述了,具体的定义和技术流程可以看计量经济学的相应书籍.人大经济论坛的视频或者是公众号"财经节析& ...

最新文章

  1. 震撼!15项世界互联网领先科技成果发布,将对你的生活产生什么影响?
  2. 58、vi常见用法,tags(2)
  3. 2019广州车展:国产版特斯拉Model 3正式亮相
  4. 【Elasticsearch】es 7.8.0 唐诗三百首写入 Elasticsearch 会发生什么
  5. Mysql设置某字段唯一
  6. python和java学哪个好-Python VS Java,学哪个更有前途?
  7. 手撕包菜磁力搜索引擎的开源说明
  8. 如何解决stata数据管理器中变量变红的问题
  9. protobuf的GZIP压缩
  10. Agile PLM 表结构说明
  11. 给米钱包、买买分收取用户15%-20%“砍头息”,泸州银行为资金方
  12. 【Android 应用】小白之签名文件的生成。
  13. 前端学习——HTML初学__6 HTML常用标签(3)
  14. 论文精读:XGBoost: A Scalable Tree Boosting System
  15. IT管理体系——战略、管理和服务
  16. 掉头发了--偏方一大堆
  17. 大学Python编程试卷真题!用python循环,输出1+11+111+1111+11111的值
  18. 改进的RANSAC算法实现点云粗配准
  19. 义勇军进行曲[聂耳]
  20. Dataset之MNIST:MNIST(手写数字图片识别及其ubyte.gz文件)数据集简介、下载、使用方法(包括数据增强)之详细攻略

热门文章

  1. 你知道SoS思维吗?
  2. HCIP-AI语音处理理论、应用
  3. 台电p10hd拆解_八核双4G,仅699元,台电P10HD平板为什么值得入手?
  4. 几行代码实现c++/qt程序进程单例(文件锁)
  5. 还在一个个写规则?来了解下爬虫的智能化解析吧!
  6. Python-实战:基于鲸鱼WOA的VMD超参数优化
  7. 界面控件DevExtreme v23.1抢先体验,增强的UI/UX自定义功能!
  8. “MOSE就是战略”系列之一:MOSE是什么?
  9. hping3工具介绍
  10. android Bluetooth 开发(二):打开、关闭、搜索、允许搜索、查看