posterior option in SA
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@709 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
91fa502406
commit
3476711051
|
@ -14,6 +14,7 @@ options_gsa_ = options_.opt_gsa;
|
|||
options_gsa_ = set_default_option(options_gsa_,'stab',1);
|
||||
options_gsa_ = set_default_option(options_gsa_,'redform',0);
|
||||
options_gsa_ = set_default_option(options_gsa_,'pprior',1);
|
||||
options_gsa_ = set_default_option(options_gsa_,'ppost',0);
|
||||
options_gsa_ = set_default_option(options_gsa_,'ilptau',1);
|
||||
options_gsa_ = set_default_option(options_gsa_,'Nsam',2048);
|
||||
options_gsa_ = set_default_option(options_gsa_,'load_stab',0);
|
||||
|
@ -65,11 +66,16 @@ end
|
|||
options_gsa_ = set_default_option(options_gsa_,'glue',0);
|
||||
if options_gsa_.glue,
|
||||
dr_ = oo_.dr;
|
||||
if options_gsa_.ppost
|
||||
load([fname_,'_post']);
|
||||
DirectoryName = CheckPath('metropolis');
|
||||
else
|
||||
if options_gsa_.pprior
|
||||
load([fname_,'_prior']);
|
||||
else
|
||||
load([fname_,'_mc']);
|
||||
end
|
||||
end
|
||||
nruns=size(x,1);
|
||||
gend = options_.nobs;
|
||||
rawdata = read_variables(options_.datafile,options_.varobs,[],options_.xls_sheet,options_.xls_range);
|
||||
|
@ -92,25 +98,65 @@ if options_gsa_.glue,
|
|||
|
||||
jxj = strmatch(vj,lgy_(dr_.order_var,:),'exact');
|
||||
js = strmatch(vj,lgy_,'exact');
|
||||
if ~options_gsa_.ppost
|
||||
y0=zeros(gend+1,nruns);
|
||||
nb = size(stock_filter,3);
|
||||
y0 = squeeze(stock_filter(:,jxj,:)) + ...
|
||||
kron(stock_ys(js,:),ones(size(stock_filter,1),1));
|
||||
Out(j).data = y0';
|
||||
Out(j).time = [1:size(y0,1)];
|
||||
else
|
||||
Out(j).data = jxj;
|
||||
Out(j).time = [pwd,'\',DirectoryName];
|
||||
end
|
||||
Out(j).name = vj;
|
||||
Out(j).ini = 'yes';
|
||||
Out(j).time = [1:size(y0,1)];
|
||||
Out(j).data = y0';
|
||||
Lik(j).name = ['rmse_',vj];
|
||||
Lik(j).ini = 'yes';
|
||||
Lik(j).isam = 1;
|
||||
Lik(j).data = rmse_MC(:,j)';
|
||||
end
|
||||
|
||||
if ~options_gsa_.ppost
|
||||
y0 = squeeze(stock_smooth(:,jxj,:)) + ...
|
||||
kron(stock_ys(js,:),ones(size(stock_smooth,1),1));
|
||||
Out1(j).name = vj;
|
||||
Out1(j).ini = 'yes';
|
||||
Out1(j).time = [1:size(y0,1)];
|
||||
Out1(j).data = y0';
|
||||
else
|
||||
Out1=Out;
|
||||
end
|
||||
ismoo(j)=jxj;
|
||||
|
||||
end
|
||||
jsmoo = size(options_.varobs,1);
|
||||
for j=1:M_.endo_nbr,
|
||||
if ~ismember(j,ismoo),
|
||||
jsmoo=jsmoo+1;
|
||||
vj=deblank(M_.endo_names(dr_.order_var(j),:));
|
||||
if ~options_gsa_.ppost
|
||||
y0 = squeeze(stock_smooth(:,j,:)) + ...
|
||||
kron(stock_ys(j,:),ones(size(stock_smooth,1),1));
|
||||
Out1(jsmoo).time = [1:size(y0,1)];
|
||||
Out1(jsmoo).data = y0';
|
||||
else
|
||||
Out1(jsmoo).data = j;
|
||||
Out1(jsmoo).time = [pwd,'\',DirectoryName];
|
||||
end
|
||||
Out1(jsmoo).name = vj;
|
||||
Out1(jsmoo).ini = 'yes';
|
||||
end
|
||||
end
|
||||
tit(M_.exo_names_orig_ord,:) = M_.exo_names;
|
||||
for j=1:M_.exo_nbr,
|
||||
Exo(j).name = deblank(tit(j,:));
|
||||
end
|
||||
if ~options_gsa_.ppost
|
||||
Lik(size(options_.varobs,1)+1).name = 'logpo';
|
||||
Lik(size(options_.varobs,1)+1).ini = 'yes';
|
||||
Lik(size(options_.varobs,1)+1).isam = 1;
|
||||
Lik(size(options_.varobs,1)+1).data = -logpo2;
|
||||
|
||||
end
|
||||
Sam.name = bayestopt_.name;
|
||||
Sam.dim = [size(x) 0];
|
||||
Sam.data = [x];
|
||||
|
@ -118,6 +164,22 @@ if options_gsa_.glue,
|
|||
Rem.id = 'Original';
|
||||
Rem.ind= [1:size(x,1)];
|
||||
|
||||
save([fname_,'_glue'], 'Out', 'Sam', 'Lik', 'Obs', 'Rem')
|
||||
if options_gsa_.ppost
|
||||
Info.dynare=M_.fname;
|
||||
Out=Out1;
|
||||
save([fname_,'_post_glue'], 'Out', 'Sam', 'Lik', 'Obs', 'Rem','Info', 'Exo')
|
||||
%save([fname_,'_post_glue_smooth'], 'Out', 'Sam', 'Lik', 'Obs', 'Rem','Info')
|
||||
|
||||
else
|
||||
if options_gsa_.pprior
|
||||
save([fname_,'_prior_glue'], 'Out', 'Sam', 'Lik', 'Obs', 'Rem')
|
||||
Out=Out1;
|
||||
save([fname_,'_prior_glue_smooth'], 'Out', 'Sam', 'Lik', 'Obs', 'Rem')
|
||||
else
|
||||
save([fname_,'_mc_glue'], 'Out', 'Sam', 'Lik', 'Obs', 'Rem')
|
||||
Out=Out1;
|
||||
save([fname_,'_mc_glue_smooth'], 'Out', 'Sam', 'Lik', 'Obs', 'Rem')
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue