Merge branch 'moments_varendo' of git.dynare.org:JohannesPfeifer/dynare

time-shift
Sébastien Villemot 2021-01-25 18:18:46 +01:00
commit 09f992d584
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
5 changed files with 25 additions and 12 deletions

View File

@ -66,6 +66,7 @@ if ~posterior
end
options_.varlist = options_.prior_analysis_endo_var_list;
end
endo_names=options_.varlist;
[ivar,vartan ] = get_variables_list(options_, M_);
if ~posterior
if exist('temp','var')
@ -176,10 +177,10 @@ for file = 1:NumberOfDrawsFiles
linea = 0;
if posterior
save([M_.dname '/metropolis/' M_.fname '_PosteriorConditionalVarianceDecomposition' int2str(ConditionalDecompFileNumber) '.mat' ], ...
'Conditional_decomposition_array');
'Conditional_decomposition_array','endo_names');
else
save([M_.dname '/prior/moments/' M_.fname '_PriorConditionalVarianceDecomposition' int2str(ConditionalDecompFileNumber) '.mat' ], ...
'Conditional_decomposition_array');
'Conditional_decomposition_array','endo_names');
end
if (ConditionalDecompFileNumber==NumberOfConditionalDecompFiles-1)% Prepare last round.
Conditional_decomposition_array = zeros(nvar, length(Steps),M_.exo_nbr,NumberOfLinesInTheLastConditionalDecompFile) ;
@ -197,10 +198,10 @@ for file = 1:NumberOfDrawsFiles
linea_ME = 0;
if posterior
save([M_.dname '/metropolis/' M_.fname '_PosteriorConditionalVarianceDecompME' int2str(ConditionalDecompFileNumber_ME) '.mat' ], ...
'Conditional_decomposition_array_ME');
'Conditional_decomposition_array_ME','endo_names');
else
save([M_.dname '/prior/moments/' M_.fname '_PriorConditionalVarianceDecompME' int2str(ConditionalDecompFileNumber_ME) '.mat' ], ...
'Conditional_decomposition_array_ME');
'Conditional_decomposition_array_ME','endo_names');
end
if (ConditionalDecompFileNumber_ME==NumberOfConditionalDecompFiles_ME-1)% Prepare last round.
Conditional_decomposition_array_ME = zeros(nobs_ME, length(Steps),M_.exo_nbr+1,NumberOfLinesInTheLastConditionalDecompFile_ME) ;

View File

@ -63,6 +63,7 @@ if ~posterior
end
options_.varlist = options_.prior_analysis_endo_var_list;
end
endo_names=options_.varlist;
[ivar,vartan, options_] = get_variables_list(options_, M_);
if ~posterior
if exist('temp','var')
@ -129,9 +130,9 @@ for file = 1:NumberOfDrawsFiles
end
if linea == NumberOfCorrLines
if posterior
save([ M_.dname '/metropolis/' M_.fname '_PosteriorCorrelations' int2str(CorrFileNumber) '.mat' ],'Correlation_array');
save([ M_.dname '/metropolis/' M_.fname '_PosteriorCorrelations' int2str(CorrFileNumber) '.mat' ],'Correlation_array','endo_names');
else
save([ M_.dname '/prior/moments/' M_.fname '_PriorCorrelations' int2str(CorrFileNumber) '.mat' ],'Correlation_array');
save([ M_.dname '/prior/moments/' M_.fname '_PriorCorrelations' int2str(CorrFileNumber) '.mat' ],'Correlation_array','endo_names');
end
CorrFileNumber = CorrFileNumber + 1;
linea = 0;

View File

