首页
学习
活动
专区
圈层
工具
发布

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

相关视频

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

预测相关变量的集合,不需要明确的解释;

测试一个变量是否有助于预测另一个变量(格兰杰因果关系检验的基础);

脉冲响应分析,其中分析了一个变量对另一个变量的突然但暂时的变化的响应;

预测误差方差分解,其中每个变量的预测方差的比例归因于其他变量的影响。

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

VARselect(uschange[,1:2], lag.max=8,

type="const")[["selection"]]

#> AIC(n) HQ(n) SC(n) FPE(n)

#> 5 1 1 5

左右滑动查看更多

01

02

03

04

R输出显示每个信息标准选择的滞后期。由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测试残差是不相关的。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)生成的预测如图所示。

forecast(var3) %>%

autoplot() + xlab("Year")

获取全文完整代码数据资料。

本文选自《R语言向量自回归模型(VAR)及其实现》。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OJZ37k8S8vNaOy6T_6GZ2BBA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券