楼主: D-Ray
9374 9

[实际应用] 求问大神用R做VEC(误差修正)模型的程序包或者代码是什么啊? [推广有奖]

  • 1关注
  • 0粉丝

本科生

28%

还不是VIP/贵宾

-

威望
0
论坛币
11 个
通用积分
1.2551
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
4381 点
帖子
19
精华
0
在线时间
153 小时
注册时间
2012-1-5
最后登录
2024-4-18

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如题求助,实在是不懂,谢谢大家
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:误差修正 程序包 VEC 程序 模型

沙发
飞天玄舞6 发表于 2016-9-11 11:32:57 |只看作者 |坛友微信交流群
http://blog.sina.com.cn/s/blog_15dd753ab0102wfgb.html
这是我的博客里的VECM,里面还有单方程的。

使用道具

藤椅
飞天玄舞6 发表于 2016-9-11 11:40:51 |只看作者 |坛友微信交流群
#向量误差修正模型案例分析
> ############################
> #1.生成数据
> set.seed(12345)
> u1<-rnorm(500)
> u2<-arima.sim(list(ar=0.6),n=500) #生成模拟的一阶自回归模型
> u3<-arima.sim(list(ar=.4),n=500)
> y1<-cumsum(u1) #生成随机游走序列 y1
> y2<-0.4*y1+u2
> y3<-0.8*y1+u3
> #调用urca包中的ca.jo()对时间序列y1 y2 y3进行Jonhansen协整检验
> #2.Jonhansen协整检验
> library(urca)
> data<-data.frame(y1=y1,y2=y2,y3=y3) #将变量组织为数据框

## ca.jo(x, type = c("eigen", "trace"), ecdet = c("none", "const", "trend"), K = 2,spec=c("longrun", "transitory"), season = NULL, dumvar = NULL) 注意这里只是用默认设置。 ##

> model.vecm<-ca.jo(data)
> head(model.vecm@x) #ca.jo使用S4方法,故用@提取变量
             y1          y2         y3
[1,]  0.5855288 -0.31135095 -1.0377854
[2,]  1.2949948  0.59430322 -0.5116634
[3,]  1.1856915  1.28751444 -0.1316301
[4,]  0.7321943  1.64792194  0.7132483
[5,]  1.3380818  0.09367809  1.3288343
[6,] -0.4798742 -0.61468043  0.1199645
> #使用slotNames()显示模型包含的全部对象类型
> slotNames(model.vecm)
[1] "x"         "Z0"        "Z1"        "ZK"        "type"      "model"     "ecdet"   
[8] "lag"       "P"         "season"    "dumvar"    "cval"      "teststat"  "lambda"   
[15] "Vorg"      "V"         "W"         "PI"        "DELTA"     "GAMMA"     "R0"      
[22] "RK"        "bp"        "spec"      "call"      "test.name"
> summary(model.vecm)

######################
# Johansen-Procedure #
######################



Test type: maximal eigenvalue statistic (lambda max) , wi



th linear trend



Eigenvalues (lambda):


[1] 0.222707791 0.167079305 0.007684667

Values of teststatistic and critical values of test:



           test 10pct  5pct  1pct
r <= 2 |   3.84  6.50  8.18 11.65
r <= 1 |  91.04 12.91 14.90 19.19
r = 0  | 125.47 18.90 21.07 25.75

Eigenvectors, normalised to first column:


(These are the cointegration relations)

           y1.l2     y2.l2      y3.l2
y1.l2  1.0000000  1.000000  1.0000000
y2.l2 -0.2355148 -5.064504 -0.1799248
y3.l2 -1.1315152  1.143660 -0.1993207



Weights W:


(This is the loading matrix)

          y1.l2        y2.l2        y3.l2
y1.d 0.05151358  0.002693258 -0.008416933
y2.d 0.11164178  0.075923301 -0.002918384
y3.d 0.51768302 -0.015197036 -0.006078055

从统计检验值可以看出,在r为2时接收原假设,即认为协整向量的秩为2

> #使用cajorls()估计VECM模型的系数矩阵

#####################################################
> cajorls(model.vecm,r=2)         #估计VECM模型 ,cajorls(z, r = 1, r      #   eg.number = NULL),其中r为协整向量的秩。


