我想估计一个包含四个变量的VECM,例如:data <- c(v1, v2, v3, v4)
。
我想强制使用协整向量:v1-v2, v1-v3, v1-v4
或矩阵形式:
beta = [ 1 -1 0 0
1 0 -1 0
1 0 0 -1]
我已尝试在lineVar
包中使用tsDyn
,但我在lineVar
中使用beta选项指定beta约束时遇到问题。例如:
vecm.eg <- lineVar(data, lag=1, r=3, model='VECM', estim='ML', beta=????????).
请告知我应该如何指定测试版。我尝试设置beta=matrix.above
,但这似乎不起作用。
答案 0 :(得分:0)
通过查看source code,我看到VECM使用了测试版
ECTminus1 <- Xminus1 %*% c(1,-beta)
,其中
Xminus1 <- embed(data,lag+2)[,(ncol(data)+1):(ncol(data)+ncol(data))]
所以在你的情况下,看起来beta=c(1,1,1)
会起作用。但我承认我不太了解这应该如何运作。