向量误差修正模型案例分析
生成数据
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.28751