使用分类外生变量从 VAR 模型获取 IRF 的问题

问题描述 投票:0回答:1

我正在尝试在 R 中运行向量自回归 (VAR) 模型。具体来说,我有两个内生的连续时间序列、一个外生时间序列以及一个外生因子变量。我想运行这些模型并了解在使用 IRF 函数控制外生变量时内生变量相互之间的影响。然而,虽然当我有外生时间序列变量时这有效,但当我尝试用因子变量进行控制时它不起作用。这是为什么?

data(iris)

#this works:

endogen <- iris[,c(1,2)]
exogen <- iris[,3]

exogen <- as.matrix(model.matrix(~Petal.Length+Species,data=iris))

model <- VAR(y=endogen,
             p=3,
             exogen=exogen)
irf_res <- irf(model,n.ahead=5,cumulative=T)

#this does not work
endogen <- iris[,c(1,2)]

exogen <- as.matrix(model.matrix(~Petal.Length+Species,data=iris))

model <- VAR(y=endogen,
             p=3,
             exogen=exogen)
irf_res <- irf(model,n.ahead=5,cumulative=T)
r var
1个回答
0
投票

该问题很可能是由于 VAR 模型中因子变量处理不当造成的。您应该将因子变量转换为一组虚拟变量。

data(iris)

exogen <- model.matrix(~Petal.Length + Species - 1, data=iris)
model <- VAR(y=endogen, p=3, exogen=exogen)
irf_res <- irf(model, n.ahead=5, cumulative=TRUE)

希望有效,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.