最近在写一篇小论文,主要用的就是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)

本文详细介绍了如何使用R语言构建VAR(向量自回归模型)和SVAR(结构向量自回归模型),涵盖了单位根检验、滞后阶数确定、格兰杰因果检验、模型稳定性检查、脉冲响应分析和方差分解等关键步骤。同时提到了Johansen协整检验在必要时的应用,并列举了相关R包和转换时间序列数据的方法。
8791

被折叠的 条评论
为什么被折叠?