$rlm

Call:


lm(formula = substitute(form1), data = data.mat)

Coefficients:
          y1.d      y2.d      y3.d   
ect1       0.05421   0.18757   0.50249
ect2      -0.02577  -0.41081  -0.04496
constant   0.08575   0.28405  -0.02490
y1.dl1     0.01915   0.22922   0.47143
y2.dl1     0.01735  -0.38180   0.04342
y3.dl1    -0.03389  -0.05120  -0.58422




$beta


               ect1       ect2
y1.l2  1.000000e+00  0.0000000
y2.l2  2.775558e-17  1.0000000
y3.l2 -1.242478e+00 -0.4711494





计算结果中,第一部分(rlm)给出误差校正矩阵、常数项及差分解释变量的估



计值;第二部分为标准化后的协整向量矩阵。



估计的误差修正模型为:

向量误差修正(VECM)模型案例分析(R语言编程)








> #VECM模型转化为水平VAR模型
> ###########################




> library(vars)
> model.var<-vec2var(model.vecm,r=2) #获取与VECM模型等价########的VAR模型估计
> model.var

Coefficient matrix of lagged endogenous variables:


A1:
       y1.l1      y2.l1       y3.l1
y1 1.0191535 0.01734796 -0.03389437
y2 0.2292213 0.61819733 -0.05119624
y3 0.4714272 0.04342308  0.41578278


A2:
         y1.l2       y2.l2       y3.l2
y1  0.03505334 -0.04312019 -0.02131386
y2 -0.04165626 -0.02900446  0.01170232
y3  0.03105876 -0.08837964 -0.01892923




Coefficient matrix of deterministic regressor(s).



      constant
y1  0.08574980
y2  0.28405415
y3 -0.02490038







计算结果表明,与VECM模型等价的VAR模型估计为:



向量误差修正(VECM)模型案例分析(R语言编程)
strive for the best, prepare for the worst.

使用道具

板凳
D-Ray 发表于 2016-9-12 12:13:06 |只看作者 |坛友微信交流群
飞天玄舞6 发表于 2016-9-11 11:40
#向量误差修正模型案例分析
> ############################
> #1.生成数据
谢谢啦,如果要看VEC模型系数的显著性应该怎么看呢??

使用道具

报纸
Bella00 发表于 2018-3-1 18:10:51 |只看作者 |坛友微信交流群
飞天玄舞6 发表于 2016-9-11 11:40
#向量误差修正模型案例分析
> ############################
> #1.生成数据
虽然大神写的很清楚,可是不知道从哪开始选择代码呢,大神能直接给出代码序列吗?我的数据是直接导入的

使用道具

地板
飞天玄舞6 发表于 2018-3-2 15:24:20 |只看作者 |坛友微信交流群
  1. > data<-data.frame(y1=y1,y2=y2,y3=y3) #将变量组织为数据框
复制代码
可以变为你自己的数据

使用道具

7
飞天玄舞6 发表于 2018-3-2 15:25:00 |只看作者 |坛友微信交流群
Bella00 发表于 2018-3-1 18:10
虽然大神写的很清楚,可是不知道从哪开始选择代码呢,大神能直接给出代码序列吗?我的数据是直接导入的
  1. > data<-data.frame(y1=y1,y2=y2,y3=y3) #将变量组织为数据框
复制代码
可以变为你的数据

使用道具

飞天玄舞6 发表于 2016-9-11 11:40
#向量误差修正模型案例分析
> ############################
> #1.生成数据
请问如何提取向量误差修正模型的系数和协方差矩阵

使用道具

9
了空不了色 发表于 2019-7-27 22:56:47 |只看作者 |坛友微信交流群
飞天玄舞6 发表于 2016-9-11 11:40
#向量误差修正模型案例分析
> ############################
> #1.生成数据
请问如果误差修正模型有滞后阶应该怎么做

使用道具

10
han1han1 学生认证  发表于 2023-5-28 10:38:03 |只看作者 |坛友微信交流群
飞天玄舞6 发表于 2016-9-11 11:40
#向量误差修正模型案例分析
> ############################
> #1.生成数据
我想参考的内容刚好没有显示,您博客的链接也显示"博文仅作者可见",或许有其他查看的方法吗

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 01:19