diff --git a/tests/Makefile.am b/tests/Makefile.am index 7c179b1b8..7a1106c11 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -437,16 +437,17 @@ MODFILES = \ dynare-command-options/ramst.mod OLS_MODFILES = \ + estimation/univariate/bayesian.mod \ + ecb/SURGibbs/fulton_fish.mod \ + estimation/univariate/ols/ols_wc_1.mod \ + estimation/univariate/ols/ols_wc_2.mod \ + estimation/univariate/ols/ols.mod \ ecb/SUR/sur_noninteractive.mod \ ecb/SUR/panel_var_diff_NB_simulation_test.mod \ ecb/SUR/panel_var_diff_NB_simulation_zero_eq.mod \ ecb/pooled_ols/panel_var_diff_NB_simulation_test.mod \ - ecb/pooled_fgls/panel_var_diff_NB_simulation_test.mod \ - estimation/univariate/bayesian.mod \ - estimation/univariate/ols/ols_wc_1.mod \ - estimation/univariate/ols/ols_wc_2.mod \ - estimation/univariate/ols/ols.mod \ - ecb/SURGibbs/fulton_fish.mod + ecb/pooled_fgls/panel_var_diff_NB_simulation_test.mod + MODFILES += $(OLS_MODFILES) diff --git a/tests/ecb/SUR/panel_var_diff_NB_simulation_test.mod b/tests/ecb/SUR/panel_var_diff_NB_simulation_test.mod index 052d36bc2..f30206691 100644 --- a/tests/ecb/SUR/panel_var_diff_NB_simulation_test.mod +++ b/tests/ecb/SUR/panel_var_diff_NB_simulation_test.mod @@ -148,14 +148,13 @@ var res_DE_G_YER = 0.005; var res_DE_EHIC = 0.005; end; -NSIMS = 1000; +NSIMS = 1; options_.noprint = 1; calibrated_values = M_.params; verbatim; Sigma_e = M_.Sigma_e; end; -assert(NSIMS > 1); options_.bnlms.set_dynare_seed_to_default = false; nparampool = length(M_.params); @@ -175,36 +174,43 @@ for i=1:NSIMS end sur(simdata{idxs}); BETA(i, :) = M_.params'; + oo_ = rmfield(oo_, 'sur'); end -tmp = mean(BETA)' - calibrated_values; -good = [-0.000851206009290 - -0.000643198850342 - -0.000077654636303 - -0.000420898437454 - 0.000262557551524 - -0.000245111192739 - -0.000076643809917 - -0.001731735812364 - -0.001143888514328 - 0.000121014793695 - -0.000577022127737 - -0.000749730989778 - -0.000277999433209 - -0.000622189775653 - -0.000635550804554 - -0.000249226746560 - -0.000444130561721 - -0.000186765256265 - -0.000441923342534 - -0.000014925384893 - 0.000091140073668 - -0.000237339805772 - -0.000838249050874 - 0.000815931859253 - 0]; -if sum(abs(tmp-good)) > 1e-14 - error(['sum of tmp - good was: ' num2str(sum(abs(tmp-good)))]); +if NSIMS > 1 + if max(abs(mean(BETA)' - calibrated_values)) > 1e-2 + error(['sum(abs(mean(BETA)'' - calibrated_values)) ' num2str(sum(abs(mean(BETA)' - calibrated_values)))]); + end +else + good = [-0.826686196809409 + -0.346753563700393 + 0.063013991583949 + 0.074802596658698 + -0.017440119721953 + -0.127090614348862 + 0.025293280404460 + 0.524290302468866 + -0.117611206771440 + -0.027776224547132 + -0.156590828735908 + 0.054039707976331 + 0.276257666502046 + 1.000417289621684 + 0.999336865129450 + -0.803258152338916 + -0.309594948488168 + 0.051602756230521 + 0.039275481081030 + 0.024897596371662 + -0.096310133845385 + -0.022630284059365 + 0.461683465196454 + -0.110278113383114 + 1.000000000000000]; + if max(abs(BETA' - good)) > 1e-14 + error(['sum of BETA'' - good was: ' num2str(sum(abs(BETA - good)))]); + end + return end for i=1:nparampool diff --git a/tests/ecb/SUR/panel_var_diff_NB_simulation_zero_eq.mod b/tests/ecb/SUR/panel_var_diff_NB_simulation_zero_eq.mod index 5016a663e..6cd386e5b 100644 --- a/tests/ecb/SUR/panel_var_diff_NB_simulation_zero_eq.mod +++ b/tests/ecb/SUR/panel_var_diff_NB_simulation_zero_eq.mod @@ -144,7 +144,7 @@ var res_DE_G_YER = 0.005; var res_DE_EHIC = 0.005; end; -NSIMS = 1000; +NSIMS = 1; options_.noprint = 1; calibrated_values = M_.params; @@ -173,42 +173,43 @@ for i=1:NSIMS end sur(simdata{idxs}); BETA(i, :) = M_.params'; + oo_ = rmfield(oo_, 'sur'); end -if size(BETA',2) == 1 - tmp = BETA' - calibrated_values; +if NSIMS > 1 + if max(abs(mean(BETA)' - calibrated_values)) > 1e-2 + error(['sum(abs(mean(BETA)'' - calibrated_values)) ' num2str(sum(abs(mean(BETA)' - calibrated_values)))]); + end else - tmp = mean(BETA)' - calibrated_values; -end - -good = [-0.003887531498207 - -0.002565330545918 - -0.000239567336676 - 0.003408443512070 - 0.001553818170767 - -0.000469903487876 - -0.001112844922537 - -0.003118147971245 - 0.000781155700883 - -0.000803694625262 - -0.002236638387246 - -0.000683200861198 - -0.000310394894060 - 0 - 0 - -0.000086918837962 - -0.000383472263486 - 0.000820117983637 - 0.000953382489529 - 0.000989541137148 - -0.001083720105374 - -0.000359301045695 - -0.001656187747193 - 0.000462206249631 - 0]; - -if sum(abs(tmp-good)) > 1e-14 - error(['sum of tmp - good was: ' num2str(sum(abs(tmp-good)))]); + good = [-0.806260229719792 + -0.354371215026078 + 0.067618717060638 + 0.088053231576354 + -0.057161898696690 + -0.136999143481575 + 0.052047088887385 + 0.524022502978068 + -0.110211572532150 + -0.041415758049800 + -0.162997606880957 + 0.091000830792721 + 0.281196660545012 + 1.000000000000000 + 1.000000000000000 + -0.823354793011220 + -0.337521089381118 + 0.025493177305917 + 0.059513905441361 + 0.016845886773011 + -0.151537340795868 + 0.004832174649536 + 0.430883913061161 + -0.071743697511067 + 1.000000000000000]; + if max(abs(BETA' - good)) > 1e-14 + error(['sum of BETA'' - good was: ' num2str(sum(abs(BETA - good)))]); + end + return end for i=1:nparampool diff --git a/tests/ecb/SUR/sur_noninteractive.mod b/tests/ecb/SUR/sur_noninteractive.mod index edf3ffc43..f374bd178 100644 --- a/tests/ecb/SUR/sur_noninteractive.mod +++ b/tests/ecb/SUR/sur_noninteractive.mod @@ -148,14 +148,13 @@ var res_DE_G_YER = 0.005; var res_DE_EHIC = 0.005; end; -NSIMS = 1000; +NSIMS = 1; options_.noprint = 1; calibrated_values = M_.params; verbatim; Sigma_e = M_.Sigma_e; end; -assert(NSIMS > 1); options_.bnlms.set_dynare_seed_to_default = false; nparampool = length(M_.params); @@ -175,36 +174,43 @@ for i=1:NSIMS end sur(simdata{idxs}, {}, {}, 'mymodel', true); BETA(i, :) = M_.params'; + oo_ = rmfield(oo_, 'sur'); end -tmp = mean(BETA)' - calibrated_values; -good = [-0.000851256219733 - -0.000643255670073 - -0.000078774226193 - -0.000420026410496 - 0.000262319820667 - -0.000245434738588 - -0.000076193984629 - -0.001732502219600 - -0.001142802053612 - 0.000120684867379 - -0.000577323101449 - -0.000750502207473 - -0.000277709424315 - -0.000622119904600 - -0.000635564841533 - -0.000249342272071 - -0.000443999454424 - -0.000187590389264 - -0.000441672489341 - -0.000015259855753 - 0.000091236076295 - -0.000236028177813 - -0.000838101091676 - 0.000815800740293 - 0]; -if sum(abs(tmp-good)) > 1e-14 - error(['sum of tmp - good was: ' num2str(sum(abs(tmp-good)))]); +if NSIMS > 1 + if max(abs(mean(BETA)' - calibrated_values)) > 1e-2 + error(['sum(abs(mean(BETA)'' - calibrated_values)) ' num2str(sum(abs(mean(BETA)' - calibrated_values)))]); + end +else + good = [-0.826686383251952 + -0.346754226737713 + 0.063012625739192 + 0.074803008678581 + -0.017406695286611 + -0.127075466955954 + 0.025273119798253 + 0.524311285013928 + -0.117653504652072 + -0.027795769946178 + -0.156599054434094 + 0.054048691636616 + 0.276250884768198 + 1.000417819589230 + 0.999336022919911 + -0.803262845969268 + -0.309598590696623 + 0.051598925732525 + 0.039275097813797 + 0.024902442384228 + -0.096310332265968 + -0.022625946626029 + 0.461672601960238 + -0.110232456667380 + 1.000000000000000]; + if max(abs(BETA' - good)) > 1e-14 + error(['sum of BETA'' - good was: ' num2str(sum(abs(BETA - good)))]); + end + return end for i=1:nparampool diff --git a/tests/ecb/pooled_fgls/panel_var_diff_NB_simulation_test.mod b/tests/ecb/pooled_fgls/panel_var_diff_NB_simulation_test.mod index fb649b30f..c36a2a5d4 100644 --- a/tests/ecb/pooled_fgls/panel_var_diff_NB_simulation_test.mod +++ b/tests/ecb/pooled_fgls/panel_var_diff_NB_simulation_test.mod @@ -149,7 +149,7 @@ var res_DE_G_YER = 0.005; var res_DE_EHIC = 0.005; end; -NSIMS = 1000; +NSIMS = 1; calibrated_values = M_.params; verbatim; @@ -186,36 +186,43 @@ for i=1:NSIMS '*_g_yer_u2_stn_L1', ... '*_ehic_*_ehic_L1'}); BETA(i, :) = M_.params'; + oo_ = rmfield(oo_, 'pooled_fgls'); end -tmp = mean(BETA)' - calibrated_values; -good = [-0.117180965691355 - -0.416020161883635 - -0.163402818556098 - -0.590340328553228 - 0.146701546733206 - 0.095280068863474 - -0.110518319499523 - -0.281212762467509 - -0.387430919215850 - 0.148014899155655 - -0.582272479386248 - -0.768003006461973 - -0.280750812328145 - -0.622414692972750 - -0.213383844465564 - -0.117180965692354 - -0.416020161882635 - -0.163402818555897 - -0.590340328553332 - 0.146701546733106 - 0.095280068864473 - -0.110518319499583 - -0.281212762466510 - -0.387430919215850 - -0.213383844465564]*1.0e-03; -if sum(abs(tmp-good)) > 1e-14 - error(['sum of tmp - good was: ' num2str(sum(abs(tmp-good)))]); +if NSIMS > 1 + if sum(abs(mean(BETA)' - calibrated_values)) > 1e-2 + error(['sum(abs(mean(BETA)'' - calibrated_values)) ' num2str(sum(abs(mean(BETA)' - calibrated_values)))]); + end +else + good = [-0.814463611096955 + -0.327545854281441 + 0.058155751549620 + 0.056956172127541 + 0.004760467203543 + -0.110209140210870 + 0.000873625473015 + 0.492984603730353 + -0.110739844810764 + -0.026953553332579 + -0.155433250333810 + 0.053391289583053 + 0.275361374992940 + 1.000446511792020 + 0.999278815424852 + -0.814463611096955 + -0.327545854281441 + 0.058155751549620 + 0.056956172127541 + 0.004760467203543 + -0.110209140210870 + 0.000873625473015 + 0.492984603730353 + -0.110739844810764 + 0.999278815424852]; + if max(abs(BETA' - good)) > 1e-14 + error(['sum of BETA'' - good was: ' num2str(sum(abs(BETA - good)))]); + end + return end for i=1:nparampool diff --git a/tests/ecb/pooled_ols/panel_var_diff_NB_simulation_test.mod b/tests/ecb/pooled_ols/panel_var_diff_NB_simulation_test.mod index d13c204ce..bed845401 100644 --- a/tests/ecb/pooled_ols/panel_var_diff_NB_simulation_test.mod +++ b/tests/ecb/pooled_ols/panel_var_diff_NB_simulation_test.mod @@ -149,7 +149,7 @@ var res_DE_G_YER = 0.005; var res_DE_EHIC = 0.005; end; -NSIMS = 1000; +NSIMS = 1; calibrated_values = M_.params; verbatim; @@ -186,36 +186,43 @@ for i=1:NSIMS '*_g_yer_u2_stn_L1', ... '*_ehic_*_ehic_L1'}); BETA(i, :) = M_.params'; + oo_ = rmfield(oo_, 'pooled_ols'); end -tmp = mean(BETA)' - calibrated_values; -good = [-0.075732742267465 - -0.399406249294632 - -0.234792967895359 - -0.588970916491835 - 0.067498492395235 - 0.063450881343338 - -0.039680797111538 - -0.305307448765335 - -0.347337705286735 - 0.094723439006586 - -0.576221284678741 - -0.789746631585334 - -0.264217514455656 - -0.620788021980068 - -0.213308690451885 - -0.075732742268464 - -0.399406249293632 - -0.234792967895157 - -0.588970916491939 - 0.067498492395134 - 0.063450881344337 - -0.039680797111598 - -0.305307448764336 - -0.347337705286735 - -0.213308690451885]*1.0e-03; -if sum(abs(tmp-good)) > 1e-14 - error(['sum of tmp - good was: ' num2str(sum(abs(tmp-good)))]); +if NSIMS > 1 + if sum(abs(mean(BETA)' - calibrated_values)) > 1e-2 + error(['sum(abs(mean(BETA)'' - calibrated_values)) ' num2str(sum(abs(mean(BETA)' - calibrated_values)))]); + end +else + good = [-0.814685080218300 + -0.327809964140588 + 0.058359966460475 + 0.056151094599907 + 0.004707755717058 + -0.110288651670160 + 0.000910770641800 + 0.494342669441397 + -0.109455922483561 + -0.029329632163194 + -0.157236653586389 + 0.054467548349538 + 0.275969658826900 + 1.000451016087141 + 0.999236021952814 + -0.814685080218300 + -0.327809964140588 + 0.058359966460475 + 0.056151094599907 + 0.004707755717058 + -0.110288651670160 + 0.000910770641800 + 0.494342669441397 + -0.109455922483561 + 0.999236021952814]; + if max(abs(BETA' - good)) > 1e-14 + error(['sum of BETA'' - good was: ' num2str(sum(abs(BETA - good)))]); + end + return end for i=1:nparampool diff --git a/tests/estimation/univariate/ols/mc-ols.inc b/tests/estimation/univariate/ols/mc-ols.inc index cbbc3a022..aae2e6413 100644 --- a/tests/estimation/univariate/ols/mc-ols.inc +++ b/tests/estimation/univariate/ols/mc-ols.inc @@ -2,7 +2,7 @@ verbatim; options_.noprint = true; - number_of_simulations = 1000; + number_of_simulations = 1; calibrated_values = M_.params; Sigma_e = M_.Sigma_e; @@ -28,6 +28,9 @@ verbatim; idxs = find(cellfun(@isempty, names)); % Perform the estimation of equation 7. dyn_ols(simdata{idxs}, {}, {'eq7'}); + if i ~= number_of_simulations + oo_ = rmfield(oo_, 'ols'); + end % Store the estimation results in Beta Beta(i, :) = M_.params'; end @@ -35,6 +38,35 @@ verbatim; % Get the indices of the estimated parameters pid = oo_.ols.eq7.param_idxs; + if number_of_simulations > 1 + if max(abs(calibrated_values(pid)-mean(Beta(:,pid)', 2)))>1e-2 + error('There is probably an error in the OLS routine.') + end + else + if strcmp(M_.fname, 'ols') + good = [-0.027702100375691 + 0.486913131141265 + 0.002639663639062 + 0.025487074270635 + -0.126705792250240]; + elseif strcmp(M_.fname, 'ols_wc_1') + good = [0.466534186307255 + -0.010596174928406 + 0.035098464382347 + -0.126502172176703]; + elseif strcmp(M_.fname, 'ols_wc_2') + good = [0.485802603276717 + 0.002660854661647 + -0.043688440124315 + 0.025434782170432 + -0.126939890810119]; + end + if max(abs(good-Beta(:,pid)'))>1e-2 + error('There is probably an error in the OLS routine.') + end + return + end + for i=1:length(pid) figure(i) hold on @@ -49,9 +81,5 @@ verbatim; hold off end - if max(abs(calibrated_values(pid)-mean(Beta(:,pid)', 2)))>1e-2 - error('There is probably an error in the OLS routine.') - end - end;