Commit Graph

73 Commits (74ed99c6cac1df5456f197cea88ca054353c59f1)

Author SHA1 Message Date
Stéphane Adjemian (Charybdis) 1bf81c9f5a Fixed copyright notices. 2017-05-18 18:36:38 +02:00
Stéphane Adjemian (Charybdis) 5417b27ac7 Fixed indentation of matlab files. 2017-05-16 15:10:20 +02:00
Stéphane Adjemian (Charybdis) a53636e24e Fixed copyright notices. 2017-05-16 14:11:15 +02:00
Stéphane Adjemian (Charybdis) 88e1701289 Removed useless commas and semicolons. 2017-05-16 13:24:46 +02:00
Johannes Pfeifer f1123200e5 mode_compute=9: Make sure initial search volume (SIGMA) is not badly conditioned 2017-04-12 13:39:34 +02:00
Stéphane Adjemian (Charybdis) 9fbef0c107 Removed penalty_hessian routine.
+ Code factorization.
 + Added an option for using the penalized objective when computing numerically
 the hessian at the mode.

Previous behaviour (introduced with penalty_hessian routine) was to compute the
hessian matrix at the mode with the penalized objective function (instead of
the original objective function). This behaviour hides problematic situations,
where the computed hessian (using the original objective) would not be full
rank. For instance, if the estimation ends up with a parameter on (or very
close to) the bounds of its possible values (which is often not a desirable
outcome), the estimated posterior variance would be zero for this
parameter (with the original objective) because the hessian is not finite in
this direction, while the posterior variance would be positive if the penalized
objective is used instead. But this estimate would not be reliable by
construction of the penalty which is quite ad-hoc (more fundamentally I do not
think that there exists any rational for approximating the covariance matrix
with the inverse of the hessian matrix if the mode is on the border of the set
of possible values).

This commit restore the behaviour previous to 2446ab02ba.

