compute_moments_varendo: use pruned state space at higher order

time-shift
Johannes Pfeifer 2021-01-17 18:21:29 +01:00 committed by Stéphane Adjemian (Charybdis)
parent 314948ce34
commit b38d6f8139
Signed by: stepan
GPG Key ID: 295C1FE89E17EB3C
2 changed files with 27 additions and 2 deletions

View File

@ -71,6 +71,13 @@ if ~posterior
end
nvar = length(ivar);
if options_.pruning
obs_var=NaN(nvar,1);
for i=1:nvar
obs_var(i,1) = find(strcmp(M_.endo_names(ivar(i),:), M_.endo_names(oo_.dr.order_var)));
end
end
% Set the size of the auto-correlation function to nar.
oldnar = options_.ar;
options_.ar = nar;
@ -109,7 +116,14 @@ for file = 1:NumberOfDrawsFiles
M_=set_parameters_locally(M_,temp.pdraws{linee,1});
[dr,info,M_,options_,oo_] = resol(0,M_,options_,oo_);
end
tmp = th_autocovariances(dr,ivar,M_,options_,nodecomposition);
if ~options_.pruning
tmp = th_autocovariances(dr,ivar,M_,options_,nodecomposition);
else
pruned_state_space = pruned_state_space_system(M_, options_, dr, obs_var, options_.ar, 1, 0);
for i=1:nar
tmp{i+1} = pruned_state_space.Corr_yi(:,:,i);
end
end
for i=1:nar
Correlation_array(linea,:,:,i) = tmp{i+1};
end

View File

@ -70,6 +70,12 @@ if ~posterior
end
nvar = length(ivar);
if options_.pruning
obs_var=NaN(nvar,1);
for i=1:nvar
obs_var(i,1) = find(strcmp(M_.endo_names(ivar(i),:), M_.endo_names(oo_.dr.order_var)));
end
end
% Set the size of the auto-correlation function to zero.
nar = options_.ar;
options_.ar = 0;
@ -108,7 +114,12 @@ for file = 1:NumberOfDrawsFiles
M_=set_parameters_locally(M_,temp.pdraws{linee,1});
[dr,info,M_,options_,oo_] = resol(0,M_,options_,oo_);
end
tmp = th_autocovariances(dr,ivar,M_,options_,nodecomposition);
if ~options_.pruning
tmp = th_autocovariances(dr,ivar,M_,options_,nodecomposition);
else
pruned_state_space = pruned_state_space_system(M_, options_, dr, obs_var, options_.ar, 1, 0);
tmp{1} = pruned_state_space.Var_y;
end
for i=1:nvar
for j=i:nvar
Covariance_matrix(linea,symmetric_matrix_index(i,j,nvar)) = tmp{1}(i,j);