function mode_check(fun,x,hessian_mat,DynareDataset,DatasetInfo,DynareOptions,Model,EstimatedParameters,BayesInfo,BoundsInfo,DynareResults) % Checks the estimated ML mode or Posterior mode. %@info: %! @deftypefn {Function File} mode_check (@var{fun}, @var{x}, @var{hessian_mat}, @var{DynareDataset}, @var{DynareOptions}, @var{Model}, @var{EstimatedParameters}, @var{BayesInfo}, @var{DynareResults}) %! @anchor{mode_check} %! @sp 1 %! Checks the estimated ML mode or Posterior mode by plotting sections of the likelihood/posterior kernel. %! Each plot shows the variation of the likelihood implied by the variations of a single parameter, ceteris paribus) %! @sp 2 %! @strong{Inputs} %! @sp 1 %! @table @ @var %! @item fun %! Objective function. %! @item x %! Estimated mode. %! @item start %! Hessian of the objective function at the estimated mode @var{x}. %! @item DynareDataset %! Structure specifying the dataset used for estimation (dataset_). %! @item DynareOptions %! Structure defining dynare's options (options_). %! @item Model %! Structure specifying the (estimated) model (M_). %! @item EstimatedParameters %! Structure specifying the estimated parameters (estimated_params_). %! @item BayesInfo %! Structure containing information about the priors used for estimation (bayestopt_). %! @item DynareResults %! Structure gathering the results (oo_). %! @end table %! @sp 2 %! @strong{Outputs} %! @sp 2 %! @strong{This function is called by:} %! @sp 2 %! @strong{This function calls:} %! The objective function (@var{func}). %! @end deftypefn %@eod: % Copyright © 2003-2017 Dynare Team % % This file is part of Dynare. % % Dynare is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % % Dynare is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License % along with Dynare. If not, see . TeX = DynareOptions.TeX; if ~isempty(hessian_mat) [ s_min, k ] = min(diag(hessian_mat)); end fval = feval(fun,x,DynareDataset,DatasetInfo,DynareOptions,Model,EstimatedParameters,BayesInfo,BoundsInfo,DynareResults); if ~isempty(hessian_mat) skipline() disp('MODE CHECK') skipline() fprintf('Fval obtained by the minimization routine (minus the posterior/likelihood)): %f', fval); skipline() if s_min(1-ll)*x(kk)) && (x(kk)+(x(kk)-l1)