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-bf33cf982152time-shift
parent
50950ea63f
commit
6d6174d6ae
|
@ -103,6 +103,7 @@ M_.Sigma_e = Q;
|
||||||
%% Weight of the dsge prior:
|
%% Weight of the dsge prior:
|
||||||
dsge_prior_weight = M_.params(strmatch('dsge_prior_weight',M_.param_names));
|
dsge_prior_weight = M_.params(strmatch('dsge_prior_weight',M_.param_names));
|
||||||
|
|
||||||
|
|
||||||
%------------------------------------------------------------------------------
|
%------------------------------------------------------------------------------
|
||||||
% 2. call model setup & reduction program
|
% 2. call model setup & reduction program
|
||||||
%------------------------------------------------------------------------------
|
%------------------------------------------------------------------------------
|
||||||
|
@ -142,6 +143,12 @@ NumberOfObservedVariables = size(options_.varobs,1);
|
||||||
NumberOfLags = options_.varlag;
|
NumberOfLags = options_.varlag;
|
||||||
k = NumberOfObservedVariables*NumberOfLags ;
|
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 = ...
|
TheoreticalAutoCovarianceOfTheObservedVariables = ...
|
||||||
zeros(NumberOfObservedVariables,NumberOfObservedVariables,NumberOfLags+1);
|
zeros(NumberOfObservedVariables,NumberOfObservedVariables,NumberOfLags+1);
|
||||||
TheoreticalAutoCovarianceOfTheObservedVariables(:,:,1) = tmp(mf,mf);
|
TheoreticalAutoCovarianceOfTheObservedVariables(:,:,1) = tmp(mf,mf);
|
||||||
|
|
Loading…
Reference in New Issue