An option is available for computing the hessian with the penalized
objective function.
2017-02-08 13:07:25 +00:00
Stéphane Adjemian (Charybdis) 5b73d7d59c Added new optimization routine (particleswarm).
Only available under Matlab if the Global Optimization Toolbox is installed.
2017-02-08 13:07:25 +00:00
Stéphane Adjemian (Charybdis) 35078e13ee Completed header + cosmetic changes. 2017-02-08 13:07:25 +00:00
Houtan Bastani 920a9911ee add missing copyright 2016-11-10 17:49:05 +01:00
Houtan Bastani 46cdaf8e0a fiminsearch only has two output args under Octave 2016-10-21 17:40:27 +02:00
Houtan Bastani 744b52d362 fix bug introduced in 1c892bb3e9 2016-09-27 15:28:43 +02:00
Houtan Bastani 1c892bb3e9 octave: try to load the needed package before ending with an error 2016-09-27 15:26:59 +02:00
Johannes Pfeifer 552a9b5230 Fix bugs previously introduces in dynare_estimation_1.m related to penalty function 2016-06-15 00:30:28 +02:00
Johannes Pfeifer 2446ab02ba Transform persistent variables of newrat.m into function arguments 2016-06-15 00:30:28 +02:00
Johannes Pfeifer 0c00e28799 Remove objective_function_penalty_base 2016-06-15 00:30:28 +02:00
Johannes Pfeifer 0edd8e2025 Add penalty_hessian.m and penalty_objective_function.m 2016-06-15 00:30:28 +02:00
Johannes Pfeifer 676182f550 Cosmetic fix to dynare_minimize_objective.m 2016-05-22 11:41:54 +02:00
Houtan Bastani bebcfffe04 fix license, file copyright errors 2016-05-04 16:30:16 +02:00
Johannes Pfeifer 0eba93dd71 Add missing input argument in newrat.m to prevent crashes 2015-11-28 14:06:10 +01:00
Marco Ratto 2d59920a70 - systematically check bounds for each parameter during optimization
- make htol adaptive to each parameter to speed up computations
2015-10-13 11:07:01 +02:00
Johannes Pfeifer fd9f2db79d Allow resuming previous run of CMAES
Also enables saving of intermediate results, consistent with the manual.
2015-10-11 19:13:48 +02:00
Johannes Pfeifer e3e34e1c7d Reduce default accuracy criterion in cmaes.m 2015-10-11 18:50:05 +02:00
Johannes Pfeifer df47be4076 Properly set bounds and H0 for CMAES 2015-10-11 18:21:25 +02:00
Michel Juillard 6502c311a0 replaced global timer by local timer 2015-10-10 14:33:30 +02:00
Michel Juillard f7f158f078 Revert "removed global objective_function_penalty_base"
This reverts commit 5ade8d7c6f.
2015-10-09 14:23:32 +02:00
Michel Juillard 818fa47375 Revert "adding new functions for penalty optimization"
This reverts commit b9e535e99e.
2015-10-09 14:23:31 +02:00
Michel Juillard 295eed6118 Revert "adapted dsge-var code for new handling of penalties"
This reverts commit 3966296aca.
2015-10-09 14:23:31 +02:00
Michel Juillard f464760c45 Revert "remove global objective_function_penalty_base"
This reverts commit cf858c7fcb.
2015-10-09 14:23:31 +02:00
Michel Juillard 035adeb89e Revert "More fixing related to objective_function_penalty_base"
This reverts commit 1ad8df4635.
2015-10-09 14:23:31 +02:00
Michel Juillard 1a9aa17c9e Revert "More fixings around objective_function"
This reverts commit 05cd51111c.
2015-10-09 14:23:31 +02:00
Michel Juillard 063a548bd3 Revert "changed persitent variables into local ones in mr_hessian.m"
This reverts commit fe077fc710.
2015-10-09 14:23:31 +02:00
Michel Juillard bc37c838c7 Revert "more fixes for penalty objective function"
This reverts commit 3dac7f8809.
2015-10-09 14:23:31 +02:00
Michel Juillard a7a3bbef89 Revert "reset newratflag = 0 in dynare_minimize_objective"
This reverts commit d4cf3576e4.
2015-10-09 14:23:31 +02:00
Michel Juillard 7202c497de Revert "removed initialization of mr_hessian()"
This reverts commit f48a026d89.
2015-10-09 14:23:31 +02:00
Michel Juillard f48a026d89 removed initialization of mr_hessian() 2015-10-08 20:57:00 +02:00
Michel Juillard d4cf3576e4 reset newratflag = 0 in dynare_minimize_objective 2015-10-08 20:57:00 +02:00
Michel Juillard 3dac7f8809 more fixes for penalty objective function 2015-10-08 20:57:00 +02:00
Michel Juillard fe077fc710 changed persitent variables into local ones in mr_hessian.m 2015-10-08 20:57:00 +02:00
Michel Juillard 05cd51111c More fixings around objective_function 2015-10-08 20:57:00 +02:00
Michel Juillard 1ad8df4635 More fixing related to objective_function_penalty_base 2015-10-08 20:57:00 +02:00
Michel Juillard cf858c7fcb remove global objective_function_penalty_base 2015-10-08 20:57:00 +02:00
Michel Juillard 3966296aca adapted dsge-var code for new handling of penalties 2015-10-08 20:57:00 +02:00
Michel Juillard b9e535e99e adding new functions for penalty optimization 2015-10-08 20:57:00 +02:00
Michel Juillard 5ade8d7c6f removed global objective_function_penalty_base
added penalty_objective_function.m and penalty_hessian.m
2015-10-08 20:57:00 +02:00
Stéphane Adjemian (Charybdis) 489bffdfd8 Fixed option names for mode_compute=6. 2015-10-06 11:34:56 +02:00
Johannes Pfeifer 3bf13dd53b Add functionality for TaRB 2015-06-08 16:44:44 +02:00
Johannes Pfeifer 0769fd1cce Add verbosity and SaveFile options to some optimizers
Also moves additional optimizer-related files to corresponding subfolder
Closes #894
2015-06-08 16:44:44 +02:00
Stéphane Adjemian (Hermes) b53578dc80 Completed description of minimizer_algorithm input argument. 2015-06-01 16:42:02 +02:00
Johannes Pfeifer 05635a4546 Change dynare_minimize_objective.m to use the correct field when selecting user-defined optimizer. 2015-06-01 16:42:02 +02:00
Johannes Pfeifer cb1fc3ec3c Lift unnecessary restriction of not allowing simpsa with infinite bounds
Introduction of options_.huge_number makes this redundant
2015-05-13 20:33:14 +02:00