Consider options_.varobs as a cell of strings.
parent
cb54eb9a33
commit
985e00b739
|
@ -59,7 +59,7 @@ R = [];
|
||||||
P = [];
|
P = [];
|
||||||
PK = [];
|
PK = [];
|
||||||
decomp = [];
|
decomp = [];
|
||||||
nobs = size(options_.varobs,1);
|
nobs = length(options_.varobs);
|
||||||
smpl = size(Y,2);
|
smpl = size(Y,2);
|
||||||
|
|
||||||
M_ = set_all_parameters(xparam1,estim_params_,M_);
|
M_ = set_all_parameters(xparam1,estim_params_,M_);
|
||||||
|
|
|
@ -174,17 +174,17 @@ if nvn
|
||||||
Draws = GetAllPosteriorDraws(ip,FirstMhFile,FirstLine,TotalNumberOfMhFiles,NumberOfDraws);
|
Draws = GetAllPosteriorDraws(ip,FirstMhFile,FirstLine,TotalNumberOfMhFiles,NumberOfDraws);
|
||||||
[post_mean, post_median, post_var, hpd_interval, post_deciles, density] = ...
|
[post_mean, post_median, post_var, hpd_interval, post_deciles, density] = ...
|
||||||
posterior_moments(Draws,1,options_.mh_conf_sig);
|
posterior_moments(Draws,1,options_.mh_conf_sig);
|
||||||
name = deblank(options_.varobs(estim_params_.nvn_observable_correspondence(i,1),:));
|
name = options_.varobs{estim_params_.nvn_observable_correspondence(i,1)};
|
||||||
oo_ = Filloo(oo_,name,type,post_mean,hpd_interval,post_median,post_var,post_deciles,density);
|
oo_ = Filloo(oo_,name,type,post_mean,hpd_interval,post_median,post_var,post_deciles,density);
|
||||||
else
|
else
|
||||||
try
|
try
|
||||||
name = deblank(options_.varobs(estim_params_.nvn_observable_correspondence(i,1),:));
|
name = options_.varobs{estim_params_.nvn_observable_correspondence(i,1)};
|
||||||
[post_mean,hpd_interval,post_var] = Extractoo(oo_,name,type);
|
[post_mean,hpd_interval,post_var] = Extractoo(oo_,name,type);
|
||||||
catch
|
catch
|
||||||
Draws = GetAllPosteriorDraws(ip,FirstMhFile,FirstLine,TotalNumberOfMhFiles,NumberOfDraws);
|
Draws = GetAllPosteriorDraws(ip,FirstMhFile,FirstLine,TotalNumberOfMhFiles,NumberOfDraws);
|
||||||
[post_mean, post_median, post_var, hpd_interval, post_deciles, density] = ...
|
[post_mean, post_median, post_var, hpd_interval, post_deciles, density] = ...
|
||||||
posterior_moments(Draws,1,options_.mh_conf_sig);
|
posterior_moments(Draws,1,options_.mh_conf_sig);
|
||||||
name = deblank(options_.varobs(estim_params_.nvn_observable_correspondence(i,1),:));
|
name = options_.varobs{estim_params_.nvn_observable_correspondence(i,1)};
|
||||||
oo_ = Filloo(oo_,name,type,post_mean,hpd_interval,post_median,post_var,post_deciles,density);
|
oo_ = Filloo(oo_,name,type,post_mean,hpd_interval,post_median,post_var,post_deciles,density);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -89,7 +89,7 @@ for i=1:npar
|
||||||
eval(['pmod = oo_.posterior_mode.shocks_std.' name ';'])
|
eval(['pmod = oo_.posterior_mode.shocks_std.' name ';'])
|
||||||
end
|
end
|
||||||
elseif i <= nvx+nvn
|
elseif i <= nvx+nvn
|
||||||
name = deblank(options_.varobs(estim_params_.nvn_observable_correspondence(i-nvx,1),:));
|
name = options_.varobs{estim_params_.nvn_observable_correspondence(i-nvx,1)};
|
||||||
eval(['x1 = oo_.posterior_density.measurement_errors_std.' name '(:,1);'])
|
eval(['x1 = oo_.posterior_density.measurement_errors_std.' name '(:,1);'])
|
||||||
eval(['f1 = oo_.posterior_density.measurement_errors_std.' name '(:,2);'])
|
eval(['f1 = oo_.posterior_density.measurement_errors_std.' name '(:,2);'])
|
||||||
eval(['oo_.prior_density.mearsurement_errors_std.' name '(:,1) = x2;'])
|
eval(['oo_.prior_density.mearsurement_errors_std.' name '(:,1) = x2;'])
|
||||||
|
|
|
@ -48,7 +48,7 @@ MaxNumberOfPlotPerFigure = 4;% The square root must be an integer!
|
||||||
MaxNumberOfBytes=options_.MaxNumberOfBytes;
|
MaxNumberOfBytes=options_.MaxNumberOfBytes;
|
||||||
endo_nbr=M_.endo_nbr;
|
endo_nbr=M_.endo_nbr;
|
||||||
exo_nbr=M_.exo_nbr;
|
exo_nbr=M_.exo_nbr;
|
||||||
nvobs = size(options_.varobs,1);
|
nvobs = length(options_.varobs);
|
||||||
nn = sqrt(MaxNumberOfPlotPerFigure);
|
nn = sqrt(MaxNumberOfPlotPerFigure);
|
||||||
iendo = 1:endo_nbr;
|
iendo = 1:endo_nbr;
|
||||||
i_last_obs = gend+(1-M_.maximum_endo_lag:0);
|
i_last_obs = gend+(1-M_.maximum_endo_lag:0);
|
||||||
|
@ -70,9 +70,9 @@ B = 200;
|
||||||
MAX_nruns = min(B,ceil(options_.MaxNumberOfBytes/(npar+2)/8));
|
MAX_nruns = min(B,ceil(options_.MaxNumberOfBytes/(npar+2)/8));
|
||||||
MAX_nsmoo = min(B,ceil(MaxNumberOfBytes/((endo_nbr)*gend)/8));
|
MAX_nsmoo = min(B,ceil(MaxNumberOfBytes/((endo_nbr)*gend)/8));
|
||||||
MAX_ninno = min(B,ceil(MaxNumberOfBytes/(exo_nbr*gend)/8));
|
MAX_ninno = min(B,ceil(MaxNumberOfBytes/(exo_nbr*gend)/8));
|
||||||
MAX_nerro = min(B,ceil(MaxNumberOfBytes/(size(options_.varobs,1)*gend)/8));
|
MAX_nerro = min(B,ceil(MaxNumberOfBytes/(length(options_.varobs)*gend)/8));
|
||||||
if naK
|
if naK
|
||||||
MAX_naK = min(B,ceil(MaxNumberOfBytes/(size(options_.varobs,1)* ...
|
MAX_naK = min(B,ceil(MaxNumberOfBytes/(length(options_.varobs)* ...
|
||||||
length(options_.filter_step_ahead)*gend)/8));
|
length(options_.filter_step_ahead)*gend)/8));
|
||||||
end
|
end
|
||||||
if horizon
|
if horizon
|
||||||
|
|
|
@ -42,7 +42,7 @@ end
|
||||||
% Set varlist if necessary
|
% Set varlist if necessary
|
||||||
varlist = options_.varlist;
|
varlist = options_.varlist;
|
||||||
if isempty(varlist)
|
if isempty(varlist)
|
||||||
varlist = options_.varobs;
|
varlist = char(options_.varobs);
|
||||||
end
|
end
|
||||||
options_.varlist = varlist;
|
options_.varlist = varlist;
|
||||||
nvar = size(varlist,1);
|
nvar = size(varlist,1);
|
||||||
|
|
|
@ -70,7 +70,7 @@ switch type
|
||||||
TYPEarray = 4;
|
TYPEarray = 4;
|
||||||
case 'irf_bvardsge'
|
case 'irf_bvardsge'
|
||||||
CAPtype = 'IRF_BVARDSGE';
|
CAPtype = 'IRF_BVARDSGE';
|
||||||
TYPEsize = [ options_.irf , size(options_.varobs,1) , M_.exo_nbr ];
|
TYPEsize = [ options_.irf , length(options_.varobs) , M_.exo_nbr ];
|
||||||
TYPEarray = 4;
|
TYPEarray = 4;
|
||||||
case 'smooth'
|
case 'smooth'
|
||||||
CAPtype = 'SMOOTH';
|
CAPtype = 'SMOOTH';
|
||||||
|
@ -82,7 +82,7 @@ switch type
|
||||||
TYPEarray = 3;
|
TYPEarray = 3;
|
||||||
case 'error'
|
case 'error'
|
||||||
CAPtype = 'ERROR';
|
CAPtype = 'ERROR';
|
||||||
TYPEsize = [ size(options_.varobs,1) , options_.nobs ];
|
TYPEsize = [ length(options_.varobs) , options_.nobs ];
|
||||||
TYPEarray = 3;
|
TYPEarray = 3;
|
||||||
case 'innov'
|
case 'innov'
|
||||||
CAPtype = 'INNOV';
|
CAPtype = 'INNOV';
|
||||||
|
|
|
@ -120,7 +120,7 @@ for i = 1:ny
|
||||||
dynare_graph([ sims_no_shock_median(:, i) ...
|
dynare_graph([ sims_no_shock_median(:, i) ...
|
||||||
sims_no_shock_up_conf(:, i) sims_no_shock_down_conf(:, i) ...
|
sims_no_shock_up_conf(:, i) sims_no_shock_down_conf(:, i) ...
|
||||||
sims_with_shocks_up_conf(:, i) sims_with_shocks_down_conf(:, i) ], ...
|
sims_with_shocks_up_conf(:, i) sims_with_shocks_down_conf(:, i) ], ...
|
||||||
options_.varobs(i, :));
|
options_.varobs{i});
|
||||||
end
|
end
|
||||||
|
|
||||||
dynare_graph_close;
|
dynare_graph_close;
|
||||||
|
@ -145,8 +145,8 @@ if ~isempty(forecast_data.realized_val)
|
||||||
|
|
||||||
fprintf('RMSE of BVAR(%d):\n', nlags);
|
fprintf('RMSE of BVAR(%d):\n', nlags);
|
||||||
|
|
||||||
for i = 1:size(options_.varobs, 1)
|
for i = 1:length(options_.varobs)
|
||||||
fprintf('%s: %10.4f\n', options_.varobs(i, :), rmse(i));
|
fprintf('%s: %10.4f\n', options_.varobs{i}, rmse(i));
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -161,8 +161,8 @@ if ~isdir(DirectoryName)
|
||||||
end
|
end
|
||||||
save([ DirectoryName '/simulations.mat'], 'sims_no_shock', 'sims_with_shocks');
|
save([ DirectoryName '/simulations.mat'], 'sims_no_shock', 'sims_with_shocks');
|
||||||
|
|
||||||
for i = 1:size(options_.varobs, 1)
|
for i = 1:length(options_.varobs)
|
||||||
name = options_.varobs(i, :);
|
name = options_.varobs{i};
|
||||||
|
|
||||||
sims = squeeze(sims_with_shocks(:,i,:));
|
sims = squeeze(sims_with_shocks(:,i,:));
|
||||||
eval(['oo_.bvar.forecast.with_shocks.Mean.' name ' = mean(sims, 2);']);
|
eval(['oo_.bvar.forecast.with_shocks.Mean.' name ' = mean(sims, 2);']);
|
||||||
|
|
|
@ -138,9 +138,9 @@ save([ DirectoryName '/simulations.mat'], 'sampled_irfs');
|
||||||
|
|
||||||
% Save results in oo_
|
% Save results in oo_
|
||||||
for i=1:ny
|
for i=1:ny
|
||||||
shock_name = options_.varobs(i, :);
|
shock_name = options_.varobs{i};
|
||||||
for j=1:ny
|
for j=1:ny
|
||||||
variable_name = options_.varobs(j, :);
|
variable_name = options_.varobs{j};
|
||||||
eval(['oo_.bvar.irf.Mean.' variable_name '.' shock_name ' = posterior_mean_irfs(' int2str(j) ',' int2str(i) ',:);'])
|
eval(['oo_.bvar.irf.Mean.' variable_name '.' shock_name ' = posterior_mean_irfs(' int2str(j) ',' int2str(i) ',:);'])
|
||||||
eval(['oo_.bvar.irf.Median.' variable_name '.' shock_name ' = posterior_median_irfs(' int2str(j) ',' int2str(i) ',:);'])
|
eval(['oo_.bvar.irf.Median.' variable_name '.' shock_name ' = posterior_median_irfs(' int2str(j) ',' int2str(i) ',:);'])
|
||||||
eval(['oo_.bvar.irf.Var.' variable_name '.' shock_name ' = posterior_variance_irfs(' int2str(j) ',' int2str(i) ',:);'])
|
eval(['oo_.bvar.irf.Var.' variable_name '.' shock_name ' = posterior_variance_irfs(' int2str(j) ',' int2str(i) ',:);'])
|
||||||
|
|
|
@ -41,7 +41,7 @@ if options_.dsge_var && options_.bayesian_irf
|
||||||
msg = 1;
|
msg = 1;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if size(varlist,1)~=size(options_.varobs)
|
if size(varlist,1)~=length(options_.varobs)
|
||||||
msg = 1;
|
msg = 1;
|
||||||
end
|
end
|
||||||
if msg
|
if msg
|
||||||
|
@ -50,7 +50,7 @@ if options_.dsge_var && options_.bayesian_irf
|
||||||
disp(' ')
|
disp(' ')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
varlist = options_.varobs;
|
varlist = char(options_.varobs);
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ if isempty(varlist)
|
||||||
if choice==1
|
if choice==1
|
||||||
varlist = M_.endo_names(1:M_.orig_endo_nbr, :);
|
varlist = M_.endo_names(1:M_.orig_endo_nbr, :);
|
||||||
elseif choice==2
|
elseif choice==2
|
||||||
varlist = options_.varobs;
|
varlist = char(options_.varobs);
|
||||||
elseif choice==3
|
elseif choice==3
|
||||||
varlist = NaN;
|
varlist = NaN;
|
||||||
else
|
else
|
||||||
|
|
|
@ -36,14 +36,14 @@ function oo_ = compute_moments_varendo(type,options_,M_,oo_,var_list_)
|
||||||
if strcmpi(type,'posterior')
|
if strcmpi(type,'posterior')
|
||||||
posterior = 1;
|
posterior = 1;
|
||||||
if nargin==4
|
if nargin==4
|
||||||
var_list_ = options_.varobs;
|
var_list_ = char(options_.varobs);
|
||||||
end
|
end
|
||||||
elseif strcmpi(type,'prior')
|
elseif strcmpi(type,'prior')
|
||||||
posterior = 0;
|
posterior = 0;
|
||||||
if nargin==4
|
if nargin==4
|
||||||
var_list_ = options_.prior_analysis_endo_var_list;
|
var_list_ = options_.prior_analysis_endo_var_list;
|
||||||
if isempty(var_list_)
|
if isempty(var_list_)
|
||||||
options_.prior_analysis_var_list = options_.varobs;
|
options_.prior_analysis_var_list = char(options_.varobs);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|
|
@ -38,7 +38,7 @@ dsge_prior_weight = M_.params(strmatch('dsge_prior_weight',M_.param_names));
|
||||||
DSGE_PRIOR_WEIGHT = floor(gend*(1+dsge_prior_weight));
|
DSGE_PRIOR_WEIGHT = floor(gend*(1+dsge_prior_weight));
|
||||||
|
|
||||||
bvar.NumberOfLags = options_.varlag;
|
bvar.NumberOfLags = options_.varlag;
|
||||||
bvar.NumberOfVariables = size(options_.varobs,1);
|
bvar.NumberOfVariables = length(options_.varobs);
|
||||||
bvar.Constant = 'no';
|
bvar.Constant = 'no';
|
||||||
bvar.NumberOfEstimatedParameters = bvar.NumberOfLags*bvar.NumberOfVariables;
|
bvar.NumberOfEstimatedParameters = bvar.NumberOfLags*bvar.NumberOfVariables;
|
||||||
if ~options_.noconstant
|
if ~options_.noconstant
|
||||||
|
|
|
@ -81,8 +81,8 @@ switch task
|
||||||
order_var = oo_.dr.order_var;
|
order_var = oo_.dr.order_var;
|
||||||
i_var_obs = [];
|
i_var_obs = [];
|
||||||
trend_coeffs = [];
|
trend_coeffs = [];
|
||||||
for i=1:size(var_obs,1)
|
for i=1:length(var_obs)
|
||||||
tmp = strmatch(var_obs(i,:),endo_names(i_var,:),'exact');
|
tmp = strmatch(var_obs{i},endo_names(i_var,:),'exact');
|
||||||
if ~isempty(tmp)
|
if ~isempty(tmp)
|
||||||
i_var_obs = [ i_var_obs; tmp];
|
i_var_obs = [ i_var_obs; tmp];
|
||||||
trend_coeffs = [trend_coeffs; oo_.Smoother.TrendCoeffs(i)];
|
trend_coeffs = [trend_coeffs; oo_.Smoother.TrendCoeffs(i)];
|
||||||
|
|
|
@ -93,7 +93,7 @@ if nnobs > 1 && horizon > 0
|
||||||
end
|
end
|
||||||
|
|
||||||
endo_names = M_.endo_names;
|
endo_names = M_.endo_names;
|
||||||
n_varobs = size(options_.varobs,1);
|
n_varobs = length(options_.varobs);
|
||||||
|
|
||||||
if isempty(var_list)
|
if isempty(var_list)
|
||||||
var_list = endo_names;
|
var_list = endo_names;
|
||||||
|
@ -116,7 +116,7 @@ if nnobs > 1 && horizon > 0
|
||||||
IdObs = zeros(n_varobs,1);
|
IdObs = zeros(n_varobs,1);
|
||||||
for j=1:n_varobs
|
for j=1:n_varobs
|
||||||
for i=1:nvar
|
for i=1:nvar
|
||||||
iobs = strmatch(options_.varobs(j,:),var_list,'exact');
|
iobs = strmatch(options_.varobs{j},var_list,'exact');
|
||||||
end
|
end
|
||||||
if ~isempty(iobs)
|
if ~isempty(iobs)
|
||||||
IdObs(j,1) = iobs;
|
IdObs(j,1) = iobs;
|
||||||
|
|
|
@ -103,7 +103,7 @@ missing_value = dataset_.missing.state;
|
||||||
% Set number of observations
|
% Set number of observations
|
||||||
gend = options_.nobs;
|
gend = options_.nobs;
|
||||||
% Set the number of observed variables.
|
% Set the number of observed variables.
|
||||||
n_varobs = size(options_.varobs,1);
|
n_varobs = length(options_.varobs);
|
||||||
% Get the number of parameters to be estimated.
|
% Get the number of parameters to be estimated.
|
||||||
nvx = estim_params_.nvx; % Variance of the structural innovations (number of parameters).
|
nvx = estim_params_.nvx; % Variance of the structural innovations (number of parameters).
|
||||||
nvn = estim_params_.nvn; % Variance of the measurement innovations (number of parameters).
|
nvn = estim_params_.nvn; % Variance of the measurement innovations (number of parameters).
|
||||||
|
@ -572,7 +572,7 @@ if any(bayestopt_.pshape > 0) && ~options_.mh_posterior_mode_estimation
|
||||||
disp(tit1)
|
disp(tit1)
|
||||||
ip = nvx+1;
|
ip = nvx+1;
|
||||||
for i=1:nvn
|
for i=1:nvn
|
||||||
name = deblank(options_.varobs(estim_params_.nvn_observable_correspondence(i,1),:));
|
name = options_.varobs{estim_params_.nvn_observable_correspondence(i,1)};
|
||||||
disp(sprintf('%-*s %7.3f %8.4f %7.4f %7.4f %4s %6.4f', ...
|
disp(sprintf('%-*s %7.3f %8.4f %7.4f %7.4f %4s %6.4f', ...
|
||||||
header_width,name,bayestopt_.p1(ip), ...
|
header_width,name,bayestopt_.p1(ip), ...
|
||||||
xparam1(ip),stdh(ip),tstath(ip), ...
|
xparam1(ip),stdh(ip),tstath(ip), ...
|
||||||
|
@ -671,7 +671,7 @@ elseif ~any(bayestopt_.pshape > 0) && ~options_.mh_posterior_mode_estimation
|
||||||
disp(tit1)
|
disp(tit1)
|
||||||
ip = nvx+1;
|
ip = nvx+1;
|
||||||
for i=1:nvn
|
for i=1:nvn
|
||||||
name = deblank(options_.varobs(estim_params_.nvn_observable_correspondence(i,1),:));
|
name = options_.varobs{estim_params_.nvn_observable_correspondence(i,1)};
|
||||||
disp(sprintf('%-*s %8.4f %7.4f %7.4f',header_width,name,xparam1(ip),stdh(ip),tstath(ip)))
|
disp(sprintf('%-*s %8.4f %7.4f %7.4f',header_width,name,xparam1(ip),stdh(ip),tstath(ip)))
|
||||||
eval(['oo_.mle_mode.measurement_errors_std.' name ' = xparam1(ip);']);
|
eval(['oo_.mle_mode.measurement_errors_std.' name ' = xparam1(ip);']);
|
||||||
eval(['oo_.mle_std.measurement_errors_std.' name ' = stdh(ip);']);
|
eval(['oo_.mle_std.measurement_errors_std.' name ' = stdh(ip);']);
|
||||||
|
@ -817,7 +817,7 @@ if any(bayestopt_.pshape > 0) && options_.TeX %% Bayesian estimation (posterior
|
||||||
fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
|
fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
|
||||||
ip = nvx+1;
|
ip = nvx+1;
|
||||||
for i=1:nvn
|
for i=1:nvn
|
||||||
idx = strmatch(options_.varobs(estim_params_.nvn_observable_correspondence(i,1),:),M_.endo_names);
|
idx = strmatch(options_.varobs{estim_params_.nvn_observable_correspondence(i,1)},M_.endo_names);
|
||||||
fprintf(fidTeX,'$%s$ & %4s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n',...
|
fprintf(fidTeX,'$%s$ & %4s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n',...
|
||||||
deblank(M_.endo_names_tex(idx,:)), ...
|
deblank(M_.endo_names_tex(idx,:)), ...
|
||||||
deblank(pnames(bayestopt_.pshape(ip)+1,:)), ...
|
deblank(pnames(bayestopt_.pshape(ip)+1,:)), ...
|
||||||
|
@ -1106,8 +1106,7 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
|
||||||
number_of_plots_to_draw = number_of_plots_to_draw + 1;
|
number_of_plots_to_draw = number_of_plots_to_draw + 1;
|
||||||
index = cat(1,index,i);
|
index = cat(1,index,i);
|
||||||
end
|
end
|
||||||
eval(['oo_.SmoothedMeasurementErrors.' deblank(options_.varobs(i,:)) ...
|
eval(['oo_.SmoothedMeasurementErrors.' options_.varobs{i} ' = measurement_error(i,:)'';']);
|
||||||
' = measurement_error(i,:)'';']);
|
|
||||||
end
|
end
|
||||||
if ~options_.nograph
|
if ~options_.nograph
|
||||||
[nbplt,nr,nc,lr,lc,nstar] = pltorg(number_of_plots_to_draw);
|
[nbplt,nr,nc,lr,lc,nstar] = pltorg(number_of_plots_to_draw);
|
||||||
|
@ -1129,7 +1128,7 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
|
||||||
hold on
|
hold on
|
||||||
plot(1:gend,measurement_error(index(k),:),'-k','linewidth',1)
|
plot(1:gend,measurement_error(index(k),:),'-k','linewidth',1)
|
||||||
hold off
|
hold off
|
||||||
name = deblank(options_.varobs(index(k),:));
|
name = options_.varobs{index(k)};
|
||||||
xlim([1 gend])
|
xlim([1 gend])
|
||||||
if isempty(NAMES)
|
if isempty(NAMES)
|
||||||
NAMES = name;
|
NAMES = name;
|
||||||
|
@ -1141,7 +1140,7 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
|
||||||
set(gca,'XTickLabel',options_.XTickLabel)
|
set(gca,'XTickLabel',options_.XTickLabel)
|
||||||
end
|
end
|
||||||
if options_.TeX
|
if options_.TeX
|
||||||
idx = strmatch(options_.varobs(index(k),:),M_.endo_names,'exact');
|
idx = strmatch(options_.varobs{index(k)},M_.endo_names,'exact');
|
||||||
texname = M_.endo_names_tex(idx,:);
|
texname = M_.endo_names_tex(idx,:);
|
||||||
if isempty(TeXNAMES)
|
if isempty(TeXNAMES)
|
||||||
TeXNAMES = ['$ ' deblank(texname) ' $'];
|
TeXNAMES = ['$ ' deblank(texname) ' $'];
|
||||||
|
@ -1195,7 +1194,7 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
|
||||||
hold on
|
hold on
|
||||||
plot(1:gend,rawdata(:,k),'--k','linewidth',1)
|
plot(1:gend,rawdata(:,k),'--k','linewidth',1)
|
||||||
hold off
|
hold off
|
||||||
name = deblank(options_.varobs(k,:));
|
name = options_.varobs{k};
|
||||||
if isempty(NAMES)
|
if isempty(NAMES)
|
||||||
NAMES = name;
|
NAMES = name;
|
||||||
else
|
else
|
||||||
|
@ -1207,7 +1206,7 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
|
||||||
end
|
end
|
||||||
xlim([1 gend])
|
xlim([1 gend])
|
||||||
if options_.TeX
|
if options_.TeX
|
||||||
idx = strmatch(options_.varobs(k,:),M_.endo_names,'exact');
|
idx = strmatch(options_.varobs{k},M_.endo_names,'exact');
|
||||||
texname = M_.endo_names_tex(idx,:);
|
texname = M_.endo_names_tex(idx,:);
|
||||||
if isempty(TeXNAMES)
|
if isempty(TeXNAMES)
|
||||||
TeXNAMES = ['$ ' deblank(texname) ' $'];
|
TeXNAMES = ['$ ' deblank(texname) ' $'];
|
||||||
|
|
|
@ -116,7 +116,7 @@ else
|
||||||
end
|
end
|
||||||
|
|
||||||
% Set the number of observed variables.
|
% Set the number of observed variables.
|
||||||
n_varobs = size(options_.varobs,1);
|
n_varobs = length(options_.varobs);
|
||||||
|
|
||||||
% Set priors over the estimated parameters.
|
% Set priors over the estimated parameters.
|
||||||
if ~isempty(estim_params_)
|
if ~isempty(estim_params_)
|
||||||
|
@ -223,8 +223,8 @@ end
|
||||||
var_obs_index = [];
|
var_obs_index = [];
|
||||||
k1 = [];
|
k1 = [];
|
||||||
for i=1:n_varobs
|
for i=1:n_varobs
|
||||||
var_obs_index = [var_obs_index; strmatch(deblank(options_.varobs(i,:)),M_.endo_names(dr.order_var,:),'exact')];
|
var_obs_index = [var_obs_index; strmatch(options_.varobs{i},M_.endo_names(dr.order_var,:),'exact')];
|
||||||
k1 = [k1; strmatch(deblank(options_.varobs(i,:)),M_.endo_names, 'exact')];
|
k1 = [k1; strmatch(options_.varobs{i},M_.endo_names, 'exact')];
|
||||||
end
|
end
|
||||||
|
|
||||||
% Define union of observed and state variables
|
% Define union of observed and state variables
|
||||||
|
|
|
@ -132,7 +132,7 @@ options_.smoother=1;
|
||||||
options_ident.analytic_derivation_mode = options_.analytic_derivation_mode;
|
options_ident.analytic_derivation_mode = options_.analytic_derivation_mode;
|
||||||
if isempty(dataset_),
|
if isempty(dataset_),
|
||||||
dataset_.info.ntobs = periods;
|
dataset_.info.ntobs = periods;
|
||||||
dataset_.info.nvobs = rows(options_.varobs);
|
dataset_.info.nvobs = length(options_.varobs);
|
||||||
dataset_.info.varobs = options_.varobs;
|
dataset_.info.varobs = options_.varobs;
|
||||||
dataset_.rawdata = [];
|
dataset_.rawdata = [];
|
||||||
dataset_.missing.state = 0;
|
dataset_.missing.state = 0;
|
||||||
|
@ -145,17 +145,8 @@ if isempty(dataset_),
|
||||||
dataset_.missing.no_more_missing_observations = 1;
|
dataset_.missing.no_more_missing_observations = 1;
|
||||||
dataset_.descriptive.mean = [];
|
dataset_.descriptive.mean = [];
|
||||||
dataset_.data = [];
|
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_);
|
|
||||||
|
|
||||||
if prior_exist
|
if prior_exist
|
||||||
if any(bayestopt_.pshape > 0)
|
if any(bayestopt_.pshape > 0)
|
||||||
if options_ident.prior_range
|
if options_ident.prior_range
|
||||||
|
|
|
@ -400,9 +400,9 @@ if options_gsa.glue,
|
||||||
Obs.data = data;
|
Obs.data = data;
|
||||||
Obs.time = [1:gend];
|
Obs.time = [1:gend];
|
||||||
Obs.num = gend;
|
Obs.num = gend;
|
||||||
for j=1:size(options_.varobs,1)
|
for j=1:length(options_.varobs)
|
||||||
Obs.name{j} = deblank(options_.varobs(j,:));
|
Obs.name{j} = options_.varobs{j};
|
||||||
vj=deblank(options_.varobs(j,:));
|
vj = options_.varobs{j};
|
||||||
|
|
||||||
jxj = strmatch(vj,lgy_(dr_.order_var,:),'exact');
|
jxj = strmatch(vj,lgy_(dr_.order_var,:),'exact');
|
||||||
js = strmatch(vj,lgy_,'exact');
|
js = strmatch(vj,lgy_,'exact');
|
||||||
|
@ -440,7 +440,7 @@ if options_gsa.glue,
|
||||||
ismoo(j)=jxj;
|
ismoo(j)=jxj;
|
||||||
|
|
||||||
end
|
end
|
||||||
jsmoo = size(options_.varobs,1);
|
jsmoo = length(options_.varobs);
|
||||||
for j=1:M_.endo_nbr,
|
for j=1:M_.endo_nbr,
|
||||||
if ~ismember(j,ismoo),
|
if ~ismember(j,ismoo),
|
||||||
jsmoo=jsmoo+1;
|
jsmoo=jsmoo+1;
|
||||||
|
@ -465,10 +465,10 @@ if options_gsa.glue,
|
||||||
Exo(j).name = deblank(tit(j,:));
|
Exo(j).name = deblank(tit(j,:));
|
||||||
end
|
end
|
||||||
if ~options_gsa.ppost
|
if ~options_gsa.ppost
|
||||||
Lik(size(options_.varobs,1)+1).name = 'logpo';
|
Lik(length(options_.varobs)+1).name = 'logpo';
|
||||||
Lik(size(options_.varobs,1)+1).ini = 'yes';
|
Lik(length(options_.varobs)+1).ini = 'yes';
|
||||||
Lik(size(options_.varobs,1)+1).isam = 1;
|
Lik(length(options_.varobs)+1).isam = 1;
|
||||||
Lik(size(options_.varobs,1)+1).data = -logpo2;
|
Lik(length(options_.varobs)+1).data = -logpo2;
|
||||||
end
|
end
|
||||||
Sam.name = bayestopt_.name;
|
Sam.name = bayestopt_.name;
|
||||||
Sam.dim = [size(x) 0];
|
Sam.dim = [size(x) 0];
|
||||||
|
|
|
@ -24,10 +24,6 @@ nr = 3;
|
||||||
exo_nbr = M_.exo_nbr;
|
exo_nbr = M_.exo_nbr;
|
||||||
endo_names = M_.endo_names;
|
endo_names = M_.endo_names;
|
||||||
fname = M_.fname;
|
fname = M_.fname;
|
||||||
% $$$ varobs = options_.varobs;
|
|
||||||
% $$$ y = oo_.SmoothedVariables;
|
|
||||||
% $$$ ys = oo_.dr.ys;
|
|
||||||
% $$$ gend = size(y,2);
|
|
||||||
yf = oo_.forecast.Mean;
|
yf = oo_.forecast.Mean;
|
||||||
hpdinf = oo_.forecast.HPDinf;
|
hpdinf = oo_.forecast.HPDinf;
|
||||||
hpdsup = oo_.forecast.HPDsup;
|
hpdsup = oo_.forecast.HPDsup;
|
||||||
|
@ -44,13 +40,6 @@ for i = 1:size(var_list)
|
||||||
end
|
end
|
||||||
nvar = length(i_var);
|
nvar = length(i_var);
|
||||||
|
|
||||||
% $$$ % build trend for smoothed variables if necessary
|
|
||||||
% $$$ trend = zeros(size(varobs,1),10);
|
|
||||||
% $$$ if isfield(oo_.Smoother,'TrendCoeffs')
|
|
||||||
% $$$ trend_coeffs = oo_.Smoother.TrendCoeffs;
|
|
||||||
% $$$ trend = trend_coeffs*(gend-9:gend);
|
|
||||||
% $$$ end
|
|
||||||
|
|
||||||
% create subdirectory <fname>/graphs if id doesn't exist
|
% create subdirectory <fname>/graphs if id doesn't exist
|
||||||
if ~exist(fname, 'dir')
|
if ~exist(fname, 'dir')
|
||||||
mkdir('.',fname);
|
mkdir('.',fname);
|
||||||
|
|
|
@ -50,7 +50,7 @@ end
|
||||||
|
|
||||||
for i=1:nvn
|
for i=1:nvn
|
||||||
k1 = estim_params_.nvn_observable_correspondence(i,1);
|
k1 = estim_params_.nvn_observable_correspondence(i,1);
|
||||||
name1 = deblank(options_.varobs(k1,:));
|
name1 = options_.varobs{k1};
|
||||||
xparam(m) = eval(['oo_.posterior_' type '.measurement_errors_std.' name1]);
|
xparam(m) = eval(['oo_.posterior_' type '.measurement_errors_std.' name1]);
|
||||||
m = m+1;
|
m = m+1;
|
||||||
end
|
end
|
||||||
|
@ -69,8 +69,8 @@ end
|
||||||
for i=1:ncn
|
for i=1:ncn
|
||||||
k1 = estim_params_.corrn_observable_correspondence(i,1);
|
k1 = estim_params_.corrn_observable_correspondence(i,1);
|
||||||
k2 = estim_params_.corrn_observable_correspondence(i,2);
|
k2 = estim_params_.corrn_observable_correspondence(i,2);
|
||||||
name1 = deblank(options_.varobs(k1,:));
|
name1 = options_.varobs{k1};
|
||||||
name2 = deblank(options_.varobs(k2,:));
|
name2 = options_.varobs{k2};
|
||||||
xparam(m) = eval(['oo_.posterior_' type '.measurement_errors_corr.' name1 '_' name2]);
|
xparam(m) = eval(['oo_.posterior_' type '.measurement_errors_corr.' name1 '_' name2]);
|
||||||
m = m+1;
|
m = m+1;
|
||||||
end
|
end
|
||||||
|
|
|
@ -73,7 +73,7 @@ if k <= nvx
|
||||||
texnam = ['$ SE_{' tname '} $'];
|
texnam = ['$ SE_{' tname '} $'];
|
||||||
end
|
end
|
||||||
elseif k <= (nvx+nvn)
|
elseif k <= (nvx+nvn)
|
||||||
vname = deblank(options_.varobs(estim_params_.nvn_observable_correspondence(k-estim_params_.nvx,1),:));
|
vname = options_.varobs{estim_params_.nvn_observable_correspondence(k-estim_params_.nvx,1)};
|
||||||
nam=['SE_EOBS_',vname];
|
nam=['SE_EOBS_',vname];
|
||||||
if TeX
|
if TeX
|
||||||
tname = deblank(M_.endo_names_tex(estim_params_.var_endo(k-estim_params_.nvx,1),:));
|
tname = deblank(M_.endo_names_tex(estim_params_.var_endo(k-estim_params_.nvx,1),:));
|
||||||
|
|
|
@ -35,7 +35,7 @@ function [ivar,vartan,options_] = get_variables_list(options_,M_)
|
||||||
|
|
||||||
varlist = options_.varlist;
|
varlist = options_.varlist;
|
||||||
if isempty(varlist)
|
if isempty(varlist)
|
||||||
varlist = options_.varobs;
|
varlist = char(options_.varobs);
|
||||||
options_.varlist = varlist;
|
options_.varlist = varlist;
|
||||||
end
|
end
|
||||||
nvar = rows(varlist);
|
nvar = rows(varlist);
|
||||||
|
|
|
@ -140,7 +140,7 @@ if info(1)==0,
|
||||||
end
|
end
|
||||||
analytic_derivation = options_.analytic_derivation;
|
analytic_derivation = options_.analytic_derivation;
|
||||||
options_.analytic_derivation = -2;
|
options_.analytic_derivation = -2;
|
||||||
info = stoch_simul(options_.varobs);
|
info = stoch_simul(char(options_.varobs));
|
||||||
data_info.data=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;
|
||||||
|
|
|
@ -58,7 +58,7 @@ naK = length(options_.filter_step_ahead);
|
||||||
MaxNumberOfBytes=options_.MaxNumberOfBytes;
|
MaxNumberOfBytes=options_.MaxNumberOfBytes;
|
||||||
endo_nbr=M_.endo_nbr;
|
endo_nbr=M_.endo_nbr;
|
||||||
exo_nbr=M_.exo_nbr;
|
exo_nbr=M_.exo_nbr;
|
||||||
nvobs = size(options_.varobs,1);
|
nvobs = length(options_.varobs);
|
||||||
iendo = 1:endo_nbr;
|
iendo = 1:endo_nbr;
|
||||||
horizon = options_.forecast;
|
horizon = options_.forecast;
|
||||||
% moments_varendo = options_.moments_varendo;
|
% moments_varendo = options_.moments_varendo;
|
||||||
|
@ -114,9 +114,9 @@ end
|
||||||
MAX_nruns = min(B,ceil(MaxNumberOfBytes/(npar+2)/8));
|
MAX_nruns = min(B,ceil(MaxNumberOfBytes/(npar+2)/8));
|
||||||
MAX_nsmoo = min(B,ceil(MaxNumberOfBytes/((endo_nbr)*gend)/8));
|
MAX_nsmoo = min(B,ceil(MaxNumberOfBytes/((endo_nbr)*gend)/8));
|
||||||
MAX_ninno = min(B,ceil(MaxNumberOfBytes/(exo_nbr*gend)/8));
|
MAX_ninno = min(B,ceil(MaxNumberOfBytes/(exo_nbr*gend)/8));
|
||||||
MAX_nerro = min(B,ceil(MaxNumberOfBytes/(size(options_.varobs,1)*gend)/8));
|
MAX_nerro = min(B,ceil(MaxNumberOfBytes/(length(options_.varobs)*gend)/8));
|
||||||
if naK
|
if naK
|
||||||
MAX_naK = min(B,ceil(MaxNumberOfBytes/(size(options_.varobs,1)* ...
|
MAX_naK = min(B,ceil(MaxNumberOfBytes/(length(options_.varobs)* ...
|
||||||
length(options_.filter_step_ahead)*gend)/8));
|
length(options_.filter_step_ahead)*gend)/8));
|
||||||
end
|
end
|
||||||
if horizon
|
if horizon
|
||||||
|
|
|
@ -42,7 +42,7 @@ if ~isempty(directory)
|
||||||
end
|
end
|
||||||
|
|
||||||
dyn_size_01 = size(dyn_data_01,1);
|
dyn_size_01 = size(dyn_data_01,1);
|
||||||
var_size_01 = size(var_names_01,1);
|
var_size_01 = length(var_names_01);
|
||||||
|
|
||||||
% Auto-detect extension if not provided
|
% Auto-detect extension if not provided
|
||||||
if isempty(extension)
|
if isempty(extension)
|
||||||
|
@ -71,7 +71,7 @@ switch (extension)
|
||||||
case '.m'
|
case '.m'
|
||||||
eval(basename);
|
eval(basename);
|
||||||
for dyn_i_01=1:var_size_01
|
for dyn_i_01=1:var_size_01
|
||||||
dyn_tmp_01 = eval(var_names_01(dyn_i_01,:));
|
dyn_tmp_01 = eval(var_names_01{dyn_i_01});
|
||||||
if length(dyn_tmp_01) > dyn_size_01 && dyn_size_01 > 0
|
if length(dyn_tmp_01) > dyn_size_01 && dyn_size_01 > 0
|
||||||
cd(old_pwd)
|
cd(old_pwd)
|
||||||
error('data size is too large')
|
error('data size is too large')
|
||||||
|
@ -81,7 +81,7 @@ switch (extension)
|
||||||
case '.mat'
|
case '.mat'
|
||||||
s = load(basename);
|
s = load(basename);
|
||||||
for dyn_i_01=1:var_size_01
|
for dyn_i_01=1:var_size_01
|
||||||
dyn_tmp_01 = s.(deblank(var_names_01(dyn_i_01,:)));
|
dyn_tmp_01 = s.(var_names_01{dyn_i_01});
|
||||||
if length(dyn_tmp_01) > dyn_size_01 && dyn_size_01 > 0
|
if length(dyn_tmp_01) > dyn_size_01 && dyn_size_01 > 0
|
||||||
cd(old_pwd)
|
cd(old_pwd)
|
||||||
error('data size is too large')
|
error('data size is too large')
|
||||||
|
@ -96,7 +96,7 @@ switch (extension)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
for dyn_i_01=1:var_size_01
|
for dyn_i_01=1:var_size_01
|
||||||
iv = strmatch(var_names_01(dyn_i_01,:),raw(1,:),'exact');
|
iv = strmatch(var_names_01{dyn_i_01},raw(1,:),'exact');
|
||||||
dyn_tmp_01 = [raw{2:end,iv}]';
|
dyn_tmp_01 = [raw{2:end,iv}]';
|
||||||
if length(dyn_tmp_01) > dyn_size_01 && dyn_size_01 > 0
|
if length(dyn_tmp_01) > dyn_size_01 && dyn_size_01 > 0
|
||||||
cd(old_pwd)
|
cd(old_pwd)
|
||||||
|
@ -106,9 +106,8 @@ switch (extension)
|
||||||
end
|
end
|
||||||
case '.csv'
|
case '.csv'
|
||||||
[freq,init,data,varlist] = load_csv_file_data(fullname);
|
[freq,init,data,varlist] = load_csv_file_data(fullname);
|
||||||
%var_names_01 = deblank(var_names_01);
|
|
||||||
for dyn_i_01=1:var_size_01
|
for dyn_i_01=1:var_size_01
|
||||||
iv = strmatch(strtrim(var_names_01(dyn_i_01,:)),varlist,'exact');
|
iv = strmatch(var_names_01{dyn_i_01},varlist,'exact');
|
||||||
if ~isempty(iv)
|
if ~isempty(iv)
|
||||||
dyn_tmp_01 = [data(2:end,iv)]';
|
dyn_tmp_01 = [data(2:end,iv)]';
|
||||||
if length(dyn_tmp_01) > dyn_size_01 && dyn_size_01 > 0
|
if length(dyn_tmp_01) > dyn_size_01 && dyn_size_01 > 0
|
||||||
|
@ -118,7 +117,7 @@ switch (extension)
|
||||||
dyn_data_01(:,dyn_i_01) = dyn_tmp_01;
|
dyn_data_01(:,dyn_i_01) = dyn_tmp_01;
|
||||||
else
|
else
|
||||||
cd(old_pwd)
|
cd(old_pwd)
|
||||||
error([strtrim(var_names_01(dyn_i_01,:)) ' not found in ' fullname])
|
error([var_names_01{dyn_i_01} ' not found in ' fullname])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
otherwise
|
otherwise
|
||||||
|
|
|
@ -76,11 +76,11 @@ end
|
||||||
if nvn
|
if nvn
|
||||||
estim_params_.nvn_observable_correspondence=NaN(nvn,1); % stores number of corresponding observable
|
estim_params_.nvn_observable_correspondence=NaN(nvn,1); % stores number of corresponding observable
|
||||||
if isequal(M_.H,0)
|
if isequal(M_.H,0)
|
||||||
nvarobs = size(options_.varobs,1);
|
nvarobs = length(options_.varobs);
|
||||||
M_.H = zeros(nvarobs,nvarobs);
|
M_.H = zeros(nvarobs,nvarobs);
|
||||||
end
|
end
|
||||||
for i=1:nvn
|
for i=1:nvn
|
||||||
obsi_ = strmatch(deblank(M_.endo_names(estim_params_.var_endo(i,1),:)),deblank(options_.varobs),'exact');
|
obsi_ = strmatch(deblank(M_.endo_names(estim_params_.var_endo(i,1),:)),options_.varobs,'exact');
|
||||||
if isempty(obsi_)
|
if isempty(obsi_)
|
||||||
error(['The variable ' deblank(M_.endo_names(estim_params_.var_endo(i,1),:)) ' has to be declared as observable since you assume a measurement error on it.'])
|
error(['The variable ' deblank(M_.endo_names(estim_params_.var_endo(i,1),:)) ' has to be declared as observable since you assume a measurement error on it.'])
|
||||||
end
|
end
|
||||||
|
@ -95,7 +95,7 @@ if nvn
|
||||||
bayestopt_.p3 = [ bayestopt_.p3; estim_params_.var_endo(:,8)];
|
bayestopt_.p3 = [ bayestopt_.p3; estim_params_.var_endo(:,8)];
|
||||||
bayestopt_.p4 = [ bayestopt_.p4; estim_params_.var_endo(:,9)];
|
bayestopt_.p4 = [ bayestopt_.p4; estim_params_.var_endo(:,9)];
|
||||||
bayestopt_.jscale = [ bayestopt_.jscale; estim_params_.var_endo(:,10)];
|
bayestopt_.jscale = [ bayestopt_.jscale; estim_params_.var_endo(:,10)];
|
||||||
bayestopt_.name = [ bayestopt_.name; cellstr(options_.varobs(estim_params_.nvn_observable_correspondence,:))];
|
bayestopt_.name = [ bayestopt_.name; options_.varobs{estim_params_.nvn_observable_correspondence}];
|
||||||
end
|
end
|
||||||
if ncx
|
if ncx
|
||||||
xparam1 = [xparam1; estim_params_.corrx(:,3)];
|
xparam1 = [xparam1; estim_params_.corrx(:,3)];
|
||||||
|
@ -114,7 +114,7 @@ end
|
||||||
if ncn
|
if ncn
|
||||||
estim_params_.corrn_observable_correspondence=NaN(ncn,2);
|
estim_params_.corrn_observable_correspondence=NaN(ncn,2);
|
||||||
if isequal(M_.H,0)
|
if isequal(M_.H,0)
|
||||||
nvarobs = size(options_.varobs,1);
|
nvarobs = length(options_.varobs);
|
||||||
M_.H = zeros(nvarobs,nvarobs);
|
M_.H = zeros(nvarobs,nvarobs);
|
||||||
end
|
end
|
||||||
xparam1 = [xparam1; estim_params_.corrn(:,3)];
|
xparam1 = [xparam1; estim_params_.corrn(:,3)];
|
||||||
|
@ -132,8 +132,8 @@ if ncn
|
||||||
for i=1:ncn
|
for i=1:ncn
|
||||||
k1 = estim_params_.corrn(i,1);
|
k1 = estim_params_.corrn(i,1);
|
||||||
k2 = estim_params_.corrn(i,2);
|
k2 = estim_params_.corrn(i,2);
|
||||||
obsi1 = strmatch(deblank(M_.endo_names(k1,:)),deblank(options_.varobs),'exact'); %find correspondence to varobs to construct H in set_all_paramters
|
obsi1 = strmatch(deblank(M_.endo_names(k1,:)),options_.varobs,'exact'); %find correspondence to varobs to construct H in set_all_paramters
|
||||||
obsi2 = strmatch(deblank(M_.endo_names(k2,:)),deblank(options_.varobs),'exact');
|
obsi2 = strmatch(deblank(M_.endo_names(k2,:)),options_.varobs,'exact');
|
||||||
estim_params_.corrn_observable_correspondence(i,:)=[obsi1,obsi2]; %save correspondence
|
estim_params_.corrn_observable_correspondence(i,:)=[obsi1,obsi2]; %save correspondence
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -30,7 +30,7 @@ for j=1:replic;
|
||||||
options_.noprint = 1;
|
options_.noprint = 1;
|
||||||
options_.order = 1;
|
options_.order = 1;
|
||||||
options_.periods = periods;
|
options_.periods = periods;
|
||||||
info = stoch_simul(options_.varobs);
|
info = stoch_simul(char(options_.varobs));
|
||||||
dum=[oo_.mean; dyn_vech(oo_.var)];
|
dum=[oo_.mean; dyn_vech(oo_.var)];
|
||||||
sd = sqrt(diag(oo_.var));
|
sd = sqrt(diag(oo_.var));
|
||||||
for i=1:options_.ar;
|
for i=1:options_.ar;
|
||||||
|
|
|
@ -102,7 +102,7 @@ if ~options_.noprint
|
||||||
disp(' ')
|
disp(' ')
|
||||||
|
|
||||||
if isfield(options_,'varobs')&& ~isempty(options_.varobs)
|
if isfield(options_,'varobs')&& ~isempty(options_.varobs)
|
||||||
PCL_varobs=options_.varobs;
|
PCL_varobs=char(options_.varobs);
|
||||||
disp('OBSERVED VARIABLES')
|
disp('OBSERVED VARIABLES')
|
||||||
else
|
else
|
||||||
PCL_varobs=M_.endo_names;
|
PCL_varobs=M_.endo_names;
|
||||||
|
|
|
@ -20,8 +20,6 @@ function jndx = subset()
|
||||||
global options_ estim_params_ M_
|
global options_ estim_params_ M_
|
||||||
|
|
||||||
ExcludedParamNames = options_.ExcludedParams;
|
ExcludedParamNames = options_.ExcludedParams;
|
||||||
VarObs = options_.varobs;
|
|
||||||
VarExo = M_.exo_names;
|
|
||||||
info = options_.ParamSubSet;
|
info = options_.ParamSubSet;
|
||||||
|
|
||||||
nvx = estim_params_.nvx;
|
nvx = estim_params_.nvx;
|
||||||
|
|
|
@ -43,7 +43,7 @@ end
|
||||||
|
|
||||||
% Fill the dataset structure
|
% Fill the dataset structure
|
||||||
dataset_.info.ntobs = nobs;
|
dataset_.info.ntobs = nobs;
|
||||||
dataset_.info.nvobs = rows(varobs);
|
dataset_.info.nvobs = length(varobs);
|
||||||
dataset_.info.varobs = varobs;
|
dataset_.info.varobs = varobs;
|
||||||
|
|
||||||
% Test the number of variables in the database.
|
% Test the number of variables in the database.
|
||||||
|
|
|
@ -75,7 +75,7 @@ YtX = [];
|
||||||
XtY = [];
|
XtY = [];
|
||||||
XtX = [];
|
XtX = [];
|
||||||
|
|
||||||
data = read_variables(datafile,varobs,[],xls_sheet,xls_range);
|
data = read_variables(datafile,char(varobs),[],xls_sheet,xls_range);
|
||||||
|
|
||||||
if qlag > FirstObservation
|
if qlag > FirstObservation
|
||||||
disp('VarSampleMoments :: not enough data to initialize! Try to increase FirstObservation.')
|
disp('VarSampleMoments :: not enough data to initialize! Try to increase FirstObservation.')
|
||||||
|
@ -83,7 +83,7 @@ if qlag > FirstObservation
|
||||||
end
|
end
|
||||||
|
|
||||||
NumberOfObservations = LastObservation-FirstObservation+1;% This is T.
|
NumberOfObservations = LastObservation-FirstObservation+1;% This is T.
|
||||||
NumberOfVariables = size(varobs,1);% This is m.
|
NumberOfVariables = length(varobs);% This is m.
|
||||||
if var_trend_order == -1% No constant no linear trend case.
|
if var_trend_order == -1% No constant no linear trend case.
|
||||||
X = zeros(NumberOfObservations,NumberOfVariables*qlag);
|
X = zeros(NumberOfObservations,NumberOfVariables*qlag);
|
||||||
elseif var_trend_order == 0% Constant and no linear trend case.
|
elseif var_trend_order == 0% Constant and no linear trend case.
|
||||||
|
|
Loading…
Reference in New Issue