R语言代写向量自回归模型(VAR)及其实现

原文连接 http://tecdat.cn/?p=6916

澳大利亚在2008 - 2009年全球金融危机期间发生了这种状况。澳大利亚政府发布了一揽子刺激计划,其中包括2008年12月的现金支付,恰逢圣诞节支出。所以,零售商报告销售强劲,经济受到刺激。所以,收入增长了。微信

VAR面临的批评是他们是理论上的; 也就是说,它们不是创建在一些经济学理论的基础上,这些理论强加了方程式的理论结构。假设每一个变量都影响系统中的每一个其余变量,这使得估计系数的直接解释变得困难。尽管如此,VAR在几种状况下都颇有用:app

  1. 预测相关变量的集合,不须要明确的解释;
  2. 测试一个变量是否有助于预测另外一个变量(格兰杰因果关系检验的基础);
  3. 脉冲响应分析,其中分析了一个变量对另外一个变量的忽然但暂时的变化的响应;
  4. 预测偏差方差分解,其中每一个变量的预测方差的比例归因于其余变量的影响。

示例:用于预测美国消费的VAR模型post

VARselect(uschange[,1:2], lag.max=8,
type="const")[["selection"]]
#> AIC(n) HQ(n) SC(n) FPE(n)
#> 5 1 1 5

 

R输出显示由vars包中可用的每一个信息标准选择的滞后长度。由AIC选择的VAR(5)与BIC选择的VAR(1)之间存在很大差别。所以,咱们首先拟合由BIC选择的VAR(1)。测试

var1 <- VAR(uschange[,1:2], p=1, type="const")
serial.test(var1, lags.pt=10, type="PT.asymptotic")
var2 <- VAR(uschange[,1:2], p=2, type="const")
serial.test(var2, lags.pt=10, type="PT.asymptotic")

 

与单变量ARIMA方法相似,咱们使用Portmanteau测试24测试残差是不相关的。VAR(1)和VAR(2)都具备一些残余序列相关性,所以咱们拟合VAR(3)。大数据

var3 <- VAR(uschange[,1:2], p=3, type="const")
serial.test(var3, lags.pt=10, type="PT.asymptotic")
#>
#> Portmanteau Test (asymptotic)
#>
#> data: Residuals of VAR object var3
#> Chi-squared = 34, df = 28, p-value = 0.2

 

该模型的残差经过了串联相关的测试。VAR(3)生成的预测如图所示。ui

forecast(var3) %>%
autoplot() + xlab("Year")

 

 

 

若是您有任何疑问,请在下面发表评论。 

 

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务spa

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服code

点击这里给我发消息QQ:3025393450htm

 

​QQ交流群:186388004 blog

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据爬虫采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

欢迎选修咱们的R语言数据分析挖掘必知必会课程!

 

 
欢迎关注 微信公众号,了解更多数据干货资讯!
 
相关文章
相关标签/搜索