向量自回归VAR的迭代多元预测估计 GDP 增长率时间序列|数据分享

本文介绍了如何使用R语言估计GDP增长率和期限利差的VAR模型,包括模型的构建、系数检验、格兰杰因果关系测试以及迭代多元预测。通过VAR模型,研究者可以分析变量间的动态关系,并评估预测准确性和因果效应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

VARs的结构也允许联合检验多个方程的限制。例如,检验滞后p的所有回归变量的系数是否为零,可能是有意义的。这相当于检验滞后阶数p-1是正确的原假设。系数估计值的大样本联合正态性很方便,因为它意味着我们可以简单地使用F检验来解决这个检验问题。这种检验统计量的明确公式相当复杂,但我们使用R函数可以轻松完成这种计算。另一种确定最佳滞后长度的方法是像BIC这样的信息标准,我们对单变量时间序列回归进行了介绍。就像单方程的情况一样,对于多方程模型,我们选择具有最小的BIC(p)的模型,其中

a63f7768c9a331e0b1653cc1026b5c38.png

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

对于单变量分布式滞后模型,应该仔细考虑要包含在 VAR 中的变量,因为添加不相关的变量会通过增加估计误差来降低预测准确性。这一点特别重要,因为要估计的参数数量与 VAR 建模的变量数量成二次增长。

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

我们现在展示如何估计 GDP 增长率 GDPGR 和期限价差 TSpread 的 VAR 模型。关于 GDP 增长非平稳性的讨论,我们使用 1981:Q1 到 2012:Q4 的数据。两个模型方程是

5463cfce8d048d25b5c430c70740a261.png

数据集包含从 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.)

9cc7fbc8d8cde9a7d3054b6f41df8bfa.png

我们最终得到以下结果:

a24a0ab7aa35e0e57cdef01acb40d39d.png

VAR可用于获得与上述相同的系数估计,因为它也适用于每个方程的 OLS。

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

4acd323664c8aba21cb6dc0400619fd6.png

VAR返回可以传递给常用函数的 lm 对象列表,例如 summary() ,因此可以直接获取各个方程的模型统计信息。

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

dbb309cac54bc78e14f23970d7f43b86.png

45c4ae3970f3abf9c48680d66ffeb1e2.png

我们可以使用单个模型对象来进行格兰杰因果检验。

# 格兰杰因果关系测试。

# 检验期限差在解释GDP增长方面是否无用
linearHypothesis

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

d24d862cefddc97e7124d9e91440c6f0.png

91147a023195c18f66b182cf55579a37.png

两个格兰杰因果关系检验都拒绝了 5%的水平。

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

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

关键概念

迭代多期预测

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

  • 使用 OLS 估计 AR(p) 模型并计算提前一期的预测。

  • 使用提前一期预测获得提前两期预测。

  • 继续迭代以获得更远的未来的预测。

迭代的多期 VAR 预测 按如下方式进行:

  • 使用每个方程的 OLS 估计 VAR(p) 模型,并计算 VAR 中所有 变量的提前一期预测 。

  • 使用提前一期的预测来获得提前两期的预测。

  • 继续迭代以获得对未来 VAR 中所有变量的预测。

由于 VAR 使用各个其他变量的滞后对所有变量进行建模,因此我们需要计算 所有 变量的预测。当 VAR 很大时,这样做可能很麻烦,但幸运的是,有 R 函数可以促进这一点。例如,函数 predict() 可用于获得由函数 VAR() 估计的 VAR 模型的迭代多元预测。

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

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

acf6eb3bad60630b44aa58f97c1489fd.png

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

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

我们还可以在 的输出上调用 plot() 来绘制两个变量的迭代预测。

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

5196f6f6f6ef21c103880a45c00f21d5.png


点击标题查阅往期内容

9028ef163bc88765b3b1ced5c26882e1.png

Matlab创建向量自回归(VAR)模型分析消费者价格指数 (CPI) 和失业率时间序列

outside_default.png

左右滑动查看更多

outside_default.png

01

324cb751b2afc81796a23990d1685dd1.jpeg

02

bdf784ca8fb2781c062f6057aca5c5fd.jpeg

03

b9e17bed58b24e6f6b149171cde19d64.png

04

8e1be0133a1a82aa45c9ac99921a89a8.jpeg

直接多期预测

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

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

37a724eab56f4deed1e160e6e81a687c.png

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

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


coef(VARQ2) %*%

154c166e37452b1aae2e8e9586caac4a.png

a37b785c5347b7994bb478ac442c5f3d.png

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

数据获取

在下面公众号后台回复“GDP季度数据”,可获取完整数据。


9c2646b42ac7faec2f782ff1cfb60d8d.png

本文摘选《R语言向量自回归VAR的迭代多元预测估计 GDP 增长率时间序列》,点击“阅读原文”获取全文完整资料。


点击标题查阅往期内容

ARIMA、GARCH 和 VAR模型估计、预测ts 和 xts格式时间序列

向量自回归(VAR)模型分析消费者价格指数 (CPI) 和失业率时间序列

Matlab创建向量自回归(VAR)模型分析消费者价格指数 (CPI) 和失业率时间序列

Stata广义矩量法GMM面板向量自回归 VAR模型选择、估计、Granger因果检验分析投资、收入和消费数据

R语言时变向量自回归(TV-VAR)模型分析时间序列和可视化

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

R语言arima,向量自回归(VAR),周期自回归(PAR)模型分析温度时间序列

R语言VAR模型的不同类型的脉冲响应分析

R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

R语言时变参数VAR随机模型

R语言估计时变VAR模型时间序列的实证研究分析案例

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

R语言实现向量自回归VAR模型

R语言估计时变VAR模型时间序列的实证研究分析案例

Python和R用EWMA,ARIMA模型预测时间序列

R语言用LASSO,adaptive LASSO预测通货膨胀时间序列

Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测

R语言arima,向量自回归(VAR),周期自回归(PAR)模型分析温度时间序列

【视频】Python和R语言使用指数加权平均(EWMA),ARIMA自回归移动平均模型预测时间序列

欲获取全文文件,请点击左下角“阅读原文”。

1ec5c31eacf227b0cfd569dadee1377e.gif

4698f7de82c3f9fe2d08e6c82a6edb6f.png

7d5b9c575e74962ce2a4897597708f8f.jpeg

da0ec834063fa955c46dea22e6f4ba7b.png

欲获取全文文件,请点击左下角“阅读原文”。

647f4bd8e43115b3f0b938c02c4e3a07.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值