function mode_check(fun,x,hessian,DynareDataset,DynareOptions,Model,EstimatedParameters,BayesInfo,DynareResults) % Checks the estimated ML mode or Posterior mode. %@info: %! @deftypefn {Function File} {@var{y}, @var{y_} =} sequential_importance_particle_filter (@var{ReducedForm},@var{Y}, @var{start}, @var{DynareOptions}) %! @anchor{particle/sequential_importance_particle_filter} %! @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 ReducedForm %! Structure describing the state space model (built in @ref{non_linear_dsge_likelihood}). %! @item Y %! p*smpl matrix of doubles (p is the number of observed variables), the (detrended) data. %! @item start %! Integer scalar, likelihood evaluation starts at observation 'start'. %! @item DynareOptions %! Structure specifying Dynare's options. %! @end table %! @sp 2 %! @strong{Outputs} %! @sp 1 %! @table @ @var %! @item LIK %! double scalar, value of (minus) the logged likelihood. %! @item lik %! smpl*1 vector of doubles, density of the observations at each period. %! @end table %! @sp 2 %! @strong{This function is called by:} %! @ref{non_linear_dsge_likelihood} %! @sp 2 %! @strong{This function calls:} %! %! @end deftypefn %@eod: % function mode_check(x,fval,hessian,gend,data,lb,ub) % Checks the maximum likelihood mode % % INPUTS % x: mode % fval: value at the maximum likelihood mode % hessian: matrix of second order partial derivatives % gend: scalar specifying the number of observations % data: matrix of data % lb: lower bound % ub: upper bound % % OUTPUTS % none % % SPECIAL REQUIREMENTS % none % Copyright (C) 2003-2010, 2012 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); [ s_min, k ] = min(diag(hessian)); end fval = feval(fun,x,DynareDataset,DynareOptions,Model,EstimatedParameters,BayesInfo,DynareResults); if ~isempty(hessian); disp(' ') disp('MODE CHECK') disp(' ') disp(sprintf('Fval obtained by the minimization routine: %f', fval)) disp(' ') if s_min(1-ll)*x(kk)) && (x(kk)+(x(kk)-l1)