R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

article/2025/3/9 23:22:21

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

向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的。但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以使这些变量差分而平稳点击文末“阅读原文”获取完整代码数据)。

这就是所谓的协整关系。由于知道这种关系可以改善分析的结果,所以希望有一个计量经济学模型,能够捕捉到这种关系。所谓的向量误差修正模型(VECMs)就属于这一类模型。下文介绍了VECMs的基本概念,并在R中估计这种模型。

相关视频

模型和数据

向量误差修正模型与VAR模型非常相似,可以有如下形式。

b36d29210985060acebfe6748085db6f.png

其中,Δx为向量x中各变量的第一次差分,Pi为协整关系的系数矩阵,Γ为x的差分变量滞后的系数矩阵,d为确定性项的向量,C为其对应的系数矩阵,p为VAR形式下模型的滞后阶数,ϵ为均值为零的误差项,方差-协方差矩阵Σ。

由上式可知,与VAR模型唯一不同的是误差修正项Πxt-1,它反映了如果其中一个变量偏离其均衡值,则x中的变量增长率会如何变化的影响。系数矩阵Π可以写成矩阵乘积Π=αβ′,这样误差修正项就变成了αβ′xt-1。协整矩阵β包含了各层次变量之间的均衡关系信息。β′xt-1描述的向量可以解释为变量与均衡值之间的距离,α是所谓的载荷矩阵,描述了因变量向均衡值收敛的速度。

为了说明R向量误差修正模型估计,我们使用数据集E6(2007),其中包含从季度1972Q2到1998Q4,季节性调整的长期利率和通胀率时间序列。

plot(data) #绘图数据

de40a59ea465297eeeecbe084139cf69.png


点击标题查阅往期内容

3347cc14d5701529d97023d2c2c3d7a7.png

R语言ECM误差修正模型、均衡修正模型、受限VECM、协整检验、单位根检验即期利率市场数据

outside_default.png

左右滑动查看更多

outside_default.png

01

d15db3530f52a82ffe49289a668ef32d.png

02

7a4e771bee8d6824bc93d52484a24c5f.png

03

69e542e20cda62b588ee692c8bc3ea46.png

04

cfa19113c6b49090e1bbefa9eb20f34e.png

估计

有多种方法可以估计VEC模型。第一种方法是使用普通最小二乘法,这种方法可以得到准确的结果,但不能估计变量之间的协整关系。估计广义最小二乘法(EGLS)是一种替代方法。然而,最流行的VECMs估计方法是Johansen(1995)的最大似然估计。

但是,在估计VEC模型之前,必须指定滞后阶数p、协整矩阵的等级r和确定性项。选择滞后阶数的一个有效策略是在水平上估计VAR,并选择最小化信息准则的滞后方法。由于时间序列表现出强烈的季节性规律,我们通过指定季节参数=4来控制,其中4是数据的频率。

# 估计 VAR
VAR(data,ic = "AIC", season = 4 ,....)# AIC建议的滞后阶数
var$p
## AIC(n) 
##      4

根据AIC,可以使用滞后阶数为4,这与Lütkepohl(2007)中使用的数值相同。这意味着VEC模型对应的VAR在水平上有3个滞后期。由于ca.jo函数要求VAR模型的滞后阶数,我们设置K=4。

在VECM中加入确定性项是一个巧妙的问题。一个常见的策略是在误差修正项中加入一个线性趋势,在方程的非协整部分加入一个常数,这个策略就不做赘述了。在这个例子中,我们遵循Lütkepohl(2007)的方法,在方程的非协整部分添加一个常数项和季节性伪变量。

cajo函数不仅仅是估计VECM,它还计算了方程的检验统计量。它还计算了r的不同特异性的检验统计量,用户可以在两种方法中进行选择,即迹检验和特征值检验。在这个例子中,使用了迹检验,即type = "trace"。

# 估计cajo(e6, ecdet = "none", type = "trace",...)

36c2083e940afa3cd4ecc7c637719edc.png

迹检验表明,r=1,协整关系β和载荷矩阵α的第一列估计值与Lütkepohl(2007年,第7章)中ML估计的结果一致。

