乐趣区

关于数据挖掘:R语言向量自回归VAR的迭代多元预测估计-GDP-增长率时间序列

原文链接:http://tecdat.cn/?p=25761 

VARs 的构造也容许联结测验多个方程的限度。例如,测验滞后 p 的所有回归变量的系数是否为零,可能是有意义的。这相当于测验滞后阶数 p - 1 是正确的原假如。系数估计值的大样本联结正态性很不便,因为它意味着咱们能够简略地应用 F 测验来解决这个测验问题。这种测验统计量的明确公式相当简单,但咱们应用 R 函数能够轻松实现这种计算。另一种确定最佳滞后长度的办法是像 BIC 这样的信息规范,咱们对单变量工夫序列回归进行了介绍。就像单方程的状况一样,对于多方程模型,咱们抉择具备最小的 BIC(p) 的模型,其中

其中 ^Σu 示意对 VAR 误差的 k×k 协方差矩阵的预计,det(·) 示意行列式。

对于单变量分布式滞后模型,应该认真思考要蕴含在 VAR 中的变量,因为增加不相干的变量会通过减少预计误差来升高预测准确性。这一点特地重要,因为要预计的参数数量与 VAR 建模的变量数量成二次增长。

GDP 增长率和期限利差的 VAR 模型

咱们当初展现如何预计 GDP 增长率 GDPGR 和期限价差 TSpread 的 VAR 模型。对于 GDP 增长非平稳性的探讨,咱们应用 1981:Q1 到 2012:Q4 的数据。两个模型方程是

数据集蕴含从 1947 年到 2004 年理论(即通胀调整后)GDP 的季度数据。咱们首先导入数据集并进行一些格式化。

# 加载宏观经济数据集
UWQ <- read_xlsx

#格式化日期列
UWQ$Date <- as.yearqtr(USMte, format = "%Y:0%q")

# 将 GDP 定义为 ts 对象
GDP <- ts
# 将 GDP 增长定义为一个 ts 对象
GDPoth <- ts

# 3 个月的国库券利率是一个 'ts' 对象
MS <- ts

# 10 年期国债的利率是一个 'ts' 对象
TS <- ts

咱们通过 OLS 别离预计这两个方程,并应用 test 来取得持重的标准误差。

# 预计两个方程

# 持重的系数总结
coeftest(VAR1, vcov.)

咱们最终失去以下后果:

VAR 可用于取得与上述雷同的系数预计,因为它也实用于每个方程的 OLS。

# 应用 \`VAR()\` 设置数据进行预计
VARta <- window 
# 应用 \`VAR()\` 预计模型系数
VARest <- VAR

VAR 返回能够传递给罕用函数的 lm 对象列表,例如 summary(),因而能够间接获取各个方程的模型统计信息。

# 从 'VAR()' 的输入中取得 adj.R^2
summaryadj.r.squared

咱们能够应用单个模型对象来进行格兰杰因果测验。

# 格兰杰因果关系测试。# 测验期限差在解释 GDP 增长方面是否无用
linearHypothesis

# 测验 GDP 增长是否没有解释期差的能力
linearHypothesis

两个格兰杰因果关系测验都回绝了 5% 的程度。

应用迭代 VAR 的迭代多元预测

迭代预测的理念,在一个期间内  T + 2 迭代预测的想法,是基于:到目前为止 T 期间的察看后果 是应用提前一个期间的预测作为两头步骤。即,在预测 T+2 期间的程度序列时,将 T+1 期间的预测用作察看值。这能够推广到提前 h 期预测,其中 T 和 T+ h 之间的所有两头期都必须被预测,因为它们被用作过程中的察看。

要害概念

迭代多期预测

_迭代多期 AR 预测_的步骤  是:

  1. 应用 OLS 预计 AR(p) 模型并计算提前一期的预测。
  2. 应用提前一期预测取得提前两期预测。
  3. 持续迭代以取得更远的将来的预测。

迭代的多期 _VAR 预测_ 按如下形式进行:

  1. _应用每个方程的 OLS 预计 VAR(p) 模型,并计算 VAR 中所有_ 变量的提前一期预测。
  2. 应用提前一期的预测来取得提前两期的预测。
  3. 持续迭代以取得对将来 VAR 中所有变量的预测。

因为 VAR 应用各个其余变量的滞后对所有变量进行建模,因而咱们须要计算 _所有_ 变量的预测。当 VAR 很大时,这样做可能很麻烦,但侥幸的是,有 R 函数能够促成这一点。例如,函数 predict() 可用于取得由函数 VAR() 预计的 VAR 模型的迭代多元预测。

上面的代码块显示了如何应用模型对象 VAR_est 计算到 2015:Q1 期间的 GDP 增长和期限利差的迭代预测,也就是 h =10。

# 计算将来 10 个季度的 GDP 增长和期限差的迭代预测。forecasts <- predict

这表明应用截至 2012:Q4 的数据对 2013:Q2 的 GDP 增长的前两个季度预测为 1.69。同期,期限利差的迭代 VAR 预测为 1.88。

返回的矩阵 predict(VAR_est) 还包含 95% 的预测区间。

咱们还能够在 的输入上调用 plot() 来绘制两个变量的迭代预测。

# 将迭代后的预测后果可视化
plot

间接多期预测

间接多期预测应用一个模型,其中预测因子被适当地滞后,这样就能够间接应用现有的观测值来进行预测。

例如,为了取得对 GDP 增长和期限利差的提前两个季度的预测,咱们首先预计方程

而后将 GDPGR2012:Q4、GDPGR2012:Q3、TSpread2012:Q4 和 TSpread2012:Q3 的值代入两个方程。

# 间接计算两个季度前的预测后果
coef(VARQ1) %*%


coef(VARQ2) %*%

利用经济学家常常应用迭代法,因为就 MSFE 而言,这种预测更牢靠,前提是一周期前模型是正确指定的。如果状况不是这样,例如因为 VAR 中的一个方程被认为是谬误的,那么应用间接预测可能是无益的,因为这时迭代法会有偏差,因而 MSFE 比间接法高。


最受欢迎的见解

1. 在 python 中应用 lstm 和 pytorch 进行工夫序列预测

2.python 中利用长短期记忆模型 lstm 进行工夫序列预测剖析

3. 应用 r 语言进行工夫序列(arima,指数平滑)剖析

4.r 语言多元 copula-garch- 模型工夫序列预测

5.r 语言 copulas 和金融工夫序列案例

6. 应用 r 语言随机稳定模型 sv 解决工夫序列中的随机稳定

7.r 语言工夫序列 tar 阈值自回归模型

8.r 语言 k -shape 工夫序列聚类办法对股票价格工夫序列聚类

9.python3 用 arima 模型进行工夫序列预测

退出移动版