incorporate information about states in period 0 for occbin with smoother_redux
parent
0622f01f4e
commit
21c9d59e8c
|
@ -391,8 +391,9 @@ else
|
||||||
opts_simul = options_.occbin.simul;
|
opts_simul = options_.occbin.simul;
|
||||||
end
|
end
|
||||||
% reconstruct smoothed variables
|
% reconstruct smoothed variables
|
||||||
aaa=zeros(M_.endo_nbr,gend);
|
aaa=zeros(M_.endo_nbr,gend+1);
|
||||||
aaa(oo_.dr.restrict_var_list,:)=alphahat;
|
aaa(oo_.dr.restrict_var_list,1)=alphahat0;
|
||||||
|
aaa(oo_.dr.restrict_var_list,2:end)=alphahat;
|
||||||
iTx = zeros(size(TTx));
|
iTx = zeros(size(TTx));
|
||||||
for k=1:gend
|
for k=1:gend
|
||||||
if isoccbin
|
if isoccbin
|
||||||
|
@ -416,13 +417,19 @@ else
|
||||||
static_var_list0 = static_var_list;
|
static_var_list0 = static_var_list;
|
||||||
static_var_list0(static_var_list) = ilagged;
|
static_var_list0(static_var_list) = ilagged;
|
||||||
static_var_list(static_var_list) = ~ilagged;
|
static_var_list(static_var_list) = ~ilagged;
|
||||||
aaa(static_var_list,k) = AS(~ilagged,:)*alphahat(:,k)+BS(~ilagged,:)*etahat(:,k)+CS(~ilagged);
|
aaa(static_var_list,k+1) = AS(~ilagged,:)*alphahat(:,k)+BS(~ilagged,:)*etahat(:,k)+CS(~ilagged);
|
||||||
if any(ilagged) && k>1
|
if any(ilagged)
|
||||||
aaa(static_var_list0,k) = Tstar(ilagged,:)*alphahat(:,k-1)+Rstar(ilagged,:)*etahat(:,k)+Cstar(ilagged);
|
if k>1
|
||||||
|
aaa(static_var_list0,k+1) = Tstar(ilagged,:)*alphahat(:,k-1)+Rstar(ilagged,:)*etahat(:,k)+Cstar(ilagged);
|
||||||
|
else
|
||||||
|
aaa(static_var_list0,2) = Tstar(ilagged,:)*alphahat0+Rstar(ilagged,:)*etahat(:,1)+Cstar(ilagged);
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
alphahat=aaa;
|
alphahat0=aaa(:,1);
|
||||||
|
alphahat=aaa(:,2:end);
|
||||||
|
|
||||||
% reconstruct updated variables
|
% reconstruct updated variables
|
||||||
bbb=zeros(M_.endo_nbr,gend);
|
bbb=zeros(M_.endo_nbr,gend);
|
||||||
|
@ -488,6 +495,13 @@ else
|
||||||
state_uncertainty=sstate_uncertainty;
|
state_uncertainty=sstate_uncertainty;
|
||||||
clear sstate_uncertainty
|
clear sstate_uncertainty
|
||||||
end
|
end
|
||||||
|
if ~isempty(state_uncertainty0)
|
||||||
|
mm=size(T,1);
|
||||||
|
sstate_uncertainty=zeros(M_.endo_nbr,M_.endo_nbr);
|
||||||
|
sstate_uncertainty(oo_.dr.restrict_var_list,oo_.dr.restrict_var_list)=state_uncertainty0(1:mm,1:mm);
|
||||||
|
state_uncertainty0=sstate_uncertainty;
|
||||||
|
clear sstate_uncertainty
|
||||||
|
end
|
||||||
|
|
||||||
aaa = zeros(nk,M_.endo_nbr,gend+nk);
|
aaa = zeros(nk,M_.endo_nbr,gend+nk);
|
||||||
aaa(:,oo_.dr.restrict_var_list,:)=aK;
|
aaa(:,oo_.dr.restrict_var_list,:)=aK;
|
||||||
|
|
Loading…
Reference in New Issue