# Beta
round(vec@V, 2)
##        R.l1 Dp.l1
## R.l1   1.00   1.0
## Dp.l1 -3.96   1.7
# Alpha
round(vec@W, 2)
##       R.l1 Dp.l1
## R.d  -0.10 -0.04
## Dp.d  0.16 -0.02

然而,模型中非协整部分的估计系数与EGLS估计的结果一致。

round(GAMMA, 2)
##      constant  sd1  sd2  sd3 R.dl1 Dp.dl1 R.dl2 Dp.dl2 R.dl3 Dp.dl3
## R.d      0.01 0.01 0.00 0.00  0.29  -0.16  0.01  -0.19  0.25  -0.09
## Dp.d    -0.01 0.02 0.02 0.03  0.08  -0.31  0.01  -0.37  0.04  -0.34

由于使用了不同的参考日期,与Lütkepohl(2007)的结果不同。

脉冲响应分析

VECM的脉冲响应函数通常由其VAR形式获得。

# 将VEC转换为VAR,r=1。
vec2var(vec, r = 1)

然后用通常的方式计算脉冲响应函数。

# 获得IRF
irf(impulse = "R", response = "Dp",...)

0c9a0b2071a61a29d777e0db41ff22f0.png

请注意,和平稳的VAR模型的一个重要区别是,协整VAR模型的脉冲反应不是必须接近零,因为变量是不平稳的。

参考文献

Lütkepohl, H. (2007). New introduction to multiple time series analysis (2nd ed.). Berlin: Springer.


d593992088a8ec17df6d23a804a2a584.jpeg

点击文末“阅读原文”

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

本文选自《R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系》。

点击标题查阅往期内容

PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列

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

PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列

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

Eviews用向量自回归模型VAR实证分析公路交通通车里程与经济发展GDP协整关系时间序列数据和脉冲响应可视化

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

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

向量自回归(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自回归移动平均模型预测时间序列

1fb89ee87476122234a7313fd57a52ec.png

5c5114aa2cb8fd5152e1e8d87f8725e9.jpeg

10e2f325a2bc3943eda3748d3196cc7b.png


http://chatgpt.dhexx.cn/article/HEemMsSX.shtml

相关文章

python做什么模型_用python做模型

学python的人都知道,python中一切皆是对象,如class生成的对象是对象,class本身也是对象,int是对象,str是对象,dict是对象...。所以,我很好奇,python是怎样实现这些对象的&#xff1f…

js获取页面高度获取视口高度获取内容高度获取滚动条宽度高度

element对象的宽高属性 1. DOM树2.document对象3.element对象4. 获取元素高度宽度 1. DOM树 浏览器根据DOM模型,将结构化文档HTML解析成节点,DOM的最小组成单位就是节点,这些节点是树形结构。 DOM:文档对象模型,是js…

页面无法获取滚动条的高度

页面无法获取滚动条的高度,值为0 虽然网上有很多解决无法获取滚动条的高度,正常来说只需要做个兼容即可:document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop 这可以解决通常遇到的情况,但是…

小程序获取滚动条高度以及返回顶部

第一:获取滚动条高度 onPageScroll: function (e) {console.log(距顶距离,e.scrollTop)}, 第二:返回顶部 //回到顶部goTop: function (e) {if (wx.pageScrollTo) {wx.pageScrollTo({scrollTop: 0})} else {wx.showModal({title: 提示,content: 当前微信…

js 获取页面的滚动高度

想要获取页面的滚动位置可以通过给window绑定滚动事件来实现。 window.addEventListener(scroll,()>{const n document.documentElement.scrollTopconsole.log(n);}) 通过该方法可以获取页面的当前位置,或者实现其他的效果,例如电梯导航

js获取滚动条的位置

一.获取当前页面滚动条纵坐标的位置 document.body.scrollTop与document.documentElement.scrollTop IE6/7/8/IE9及以上: 可以使用 document.documentElement.scrollTop; Safari,Firefox:,Chrome: 可以使用 document.…

Django常见面试题总结(二)

接上篇文章:https://blog.csdn.net/YZL40514131/article/details/125813096?spm1001.2014.3001.5501 二十一、selected_related与prefetch_related有什么区别?(重要) 在Django中,所有的Queryset都是惰性的,意思是当创建一个查询集的时候&a…

【django】django面试题总结

一、django中间件的使用 Django在中间件中预置了六个方法,这六个方法的区别在于不同的阶段执行,对输入或输出进行干预,方法如下: 1.初始化:无需任何参数,服务器响应第一个请求的时候调用一次,…

python—Django面试题汇总

django面试题 1. Django架构:MVT: Django遵循MVC设计,并有一个专有的名词:MVT 1.M全拼为Model,与MVC的M功能相同,负责数据处理,内嵌了ORM框架。 2.V全拼为View,与MVC中的C功能相同,接收HttpRe…

超详细的Django面试题

Hello,我是 Alex 007,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了。 框架层 01.什么是Django框架?(初级) Django是一个开放源代码的Web应用框架&am…

django面试题总结

列举HTTP中常见的请求方式 HTTP请求的方法: HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式 注意: 1)方法名称是区分大小写的,当某个请求所…

