Added a penalty when the bvar-dsge prior is not proper (too small values of dsge_prior_weight).

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1343 ac1d8469-bf42-47a9-8791-bf33cf982152
time-shift
adjemian 2007-07-06 14:43:00 +00:00
parent 50950ea63f
commit 6d6174d6ae
1 changed files with 7 additions and 0 deletions

View File

@ -103,6 +103,7 @@ M_.Sigma_e = Q;
%% Weight of the dsge prior:
dsge_prior_weight = M_.params(strmatch('dsge_prior_weight',M_.param_names));
%------------------------------------------------------------------------------
% 2. call model setup & reduction program
%------------------------------------------------------------------------------
@ -142,6 +143,12 @@ NumberOfObservedVariables = size(options_.varobs,1);
NumberOfLags = options_.varlag;
k = NumberOfObservedVariables*NumberOfLags ;
if dsge_prior_weight<(k+NumberOfObservedVariables)/nobs;
fval = bayestopt_.penalty*min(1e3,(k+NumberOfObservedVariables)/nobs-dsge_prior_weight);
cost_flag = 0;
return;
end
TheoreticalAutoCovarianceOfTheObservedVariables = ...
zeros(NumberOfObservedVariables,NumberOfObservedVariables,NumberOfLags+1);
TheoreticalAutoCovarianceOfTheObservedVariables(:,:,1) = tmp(mf,mf);