diff --git a/matlab/DsgeSmoother.m b/matlab/DsgeSmoother.m index 5e6e2075d7133b265fd9046df8004aa972cb89a5..6f9bc60bda924d2297785a417a984ed4ae40e08f 100644 --- a/matlab/DsgeSmoother.m +++ b/matlab/DsgeSmoother.m @@ -1,4 +1,4 @@ -function [alphahat,etahat,epsilonhat,ahat,SteadyState,trend_coeff,aK,T,R,P,PK,d,decomp] = DsgeSmoother(xparam1,gend,Y,data_index,missing_value) +function [alphahat,etahat,epsilonhat,ahat,SteadyState,trend_coeff,aK,T,R,P,PK,decomp] = DsgeSmoother(xparam1,gend,Y,data_index,missing_value) % Estimation of the smoothed variables and innovations. % % INPUTS @@ -21,8 +21,6 @@ function [alphahat,etahat,epsilonhat,ahat,SteadyState,trend_coeff,aK,T,R,P,PK,d, % matrices % PK: 4D array of k-step ahead forecast error variance % matrices (meaningless for periods 1:d) -% d: number of periods where filter remains in diffuse part -% (should be equal to the order of integration of the model) % % ALGORITHM % Diffuse Kalman filter (Durbin and Koopman) @@ -60,7 +58,6 @@ T = []; R = []; P = []; PK = []; -d = []; decomp = []; nobs = size(options_.varobs,1); smpl = size(Y,2); diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m index ab909f444c8a73ee9ee9e99779c807dd0a358294..920b1cd208415d2af3deabe80311c5628a87ec66 100644 --- a/matlab/dynare_estimation_1.m +++ b/matlab/dynare_estimation_1.m @@ -335,12 +335,12 @@ initial_estimation_checks(xparam1,gend,data,data_index,number_of_observations,no if options_.mode_compute == 0 if options_.smoother == 1 - [atT,innov,measurement_error,updated_variables,ys,trend_coeff,aK,T,R,P,PK,d,decomp] = DsgeSmoother(xparam1,gend,data,data_index,missing_value); + [atT,innov,measurement_error,updated_variables,ys,trend_coeff,aK,T,R,P,PK,decomp] = DsgeSmoother(xparam1,gend,data,data_index,missing_value); oo_.Smoother.SteadyState = ys; oo_.Smoother.TrendCoeffs = trend_coeff; - oo_.Smoother.integration_order = d; oo_.Smoother.variance = P; i_endo_nbr = 1:M_.endo_nbr; + if options_.nk ~= 0 oo_.FilteredVariablesKStepAhead = ... aK(options_.filter_step_ahead,i_endo_nbr,:); @@ -1087,10 +1087,9 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape > 0) & options_.load_mh_file)) ... | ~options_.smoother ) & M_.endo_nbr^2*gend < 1e7 % to be fixed %% ML estimation, or posterior mode without metropolis-hastings or metropolis without bayesian smooth variable - [atT,innov,measurement_error,updated_variables,ys,trend_coeff,aK,T,R,P,PK,d,decomp] = DsgeSmoother(xparam1,gend,data,data_index,missing_value); + [atT,innov,measurement_error,updated_variables,ys,trend_coeff,aK,T,R,P,PK,decomp] = DsgeSmoother(xparam1,gend,data,data_index,missing_value); oo_.Smoother.SteadyState = ys; oo_.Smoother.TrendCoeffs = trend_coeff; - oo_.Smoother.integration_order = d; oo_.Smoother.variance = P; i_endo_nbr = 1:M_.endo_nbr; if options_.nk ~= 0