Django 面试题

过完年后,就是春招了,是找工作的好时机,找工作或换工作的同学需要好好准备一下面试了,最近我精选了 10 个关于 Django 的面试题,如果要看更多面试题目,请在公众号后台回复「面试」获取。祝你新的一年&#…

Django常见面试题总结(一)

一、ORM是什么?优势? ORM:中文翻译为对象关系映射。 模型类名对应数据库表名 类属性对象数据库表字典 类属性中的字段对应数据库中的约束条件 模型类的多个实例对应于实例 优势: orm的技术特点,提高了开发效率&#xf…

Django面试题

目录 1 列举Http请求中常见的请求方式 2 谈谈你对HTTP协议的认识 3 简述MVC模式和MVT模式 4 简述Django请求生命周期 5 简述什么是FBV和CBV 6 谈一谈你对ORM的理解 7 rest_framework 认证组件的流程 8 什么是中间件并简述其作用 9 django 中间件生命周期 10 django中…

2020年最新Django经典面试问题与答案汇总(上)-大江狗整理

周末抽空整理了下Django经典面试问题及答案,希望对小伙伴们学习和工作有所帮助。如果小编我是负责招聘Python Web或Django开发人员的面试官,我也会考虑问如下问题。从下面可以大致了解一个面试者对Django技术的了解程度。由于篇幅所限,本文将…

用HTML5制作的3D相册

HTML5 非常强大,尤其是和CSS3结合,有时候能达到非同凡响的网页动画效果。今天要分享的这款HTML5应用就是一款很酷的3D立体图片相册应用,它可以用鼠标多拽从多个角度浏览相册图片,点击图片,就可以放大图片,…

HTML5制作信息登记表

# 制作信息登记表#样式需求分析: 一、 通过最外层的大盒子对页面进行整体控制,设置宽高、背景图片及相对定位。 二、 通过标记对表单进行整体控制,对其设置宽高、边距、边框样式及绝对定位。 三、 通过 标记控制标题的文本样式,对其设置…

HTML5制作二级菜单(主菜单的子菜单)

HTML5制作二级菜单&#xff08;主菜单的子菜单&#xff09; 一、HTML文件代码二、 CSS文件代码三、效果图 一、HTML文件代码 <!--submenu.html--> <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><link r…

制作HTML5海报

一、HTML5海报有什么卵用&#xff1f; HTML5海报作用跟一般的海报差不多&#xff0c;但是拥有更生动的灵活的页面和便捷快速的传播途径&#xff08;网络&#xff09;。不仅可以在微信公众号中推广&#xff0c;也可以在票圈&#xff0c;空间&#xff0c;群上推广。做得好的海报&…

用html5和css制作信息登记表

<!doctype html> <html><head><meta charset"utf-8"><title>信息登记表</title><!-- <link rel"stylesheet" href"style07.css" type"text/css"> --><style type"text/css&q…