redo code for recursive estimation
corrected bugs with option prefilter, bayestopt_.mean_varobs is now a column vector git-svn-id: https://www.dynare.org/svn/dynare/trunk@2369 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
e98844dc61
commit
d5a1a025d9
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -238,8 +238,8 @@ if options_.loglinear == 1 & ~options_.logdata
|
||||||
rawdata = log(rawdata);
|
rawdata = log(rawdata);
|
||||||
end
|
end
|
||||||
if options_.prefilter == 1
|
if options_.prefilter == 1
|
||||||
bayestopt_.mean_varobs = mean(rawdata,1);
|
bayestopt_.mean_varobs = mean(rawdata,1)';
|
||||||
data = transpose(rawdata-ones(gend,1)*bayestopt_.mean_varobs);
|
data = transpose(rawdata-repmat(bayestopt_.mean_varobs',gend,1));
|
||||||
else
|
else
|
||||||
data = transpose(rawdata);
|
data = transpose(rawdata);
|
||||||
end
|
end
|
||||||
|
|
|
@ -41,12 +41,8 @@ function info = forecast(var_list,task)
|
||||||
old_options = options_;
|
old_options = options_;
|
||||||
|
|
||||||
maximum_lag = M_.maximum_lag;
|
maximum_lag = M_.maximum_lag;
|
||||||
options_ = set_default_option(options_,'periods',40);
|
horizon = options_.forecast;
|
||||||
if options_.periods == 0
|
|
||||||
options_.periods = 40;
|
|
||||||
end
|
|
||||||
horizon = options_.periods;
|
|
||||||
options_ = set_default_option(options_,'conf_sig',0.9);
|
|
||||||
|
|
||||||
endo_names = M_.endo_names;
|
endo_names = M_.endo_names;
|
||||||
if isempty(var_list)
|
if isempty(var_list)
|
||||||
|
@ -100,17 +96,17 @@ function info = forecast(var_list,task)
|
||||||
end
|
end
|
||||||
|
|
||||||
if M_.exo_det_nbr == 0
|
if M_.exo_det_nbr == 0
|
||||||
[yf,int_width] = forcst(oo_.dr,y0,options_.periods,var_list);
|
[yf,int_width] = forcst(oo_.dr,y0,horizon,var_list);
|
||||||
else
|
else
|
||||||
exo_det_length = size(oo_.exo_det_simul,1);
|
exo_det_length = size(oo_.exo_det_simul,1);
|
||||||
if options_.periods > exo_det_length
|
if horizon > exo_det_length
|
||||||
ex = zeros(options_.periods,M_.exo_nbr);
|
ex = zeros(horizon,M_.exo_nbr);
|
||||||
oo_.exo_det_simul = [ oo_.exo_det_simul;...
|
oo_.exo_det_simul = [ oo_.exo_det_simul;...
|
||||||
repmat(oo_.exo_det_steady_state',...
|
repmat(oo_.exo_det_steady_state',...
|
||||||
options_.periods- ...
|
horizon- ...
|
||||||
exo_det_length,1)];
|
exo_det_length,1)];
|
||||||
%ex_det_length,1),1)];
|
%ex_det_length,1),1)];
|
||||||
elseif options_.periods < exo_det_length
|
elseif horizon < exo_det_length
|
||||||
ex = zeros(exo_det_length,M_.exo_nbr);
|
ex = zeros(exo_det_length,M_.exo_nbr);
|
||||||
end
|
end
|
||||||
[yf,int_width] = simultxdet(y0,ex,oo_.exo_det_simul,...
|
[yf,int_width] = simultxdet(y0,ex,oo_.exo_det_simul,...
|
||||||
|
|
|
@ -29,8 +29,8 @@ if options_.loglinear == 1 & ~options_.logdata
|
||||||
rawdata = log(rawdata);
|
rawdata = log(rawdata);
|
||||||
end
|
end
|
||||||
if options_.prefilter == 1
|
if options_.prefilter == 1
|
||||||
bayestopt_.mean_varobs = mean(rawdata,1);
|
bayestopt_.mean_varobs = mean(rawdata,1)';
|
||||||
data = transpose(rawdata-ones(gend,1)*bayestopt_.mean_varobs);
|
data = transpose(rawdata-repmat(bayestopt_.mean_varobs',gend,1));
|
||||||
else
|
else
|
||||||
data = transpose(rawdata);
|
data = transpose(rawdata);
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue