0

我正在使用带有 vars 包的季度数据开发一个 VAR 模型。要指定自回归器,此包中的 VAR 函数为您提供了两种选择。您可以让 R 为您选择最佳延迟,直至您使用“lag.max”设置的最大值。在这种情况下,鉴于我有季度数据,我会将其设置为 4。但是,我不清楚这个函数在多大程度上真正以这种方式选择了最佳滞后。似乎每次我这样做时,R 似乎都会选择前 3 个季度滞后。理论和实践表明,Lag 4 通常比其他的更好,因为它吸收了季节性(季度数据)。现在,指定滞后的另一种方法是使用“p”参数。因此,如果您声明 p = 1。它将执行第一个滞后。但是,如果你这样做 p = 4; 它不会只做第四个滞后(我想要的那个)。反而,它完成所有四个滞后到第 4 个(滞后 1、滞后 2、滞后 3、滞后 4)。如何仅使用 Lag 4 指定?这不可能吗,因为它正在破坏 VAR 模型的实际结构?

4

1 回答 1

0

您可以使用restrictvars 包中的函数来获取所需的模型。

> library(vars)  # this is an example 
> data(Canada)
> var.u <- VAR(Canada, p = 4)  # first the unrestricted VAR
> 
> # building the restriction matrix only for lag 4
> resmat <- Bcoef(var.u)*0
> resmat[, c(16,17)] <- 1
> 
> # the result you want, the restricted VAR at lag 4
> restrict(var.u, method="manual", resmat=resmat)
于 2015-07-23T22:28:33.177 回答