【问题标题】:Impulse Response Function with bootsrtapped Confidence intervals matlab具有引导置信区间matlab的脉冲响应函数
【发布时间】:2018-01-29 16:14:22
【问题描述】:

我有一个使用 AR(8) 模型的消费数据的脉冲响应。现在我想使用自举在 IRF 周围创建一个 95% 的 CI。 我不确定我应该引导哪些参数。

此代码通常用于生成引导程序,但我看不出如何使用它在图中的 IRF 周围绘制 CI。

mu=20;
sigma=5;
N=250;

rng(1);
x=mu+sigma*randn(N,1)
muhat=mean(x);
e=x-muhat;
for i=1:B
 draw=randi(N,N,1);
 xn=muhat+e(draw);
 mun(i)=mean(xn);
end 

有没有人熟悉这种方法以及我可以如何进行?

谢谢。


代码

clear;

X=xlsread('data.xls');
% Demean the data 
 mean_u=mean(X);
 X=X-mean_u*ones(length(X),1);
%Construct lag matrix 
 LM=lagmatrix(X,1:L);
 X=X(L+1:end);
 LM=LM(L+1:end,:);
 beta=LM\X;
%Begin calculating irf 
 F=companion(beta)
 e=X-LM*beta;
 sigma=std(e);
 x=zeros(L,T);
 x(1,1)=sigma;
for t=2:T
 x(:,t)=F*x(:,t-1);
end 

【问题讨论】:

    标签: matlab


    【解决方案1】:

    您可以使用 Matlab 提供的现成解决方案,bootci function。这是一个直接取自官方文档的例子:

    y = normrnd(1,1,30,1);
    LSL = -3; USL = 3;
    capable = @(x)(USL-LSL)./(6* std(x));
    ci = bootci(2000,capable,y);
    

    你所要做的就是将你当前的代码转换成一个函数,你可以将它的句柄传递给bootci

    【讨论】:

    • 我不确定如何引导 IRF 数据,这是创建 CI 波段的必要步骤。当前代码假设我知道估计平均 mu 的参数。但在这里我想围绕 IRF 数据创建波段,这与估计参数 mu、代码和下面的图片不同。
    猜你喜欢
    • 2012-05-15
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多