拓端tecdat|R语言向量自回归VAR的迭代多元预测估计 GDP 增长率时间序列
原文链接:http://tecdat.cn/?p=25761
原文出处:拓端数据部落公众号
VARs的结构也允许联合检验多个方程的限制。
视频:向量自回归VAR数学原理及R软件经济数据脉冲响应分析实例
【视频】向量自回归VAR数学原理及R语言软件经济数据脉冲响应分析实例
,时长12:01
例如,检验滞后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 预测的步骤 是:
使用 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
这表明使用截至 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模型进行时间序列预测
拓端tecdat|R语言向量自回归VAR的迭代多元预测估计 GDP 增长率时间序列相关推荐
- 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系
最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...
- 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...
- 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测
最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...
- 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例
最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...
- R语言-向量自回归模型VAR的实现
向量自回归模型VAR是计量经济学中的一个概念,用于多元时间序列相关关系的分析.详细概念我就不赘述了,具体的定义和技术流程可以看计量经济学的相应书籍.人大经济论坛的视频或者是公众号"财经节析& ...
- R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系
原文链接:http://tecdat.cn/?p=22215 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以使这些变量差分而平 ...
- R语言实现向量自回归VAR模型
澳大利亚在2008 - 2009年全球金融危机期间发生了这种情况.政府发布了一揽子刺激计划,其中包括2008年12月的现金支付,恰逢圣诞节支出.因此,零售商报告销售强劲,经济受到刺激,收入增加了. 最 ...
- 【视频】向量自回归VAR数学原理及R软件经济数据脉冲响应分析实例
最近我们被客户要求撰写关于向量自回归VAR的研究报告,包括一些图形和统计输出. 向量自回归 (VAR) 是一种用于多变量时间序列分析的统计模型,尤其是在变量具有相互影响关系的时间序列中,本视频中我们介 ...
- R语言用GARCH模型波动率建模和预测、回测风险价值 (VaR)分析股市收益率时间序列...
原文链接:http://tecdat.cn/?p=26897 风险价值 (VaR) 是金融风险管理中使用最广泛的市场风险度量,也被投资组合经理等从业者用来解释未来市场风险(点击文末"阅读原文 ...
- 拓端tecdat荣获掘金社区入驻新人奖
2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...
最新文章
- 摄像头光圈大小对景深的影响
- STL中的unique函数
- 《深入理解Elasticsearch》读书笔记
- java爬虫入门--用jsoup爬取汽车之家的新闻
- Firefox下Add-ons推荐
- 中小学生应不应该学英语?
- app自动化测试之Appium 源码分析
- 通过Expression Tree来扩展MVC中的HtmlHelper 和 UrlHelper
- 关于FPGA软件quartus仿真出现cannot launch the modelsim software问题的解决
- SSH端口修改端口号
- Python实现人机中国象棋游戏
- 最新Javascript 基础知识全总结(持续更新)
- 八、图像金字塔(高斯金字塔、拉普拉斯金字塔)
- Java中查看今天周几
- 英语听力采用计算机化考试,北京英语听说考试2021年 北京英语听说机考满分
- pyth命令_如何:在Windows上设置用于从命令行运行.py文件的Python可执行文件
- 人工智能的嘴巴——语音合成(Text to Speech | TTS)
- Android 性能优化之网络优化
- JS_实现图片的自动轮播
- 这15个特性,身为.NET开发者的你全部都了解吗?
热门文章
- 【原创】.NET读写Excel工具Spire.Xls使用(5)重量级的Excel图表功能
- Storm【实践系列-如何写一个爬虫-】6 URLInjector
- 50个GMAIL申请,来吧来吧!
- pytorch autograd.grad
- 09 Softmax回归+损失函数
- socket网络编程知识
- C++--第12课 - 操作符重载 - 上
- SpringBoot集成Redis分布式锁以及Redis缓存
- matlab_exercise(2)----输入一个三位数,依次输出其个位数字,十位数字,百位数字...
- python 回溯法 子集树模板 系列 —— 17、找零问题