non_linear_dsge_likelihood.m: consistently use options_.particles.pruning

Closes https://git.dynare.org/Dynare/dynare/-/issues/1756
time-shift
Johannes Pfeifer 2021-01-21 19:26:53 +01:00 committed by Stéphane Adjemian (Charybdis)
parent ec69174173
commit f19decf297
Signed by: stepan
GPG Key ID: 295C1FE89E17EB3C
2 changed files with 6 additions and 0 deletions

View File

@ -66,6 +66,9 @@ if DynareOptions.order>1
if DynareOptions.order>2 && DynareOptions.particle.pruning==1
error('initial_estimation_checks:: the particle filter with order>2 does not support pruning')
end
if DynareOptions.particle.pruning~=DynareOptions.pruning
fprintf('initial_estimation_checks:: the pruning settings differ between the particle filter and the one used for IRFs/simulations. Make sure this is intended.\n')
end
end
non_zero_ME=length(EstimatedParameters.H_entries_to_check_for_positive_definiteness);

View File

@ -143,10 +143,13 @@ switch DynareOptions.particle.initialization
StateVectorMean = ReducedForm.constant(mf0);
old_DynareOptionsperiods = DynareOptions.periods;
DynareOptions.periods = 5000;
old_DynareOptionspruning = DynareOptions.pruning;
DynareOptions.pruning = DynareOptions.particle.pruning;
y_ = simult(DynareResults.steady_state, dr,Model,DynareOptions,DynareResults);
y_ = y_(dr.order_var(state_variables_idx),2001:5000); %state_variables_idx is in dr-order while simult_ is in declaration order
StateVectorVariance = cov(y_');
DynareOptions.periods = old_DynareOptionsperiods;
DynareOptions.pruning = old_DynareOptionspruning;
clear('old_DynareOptionsperiods','y_');
case 3% Initial state vector covariance is a diagonal matrix (to be used
% if model has stochastic trends).