diff --git a/tests/kalman/likelihood_from_dynare/fs2000_uncorr_ME_missing.mod b/tests/kalman/likelihood_from_dynare/fs2000_uncorr_ME_missing.mod index 3dd1c54976f94760bee614ed330c12b6e0f7ef33..c4a3aeb955949866edc5cb325025c85a868fb63b 100644 --- a/tests/kalman/likelihood_from_dynare/fs2000_uncorr_ME_missing.mod +++ b/tests/kalman/likelihood_from_dynare/fs2000_uncorr_ME_missing.mod @@ -12,15 +12,74 @@ stderr gy_obs, 1; //corr gp_obs, gy_obs,0; end; -@#define mode_file_name="'fs2000_uncorr_ME_missing/Output/fs2000_uncorr_ME_missing_mode'" @#define data_file_name="fsdat_simul_uncorr_ME_missing" -@#include "fs2000_estimation_check.inc" - +%%default +options_.lik_init=1; +estimation(kalman_algo=0,mode_compute=0,order=1,datafile=@{data_file_name},smoother,filter_decomposition,forecast = 8,filtered_vars,filter_step_ahead=[1,3],irf=20) m P c e W R k d y gy_obs; +fval_algo_0=oo_.likelihood_at_initial_parameters; %%Multivariate Kalman Filter options_.lik_init=1; -estimation(kalman_algo=1,fast_kalman_filter,mode_file=@{mode_file_name},mode_compute=0,order=1,datafile=@{data_file_name},smoother,filter_decomposition,forecast = 8,filtered_vars,filter_step_ahead=[1,3],irf=20) m P c e W R k d y gy_obs; -fval_algo_5=oo_.likelihood_at_initial_parameters; +estimation(kalman_algo=1,mode_compute=0,order=1,datafile=@{data_file_name},smoother,filter_decomposition,forecast = 8,filtered_vars,filter_step_ahead=[1,3],irf=20) m P c e W R k d y gy_obs; +fval_algo_1=oo_.likelihood_at_initial_parameters; SmoothedMeasurementErrors(:,:,1)=cell2mat(struct2cell(oo_.SmoothedMeasurementErrors)); SmoothedShocks(:,:,1)=cell2mat(struct2cell(oo_.SmoothedShocks)); -SmoothedVariables(:,:,1)=cell2mat(struct2cell(oo_.SmoothedVariables)); \ No newline at end of file +SmoothedVariables(:,:,1)=cell2mat(struct2cell(oo_.SmoothedVariables)); + +%%Univariate Kalman Filter +options_.lik_init=1; +estimation(kalman_algo=3,mode_compute=0,order=1,datafile=@{data_file_name},smoother,filter_decomposition,forecast = 8,filtered_vars,filter_step_ahead=[1,3],irf=20) m P c e W R k d y gy_obs; +fval_algo_3=oo_.likelihood_at_initial_parameters; +SmoothedMeasurementErrors(:,:,3)=cell2mat(struct2cell(oo_.SmoothedMeasurementErrors)); +SmoothedShocks(:,:,3)=cell2mat(struct2cell(oo_.SmoothedShocks)); +SmoothedVariables(:,:,3)=cell2mat(struct2cell(oo_.SmoothedVariables)); + +%%Diffuse Multivariate Kalman Filter +options_.lik_init=1; +estimation(kalman_algo=2,mode_compute=0,datafile=@{data_file_name},smoother,filter_decomposition,forecast = 8,filtered_vars,filter_step_ahead=[1,3],irf=20) m P c e W R k d y gy_obs; +fval_algo_2=oo_.likelihood_at_initial_parameters; +SmoothedMeasurementErrors(:,:,2)=cell2mat(struct2cell(oo_.SmoothedMeasurementErrors)); +SmoothedShocks(:,:,2)=cell2mat(struct2cell(oo_.SmoothedShocks)); +SmoothedVariables(:,:,2)=cell2mat(struct2cell(oo_.SmoothedVariables)); + +%%Diffuse univariate Kalman Filter +options_.lik_init=1; +estimation(kalman_algo=4,mode_compute=0,datafile=@{data_file_name},smoother,filter_decomposition,forecast = 8,filtered_vars,filter_step_ahead=[1,3],irf=20) m P c e W R k d y gy_obs; +fval_algo_4=oo_.likelihood_at_initial_parameters; +SmoothedMeasurementErrors(:,:,4)=cell2mat(struct2cell(oo_.SmoothedMeasurementErrors)); +SmoothedShocks(:,:,4)=cell2mat(struct2cell(oo_.SmoothedShocks)); +SmoothedVariables(:,:,4)=cell2mat(struct2cell(oo_.SmoothedVariables)); + + +%%Multivariate Fast Kalman Filter +options_.lik_init=1; +estimation(kalman_algo=1,fast_kalman_filter,mode_compute=0,order=1,datafile=@{data_file_name},smoother,filter_decomposition,forecast = 8,filtered_vars,filter_step_ahead=[1,3],irf=20) m P c e W R k d y gy_obs; +fval_algo_5=oo_.likelihood_at_initial_parameters; +SmoothedMeasurementErrors(:,:,5)=cell2mat(struct2cell(oo_.SmoothedMeasurementErrors)); +SmoothedShocks(:,:,5)=cell2mat(struct2cell(oo_.SmoothedShocks)); +SmoothedVariables(:,:,5)=cell2mat(struct2cell(oo_.SmoothedVariables)); + +%%Multivariate Fast Kalman Filter +options_.lik_init=1; +estimation(kalman_algo=3,fast_kalman_filter,mode_compute=0,order=1,datafile=@{data_file_name},smoother,filter_decomposition,forecast = 8,filtered_vars,filter_step_ahead=[1,3],irf=20) m P c e W R k d y gy_obs; +fval_algo_6=oo_.likelihood_at_initial_parameters; +SmoothedMeasurementErrors(:,:,6)=cell2mat(struct2cell(oo_.SmoothedMeasurementErrors)); +SmoothedShocks(:,:,6)=cell2mat(struct2cell(oo_.SmoothedShocks)); +SmoothedVariables(:,:,6)=cell2mat(struct2cell(oo_.SmoothedVariables)); + + +if max(max(abs(SmoothedMeasurementErrors-repmat(SmoothedMeasurementErrors(:,:,1),[1,1,6]))))>1e-8 + error('SmoothedMeasurementErrors do not match') +end + +if max(max(abs(SmoothedShocks-repmat(SmoothedShocks(:,:,1),[1,1,6]))))>1e-8 + error('SmoothedShocks do not match') +end + +if max(max(abs(SmoothedVariables-repmat(SmoothedVariables(:,:,1),[1,1,6]))))>1e-8 + error('SmoothedVariables do not match') +end + +if max(abs([fval_algo_2,fval_algo_3,fval_algo_4,fval_algo_5,fval_algo_6]-fval_algo_1))>1e-8 + error('Likelihoods do not match') +end \ No newline at end of file