首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IRAnalysis模型: vector_ar和Statsmodels

IRAnalysis模型: vector_ar和Statsmodels
EN

Stack Overflow用户
提问于 2020-06-09 03:15:25
回答 1查看 346关注 0票数 1

我正在尝试使用statsmodels.tsa估计-1标准差冲击对三维VAR的脉冲响应函数,但是我目前在设置冲击强度时遇到了问题。

这给了我1S.D的IRF。shock,默认设置:

代码语言:javascript
复制
import numpy as np
import statsmodels.tsa as sm
model = sm.vector_ar.var_model.VAR(endog = data)
fitted = model.fit()
shock= -1*fitted.sigma_u
irf = sm.vector_ar.irf.IRAnalysis(model = fitted)

函数IRAnalysis接受一个参数P,一个设置冲击的上对角矩阵,我在源代码中发现了这一点。然而,如下所示的输入P似乎没有任何作用。

代码语言:javascript
复制
irf = statsmodels.tsa.vector_ar.irf.IRAnalysis(model = fitted, P = -np.linalg.cholesky(model.fitted_U))

如果能帮上忙我会很感激的。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-25 09:37:24

我也有同样的问题,最终找到了对我有用的东西。

我发现,将IRAnalysis模型转换为MA表示是调整冲击大小的最好方法,而不是显式地使用VAR模型。

代码语言:javascript
复制
from statsmodels.tsa.vector_ar.irf import IRAnalysis
J = fitted.ma_rep(T)
J = shock*np.array(J)

这将为您提供T个周期的irfs的输出。

我还想在我的曲线图上显示标准误差带,所以我也做了一些类似于那个特定函数的事情。

代码语言:javascript
复制
G, H = fitted.irf_errband_mc(orth=False, repl=1000, steps=T, signif=0.05, seed=None, burn=100, cum=False)

希望这能有所帮助

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62269621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档