Add new options consider_all_endogenous and consider_only_observed.

Closes #336
time-shift
Sébastien Villemot 2014-02-04 14:49:06 +01:00
parent 0df2ba7d12
commit 3348481104
4 changed files with 33 additions and 3 deletions

View File

@ -4337,6 +4337,15 @@ graphs with prior, posterior, and mode
graphs of smoothed shocks, smoothed observation errors, smoothed and historical variables
@end itemize
Note that the posterior moments, smoothed variables, k-step ahead
filtered variables and forecasts (when requested) will only be
computed on the variables listed after the @code{estimation} command.
Alternatively, one can choose to compute these quantities on all
endogenous or on all observed variables (see
@code{consider_all_endogenous} and @code{consider_only_observed}
options below). If no variable is listed after the @code{estimation}
command, then Dynare will interactively ask which variable set to use.
Also, during the MCMC (Bayesian estimation with @code{mh_replic}>0) a
(graphical or text) waiting bar is displayed showing the progress of the
Monte-Carlo and the @i{current} value of the acceptance ratio. Note that
@ -5102,6 +5111,18 @@ Percentage of MCMC draws at the beginning and end of the MCMC chain taken
to compute the @cite{Geweke (1992,1999)} convergence diagnostics (requires @ref{mh_nblocks}=1)
after discarding the first @ref{mh_drop} percent of draws as a burnin. Default: @code{[0.2 0.5]}.
@item consider_all_endogenous
Compute the posterior moments, smoothed variables, k-step ahead
filtered variables and forecasts (when requested) will be computed on
all the endogenous variables. This is equivalent to manually listing
all the endogenous variables after the @code{estimation} command.
@item consider_only_observed
Compute the posterior moments, smoothed variables, k-step ahead
filtered variables and forecasts (when requested) will be computed on
all the observed variables. This is equivalent to manually listing
all the observed variables after the @code{estimation} command.
@end table
@customhead{Note}

View File

@ -59,7 +59,9 @@ if options_.dsge_var && options_.bayesian_irf
return
end
if isempty(varlist) && ~isempty(options_.endo_vars_for_moment_computations_in_estimation)
if ~isempty(varlist) && ~isempty(options_.endo_vars_for_moment_computations_in_estimation)
error('You cannot use the consider_all_endogenous or consider_all_observed options when listing variables after the estimation command')
elseif isempty(varlist) && ~isempty(options_.endo_vars_for_moment_computations_in_estimation)
if strcmp(options_.endo_vars_for_moment_computations_in_estimation,'all_endogenous_variables')
varlist = M_.endo_names(1:M_.orig_endo_nbr, :);
elseif strcmp(options_.endo_vars_for_moment_computations_in_estimation,'only_observed_variables')

View File

@ -89,6 +89,7 @@ class ParsingDriver;
%token BVAR_PRIOR_MU BVAR_PRIOR_OMEGA BVAR_PRIOR_TAU BVAR_PRIOR_TRAIN
%token BVAR_REPLIC BYTECODE ALL_VALUES_REQUIRED
%token CALIB_SMOOTHER CHANGE_TYPE CHECK CONDITIONAL_FORECAST CONDITIONAL_FORECAST_PATHS CONF_SIG CONSTANT CONTROLLED_VAREXO CORR COVAR CUTOFF CYCLE_REDUCTION LOGARITHMIC_REDUCTION
%token CONSIDER_ALL_ENDOGENOUS CONSIDER_ONLY_OBSERVED
%token DATAFILE FILE DOUBLING DR_CYCLE_REDUCTION_TOL DR_LOGARITHMIC_REDUCTION_TOL DR_LOGARITHMIC_REDUCTION_MAXITER DR_ALGO DROP DSAMPLE DYNASAVE DYNATYPE CALIBRATION DIFFERENTIATE_FORWARD_VARS
%token END ENDVAL EQUAL ESTIMATION ESTIMATED_PARAMS ESTIMATED_PARAMS_BOUNDS ESTIMATED_PARAMS_INIT EXTENDED_PATH ENDOGENOUS_PRIOR
%token FILENAME FILTER_STEP_AHEAD FILTERED_VARS FIRST_OBS LAST_OBS SET_TIME
@ -1622,7 +1623,9 @@ estimation_options : o_datafile
| o_geweke_interval
| o_mcmc_jumping_covariance
| o_irf_plot_threshold
| o_posterior_max_subsample_draws
| o_posterior_max_subsample_draws
| o_consider_all_endogenous
| o_consider_only_observed
;
list_optim_option : QUOTED_STRING COMMA QUOTED_STRING
@ -2746,6 +2749,8 @@ o_mcmc_jumping_covariance : MCMC_JUMPING_COVARIANCE EQUAL HESSIAN
{ driver.option_str("MCMC_jumping_covariance", $3); }
;
o_irf_plot_threshold : IRF_PLOT_THRESHOLD EQUAL non_negative_number { driver.option_num("impulse_responses.plot_threshold", $3); };
o_consider_all_endogenous : CONSIDER_ALL_ENDOGENOUS { driver.option_str("endo_vars_for_moment_computations_in_estimation", "all_endogenous_variables"); };
o_consider_only_observed : CONSIDER_ONLY_OBSERVED { driver.option_str("endo_vars_for_moment_computations_in_estimation", "only_observed_variables"); };
range : symbol ':' symbol
{

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2003-2013 Dynare Team
* Copyright (C) 2003-2014 Dynare Team
*
* This file is part of Dynare.
*
@ -522,6 +522,8 @@ DATE -?[0-9]+([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4]|[Ww]([1-9]{1}|[1-4][0-9]|5[0-2
<DYNARE_STATEMENT>solver_periods {return token::SOLVER_PERIODS;}
<DYNARE_STATEMENT>endogenous_prior {return token::ENDOGENOUS_PRIOR;}
<DYNARE_STATEMENT>long_name {return token::LONG_NAME;}
<DYNARE_STATEMENT>consider_all_endogenous {return token::CONSIDER_ALL_ENDOGENOUS;}
<DYNARE_STATEMENT>consider_only_observed {return token::CONSIDER_ONLY_OBSERVED;}
<DYNARE_STATEMENT>[\$][^$]*[\$] {