在R中如何拟合受限制的VAR模型?

3

我想了解如何拟合一个特定而非通用的VAR模型。

我知道拟合一个一般的VAR(1)模型可以通过从Cran导入"vars"包来完成。

例如:

考虑 y 是一个 10 行 2 列的矩阵。导入 vars 包后,我进行了以下操作。
y=df[,1:2] # df is a dataframe with alot of columns (just care about the first two)
VARselect(y, lag.max=10, type="const")
summary(fitHilda <- VAR(y, p=1, type="const"))

如果没有对系数进行限制,这个方法可以很好地工作。然而,如果我想在R中拟合这个受限制的VAR模型

我该如何在R中实现呢?如果你知道相关页面,请给我提供链接。如果你认为有任何不清楚的地方,请告诉我,我会尽力让它更加清晰易懂。

非常感谢您的帮助!

1个回答

3

我无法找到如何按照我想要的方式设置限制的方法。然而,我找到了一种解决方法,可以按照以下步骤进行。

尝试使用特定信息标准(例如)查找滞后数:

VARselect(y, lag.max=10, type="const")

这将使您能够找到滞后长度。在我的情况下,我发现它为1。然后将VAR(1)模型拟合到您的数据中。在我的情况下,数据为y。

t=VAR(y, p=1, type="const")

当我查看摘要时,我发现一些系数可能在统计上并不显著。

summary(t)

然后运行来自“vars”包的内置函数。
t1=restrict(t, method = "ser", thresh = 2.0, resmat = NULL)

这个函数可以通过强制设置零限制来估计VAR,以便确定其显著性。

要查看结果,请写:

summary(t1)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接