我在R中安装了VECM模型,并转换为VAR表示。我想使用这个模型来预测基于解释变量的不同场景的响应变量的未来值。
以下是该模型的代码:
library(urca)
library(vars)
input <-read.csv("data.csv")
ts <- ts(input[16:52,],c(2000,1),frequency=4)
dat1 <- cbind(ts[,"dx"], ts[,"u"], ts[,"cci"],ts[,"bci"],ts[,"cpi"],ts[,"gdp"])
args('ca.jo')
vecm <- ca.jo(dat1, type = 'trace', K = 2, season = NULL,spec="longrun",dumvar=NULL)
vecm.var <- vec2var(vecm,r=2)
现在我想做的是通过改变其他人来预测未来的“dx”。我不确定在下一个时期内是否会出现“预测dx,如果u = 30,cpi = 15,bci = 50,gdp = ......”这样的话。所以我想到的是:在下一个时期内将“u”增加15%(这显然会影响所有其他变量,包括“dx”)并预测对未来的影响。
另外,我不确定是否需要“vec2var”步骤,所以如果您认为它是多余的,请忽略它。
感谢
卡尔
答案 0 :(得分:2)
本书的主题在Bernhard Pfaff的书“Analysis of Integrated and Cointegrated Time Series with R”的第4章和第8章中得到了很好的介绍,其中写了 vars 和 urca 包
如果要使用可用的预测功能,则必须执行vec2var步骤。
更完整的答案was provided on the R-Sig-Finance list。另请参阅this related thread。
答案 1 :(得分:1)
这里你去 - ??预测给了vars :: predict,类varest的对象的预测方法和作为答案的vec2var,它看起来正如你想要的那样。增加你看起来像脉冲响应分析,所以查阅它!