Adapt identification routines after new dynare estimation commits.
parent
ebcc9d8f91
commit
c6a9650d20
|
@ -476,10 +476,10 @@ if ((kalman_algo==1) || (kalman_algo==3))% Multivariate Kalman Filter
|
||||||
end
|
end
|
||||||
if analytic_derivation
|
if analytic_derivation
|
||||||
if no_DLIK==0
|
if no_DLIK==0
|
||||||
[DLIK] = score(T,R,Q,H,Pstar,Y,DT,DYss,DOm,DH,DP,start,mf,kalman_tol,riccati_tol);
|
[DLIK] = score(T,R,Q,H,Pstar,Y,DT,DYss,DOm,DH,DP,start,Z,kalman_tol,riccati_tol);
|
||||||
end
|
end
|
||||||
if nargout==7
|
if nargout==11
|
||||||
[AHess] = AHessian(T,R,Q,H,Pstar,Y,DT,DYss,DOm,DH,DP,start,mf,kalman_tol,riccati_tol);
|
[AHess] = AHessian(T,R,Q,H,Pstar,Y,DT,DYss,DOm,DH,DP,start,Z,kalman_tol,riccati_tol);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|
|
@ -312,9 +312,9 @@ end % if ~isempty(options_.unit_root_vars)
|
||||||
% Test if the data file is declared.
|
% Test if the data file is declared.
|
||||||
if isempty(options_.datafile)
|
if isempty(options_.datafile)
|
||||||
if gsa_flag
|
if gsa_flag
|
||||||
data = [];
|
dataset_ = [];
|
||||||
rawdata = [];
|
% rawdata = [];
|
||||||
data_info = [];
|
% data_info = [];
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
error('datafile option is missing')
|
error('datafile option is missing')
|
||||||
|
|
|
@ -114,14 +114,26 @@ options_.nomoments=0;
|
||||||
options_ = set_default_option(options_,'datafile',[]);
|
options_ = set_default_option(options_,'datafile',[]);
|
||||||
options_.mode_compute = 0;
|
options_.mode_compute = 0;
|
||||||
options_.plot_priors = 0;
|
options_.plot_priors = 0;
|
||||||
[data,rawdata,xparam1,data_info]=dynare_estimation_init(M_.endo_names,fname_,1);
|
[dataset_,xparam1, M_, options_, oo_, estim_params_,bayestopt_]=dynare_estimation_init(M_.endo_names,fname_,1, M_, options_, oo_, estim_params_, bayestopt_);
|
||||||
if isempty(data_info),
|
if isempty(dataset_),
|
||||||
data_info.gend = periods;
|
dataset_.info.ntobs = periods;
|
||||||
data_info.data = [];
|
dataset_.info.nvobs = rows(options_.varobs);
|
||||||
data_info.data_index = [];
|
dataset_.info.varobs = options_.varobs;
|
||||||
data_info.number_of_observations = periods*size(options_.varobs,1);
|
dataset_.rawdata = [];
|
||||||
data_info.no_more_missing_observations = 0;
|
dataset_.missing.state = 0;
|
||||||
data_info.missing_value = 0;
|
dataset_.missing.aindex = [];
|
||||||
|
dataset_.missing.vindex = [];
|
||||||
|
dataset_.missing.number_of_observations = [];
|
||||||
|
dataset_.missing.no_more_missing_observations = [];
|
||||||
|
dataset_.descriptive.mean = [];
|
||||||
|
dataset_.data = [];
|
||||||
|
|
||||||
|
% data_info.gend = periods;
|
||||||
|
% data_info.data = [];
|
||||||
|
% data_info.data_index = [];
|
||||||
|
% data_info.number_of_observations = periods*size(options_.varobs,1);
|
||||||
|
% data_info.no_more_missing_observations = 0;
|
||||||
|
% data_info.missing_value = 0;
|
||||||
end
|
end
|
||||||
|
|
||||||
% results = prior_sampler(0,M_,bayestopt_,options_,oo_);
|
% results = prior_sampler(0,M_,bayestopt_,options_,oo_);
|
||||||
|
@ -240,7 +252,7 @@ if iload <=0,
|
||||||
disp('Testing current parameter values')
|
disp('Testing current parameter values')
|
||||||
end
|
end
|
||||||
[idehess_point, idemoments_point, idemodel_point, idelre_point, derivatives_info_point] = ...
|
[idehess_point, idemoments_point, idemodel_point, idelre_point, derivatives_info_point] = ...
|
||||||
identification_analysis(params,indx,indexo,options_ident,data_info, prior_exist, name_tex,1);
|
identification_analysis(params,indx,indexo,options_ident,dataset_, prior_exist, name_tex,1);
|
||||||
idehess_point.params=params;
|
idehess_point.params=params;
|
||||||
% siH = idemodel_point.siH;
|
% siH = idemodel_point.siH;
|
||||||
% siJ = idemoments_point.siJ;
|
% siJ = idemoments_point.siJ;
|
||||||
|
@ -274,7 +286,7 @@ if iload <=0,
|
||||||
params = prior_draw();
|
params = prior_draw();
|
||||||
end
|
end
|
||||||
[dum1, ideJ, ideH, ideGP, dum2 , info] = ...
|
[dum1, ideJ, ideH, ideGP, dum2 , info] = ...
|
||||||
identification_analysis(params,indx,indexo,options_MC,data_info, prior_exist, name_tex,0);
|
identification_analysis(params,indx,indexo,options_MC,dataset_, prior_exist, name_tex,0);
|
||||||
if iteration==0,
|
if iteration==0,
|
||||||
MAX_tau = min(SampleSize,ceil(MaxNumberOfBytes/(size(ideH.siH,1)*nparam)/8));
|
MAX_tau = min(SampleSize,ceil(MaxNumberOfBytes/(size(ideH.siH,1)*nparam)/8));
|
||||||
stoH = zeros([size(ideH.siH,1),nparam,MAX_tau]);
|
stoH = zeros([size(ideH.siH,1),nparam,MAX_tau]);
|
||||||
|
@ -429,10 +441,10 @@ if SampleSize > 1,
|
||||||
fprintf('\n')
|
fprintf('\n')
|
||||||
tittxt = 'Draw with HIGHEST condition number';
|
tittxt = 'Draw with HIGHEST condition number';
|
||||||
fprintf('\n')
|
fprintf('\n')
|
||||||
disp(['Testing ',tittxt, '. Press ENTER']), pause,
|
disp(['Testing ',tittxt, '. Press ENTER']), pause(5),
|
||||||
if ~iload,
|
if ~iload,
|
||||||
[idehess_max, idemoments_max, idemodel_max, idelre_max, derivatives_info_max] = ...
|
[idehess_max, idemoments_max, idemodel_max, idelre_max, derivatives_info_max] = ...
|
||||||
identification_analysis(pdraws(jmax,:),indx,indexo,options_ident,data_info, prior_exist, name_tex,1);
|
identification_analysis(pdraws(jmax,:),indx,indexo,options_ident,dataset_, prior_exist, name_tex,1);
|
||||||
save([IdentifDirectoryName '/' M_.fname '_identif.mat'], 'idehess_max', 'idemoments_max','idemodel_max', 'idelre_max', 'jmax', '-append');
|
save([IdentifDirectoryName '/' M_.fname '_identif.mat'], 'idehess_max', 'idemoments_max','idemodel_max', 'idelre_max', 'jmax', '-append');
|
||||||
end
|
end
|
||||||
disp_identification(pdraws(jmax,:), idemodel_max, idemoments_max, name);
|
disp_identification(pdraws(jmax,:), idemodel_max, idemoments_max, name);
|
||||||
|
@ -442,10 +454,10 @@ if SampleSize > 1,
|
||||||
fprintf('\n')
|
fprintf('\n')
|
||||||
tittxt = 'Draw with SMALLEST condition number';
|
tittxt = 'Draw with SMALLEST condition number';
|
||||||
fprintf('\n')
|
fprintf('\n')
|
||||||
disp(['Testing ',tittxt, '. Press ENTER']), pause,
|
disp(['Testing ',tittxt, '. Press ENTER']), pause(5),
|
||||||
if ~iload,
|
if ~iload,
|
||||||
[idehess_min, idemoments_min, idemodel_min, idelre_min, derivatives_info_min] = ...
|
[idehess_min, idemoments_min, idemodel_min, idelre_min, derivatives_info_min] = ...
|
||||||
identification_analysis(pdraws(jmin,:),indx,indexo,options_ident,data_info, prior_exist, name_tex,1);
|
identification_analysis(pdraws(jmin,:),indx,indexo,options_ident,dataset_, prior_exist, name_tex,1);
|
||||||
save([IdentifDirectoryName '/' M_.fname '_identif.mat'], 'idehess_min', 'idemoments_min','idemodel_min', 'idelre_min', 'jmin', '-append');
|
save([IdentifDirectoryName '/' M_.fname '_identif.mat'], 'idehess_min', 'idemoments_min','idemodel_min', 'idelre_min', 'jmin', '-append');
|
||||||
end
|
end
|
||||||
disp_identification(pdraws(jmin,:), idemodel_min, idemoments_min, name);
|
disp_identification(pdraws(jmin,:), idemodel_min, idemoments_min, name);
|
||||||
|
@ -455,10 +467,10 @@ if SampleSize > 1,
|
||||||
for j=1:length(jcrit),
|
for j=1:length(jcrit),
|
||||||
tittxt = ['Rank deficient draw n. ',int2str(j)];
|
tittxt = ['Rank deficient draw n. ',int2str(j)];
|
||||||
fprintf('\n')
|
fprintf('\n')
|
||||||
disp(['Testing ',tittxt, '. Press ENTER']), pause,
|
disp(['Testing ',tittxt, '. Press ENTER']), pause(5),
|
||||||
if ~iload,
|
if ~iload,
|
||||||
[idehess_(j), idemoments_(j), idemodel_(j), idelre_(j), derivatives_info_(j)] = ...
|
[idehess_(j), idemoments_(j), idemodel_(j), idelre_(j), derivatives_info_(j)] = ...
|
||||||
identification_analysis(pdraws(jcrit(j),:),indx,indexo,options_ident,data_info, prior_exist, name_tex,1);
|
identification_analysis(pdraws(jcrit(j),:),indx,indexo,options_ident,dataset_, prior_exist, name_tex,1);
|
||||||
end
|
end
|
||||||
disp_identification(pdraws(jcrit(j),:), idemodel_(j), idemoments_(j), name);
|
disp_identification(pdraws(jcrit(j),:), idemodel_(j), idemoments_(j), name);
|
||||||
close all,
|
close all,
|
||||||
|
|
|
@ -129,13 +129,14 @@ if info(1)==0,
|
||||||
options_.irf = 0;
|
options_.irf = 0;
|
||||||
options_.noprint = 1;
|
options_.noprint = 1;
|
||||||
options_.order = 1;
|
options_.order = 1;
|
||||||
options_.periods = data_info.gend+100;
|
options_.periods = data_info.info.ntobs+100;
|
||||||
options_.kalman_algo = 1;
|
options_.kalman_algo = 1;
|
||||||
info = stoch_simul(options_.varobs);
|
info = stoch_simul(options_.varobs);
|
||||||
datax=oo_.endo_simul(options_.varobs_id,100+1:end);
|
data_info.data=oo_.endo_simul(options_.varobs_id,100+1:end);
|
||||||
% datax=data;
|
% datax=data;
|
||||||
derivatives_info.no_DLIK=1;
|
derivatives_info.no_DLIK=1;
|
||||||
[fval,cost_flag,ys,trend_coeff,info,DLIK,AHess] = DsgeLikelihood(params',data_info.gend,datax,data_info.data_index,data_info.number_of_observations,data_info.no_more_missing_observations,derivatives_info);
|
[fval,cost_flag,ys,trend_coeff,info,M_,options_,bayestopt_,oo_,DLIK,AHess] = DsgeLikelihood(params',data_info,options_,M_,estim_params_,bayestopt_,oo_,derivatives_info);
|
||||||
|
% fval = DsgeLikelihood(xparam1,data_info,options_,M_,estim_params_,bayestopt_,oo_);
|
||||||
AHess=-AHess;
|
AHess=-AHess;
|
||||||
ide_hess.AHess= AHess;
|
ide_hess.AHess= AHess;
|
||||||
deltaM = sqrt(diag(AHess));
|
deltaM = sqrt(diag(AHess));
|
||||||
|
|
|
@ -94,7 +94,7 @@ if SampleSize == 1,
|
||||||
|
|
||||||
if advanced,
|
if advanced,
|
||||||
disp(' ')
|
disp(' ')
|
||||||
disp('Press ENTER to display advanced diagnostics'), pause,
|
disp('Press ENTER to display advanced diagnostics'), pause(5),
|
||||||
figure('Name',[tittxt, ' - Sensitivity plot']),
|
figure('Name',[tittxt, ' - Sensitivity plot']),
|
||||||
subplot(211)
|
subplot(211)
|
||||||
mmm = (siJnorm)'./max(siJnorm);
|
mmm = (siJnorm)'./max(siJnorm);
|
||||||
|
@ -258,7 +258,7 @@ else
|
||||||
if options_.nograph, close(gcf); end
|
if options_.nograph, close(gcf); end
|
||||||
if advanced,
|
if advanced,
|
||||||
disp(' ')
|
disp(' ')
|
||||||
disp('Press ENTER to display advanced diagnostics'), pause,
|
disp('Press ENTER to display advanced diagnostics'), pause(5),
|
||||||
options_.nograph=1;
|
options_.nograph=1;
|
||||||
figure('Name','MC Condition Number'),
|
figure('Name','MC Condition Number'),
|
||||||
subplot(221)
|
subplot(221)
|
||||||
|
|
Loading…
Reference in New Issue