You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

含外生变量的VECM模型IRF绘制问题(R语言)

纳入外生变量绘制VECM的脉冲响应函数(IRF)

可以纳入外生变量绘制IRF,但你当前的方法存在问题:vec2var基于仅含内生变量的协整检验结果生成VAR,这个VAR模型不包含外生变量,因此IRF无法体现外生变量的影响。正确的做法是基于你已经估计好的**包含外生变量的VECM模型(est_tsdyn1)**直接计算IRF,具体方案如下:

方案1:直接用tsdyn包的irf函数计算IRF

tsdyn包的VECM对象支持直接计算包含外生变量的IRF,既可以控制外生变量的影响(即IRF反映内生变量对内生脉冲的响应,同时保持外生变量不变),也可以将外生变量作为脉冲变量,观察其对内生变量的冲击效果。

代码示例:

# 基于含外生变量的VECM计算内生变量的IRF(控制外生变量影响)
irf_result <- irf(est_tsdyn1, 
                  response = "log_msci", 
                  impulse = c("log_gdp", "log_cci", "log_interest_rate"),
                  boot = TRUE, ci = 0.95)

# 绘制IRF
plot(irf_result, ylab = "MSCI")

# 可选:将外生变量作为脉冲,观察其对内生变量的响应
irf_result_exog_impulse <- irf(est_tsdyn1, 
                               response = "log_msci", 
                               impulse = c("log_gdp", "log_cci", "log_interest_rate", "trade.balance", "inflation"),
                               boot = TRUE, ci = 0.95)

plot(irf_result_exog_impulse, ylab = "MSCI")

方案2:将含外生变量的VECM转换为VAR后计算IRF

如果偏好使用vars包的irf函数,需要先将包含外生变量的VECM转换为带外生变量的VAR。由于vec2var不支持直接处理外生变量,你可以从est_tsdyn1中提取模型信息手动构造varest对象,或者直接用vars::VAR函数估计包含外生变量的无约束VAR(注意:无约束VAR和VECM的系数约束不同,结果会有差异)。

代码示例(直接估计带外生变量的VAR):

library(vars)
# 估计包含外生变量的VAR(滞后阶数与VECM一致,VECM的lag是差分滞后,VAR的p是原变量滞后,这里p=lag+1=3)
var_with_exog <- VAR(df11[, c("log_msci", "log_gdp", "log_cci", "log_interest_rate")], 
                     p = 3, 
                     exogen = df11[, c("trade.balance", "inflation")])

# 计算并绘制IRF
suppressWarnings({
  plot(irf(var_with_exog, 
           response = "log_msci", 
           impulse = c("log_gdp", "log_cci", "log_interest_rate"),
           boot = TRUE, ci = 0.95),
       ylab = "MSCI")
})

关键说明

  • 你之前用conin_test1做协整检验时仅用了内生变量,因此vec2var生成的VAR不含外生变量,无法用于绘制包含外生变量的IRF。
  • 优先使用方案1,因为它基于你已经估计好的带约束的VECM模型,结果更符合协整关系的设定;方案2的无约束VAR是另一种模型设定,适用于不需要协整约束的场景。

内容的提问来源于stack exchange,提问作者Laura_777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 11:47:53