@ -62,6 +62,7 @@ if ~posterior
end
options_.varlist = options_.prior_analysis_endo_var_list;
end
endo_names=options_.varlist;
[ivar,vartan] = get_variables_list(options_,M_);
if ~posterior
if exist('temp','var')
@ -127,9 +128,9 @@ for file = 1:NumberOfDrawsFiles
end
if linea == NumberOfCovarLines
if posterior
save([ M_.dname '/metropolis/' M_.fname '_Posterior2ndOrderMoments' int2str(CovarFileNumber) '.mat' ],'Covariance_matrix');
save([ M_.dname '/metropolis/' M_.fname '_Posterior2ndOrderMoments' int2str(CovarFileNumber) '.mat' ],'Covariance_matrix','endo_names');
else
save([ M_.dname '/prior/moments/' M_.fname '_Prior2ndOrderMoments' int2str(CovarFileNumber) '.mat' ],'Covariance_matrix');
save([ M_.dname '/prior/moments/' M_.fname '_Prior2ndOrderMoments' int2str(CovarFileNumber) '.mat' ],'Covariance_matrix','endo_names');
end
CovarFileNumber = CovarFileNumber + 1;
linea = 0;

View File

@ -66,6 +66,7 @@ if ~posterior
options_.varlist = options_.prior_analysis_endo_var_list;
end
[ivar,vartan,options_] = get_variables_list(options_,M_);
endo_names=options_.varlist;
if ~posterior
if exist('temp','var')
options_.varlist = temp;
@ -178,9 +179,9 @@ for file = 1:NumberOfDrawsFiles
end
if linea == NumberOfDecompLines
if posterior
save([M_.dname '/metropolis/' M_.fname '_PosteriorVarianceDecomposition' int2str(DecompFileNumber) '.mat' ],'Decomposition_array');
save([M_.dname '/metropolis/' M_.fname '_PosteriorVarianceDecomposition' int2str(DecompFileNumber) '.mat' ],'Decomposition_array','endo_names');
else
save([M_.dname '/prior/moments/' M_.fname '_PriorVarianceDecomposition' int2str(DecompFileNumber) '.mat' ],'Decomposition_array');
save([M_.dname '/prior/moments/' M_.fname '_PriorVarianceDecomposition' int2str(DecompFileNumber) '.mat' ],'Decomposition_array','endo_names');
end
DecompFileNumber = DecompFileNumber + 1;
linea = 0;
@ -197,9 +198,9 @@ for file = 1:NumberOfDrawsFiles
if ME_present
if linea_ME == NumberOfDecompLines_ME
if posterior
save([M_.dname '/metropolis/' M_.fname '_PosteriorVarianceDecompME' int2str(DecompFileNumber_ME) '.mat' ],'Decomposition_array_ME');
save([M_.dname '/metropolis/' M_.fname '_PosteriorVarianceDecompME' int2str(DecompFileNumber_ME) '.mat' ],'Decomposition_array_ME','endo_names');
else
save([M_.dname '/prior/moments/' M_.fname '_PriorVarianceDecompME' int2str(DecompFileNumber_ME) '.mat' ],'Decomposition_array_ME');
save([M_.dname '/prior/moments/' M_.fname '_PriorVarianceDecompME' int2str(DecompFileNumber_ME) '.mat' ],'Decomposition_array_ME','endo_names');
end
DecompFileNumber_ME = DecompFileNumber_ME + 1;
linea_ME = 0;

View File

@ -541,6 +541,15 @@ if (any(bayestopt_.pshape >0 ) && options_.mh_replic) || ...
if error_flag
error('Estimation::mcmc: I cannot compute the posterior moments for the endogenous variables!')
end
if options_.load_mh_file && options_.mh_replic==0 %user wants to recompute results
[MetropolisFolder, info] = CheckPath('metropolis',M_.dname);
if ~info
generic_post_data_file_name={'Posterior2ndOrderMoments','decomposition','PosteriorVarianceDecomposition','correlation','PosteriorCorrelations','conditional decomposition','PosteriorConditionalVarianceDecomposition'};
for ii=1:length(generic_post_data_file_name)
delete_stale_file([MetropolisFolder filesep M_.fname '_' generic_post_data_file_name{1,ii} '*']);
end
end
end
oo_ = compute_moments_varendo('posterior',options_,M_,oo_,var_list_);
end
if options_.smoother || ~isempty(options_.filter_step_ahead) || options_.forecast