NormannR
4cdb763ea4
Integrates the local_state_space_iteration_3 mex into dynare's bayesian estimation eco-system
...
Should be merged after the mex MR !2045 and the particles MR !16
2022-09-26 09:14:34 +02:00
Sébastien Villemot
10af04c6d8
Use Unicode copyright symbol (in UTF-8 encoding) in all source files
...
It is now supported by the MATLAB editor (as of R2022a).
The old ASCII notation is left in some files that we copy as-is from other
sources (e.g. in the contrib/ and m4/ subdirectories).
The particles submodule is not updated at this point, because it is in an
inconsistent state.
[skip ci]
2022-04-13 14:54:25 +02:00
Sébastien Villemot
39f47dc957
local_state_space_iteration_k MEX now uses the Fortran code (instead of the C++ code)
...
Closes : #1802
2022-02-04 11:49:46 +01:00
Johannes Pfeifer
f7a232061a
Remove unused options_-output
...
Prevents accidentally changing something
2021-06-22 18:17:11 +02:00
Sébastien Villemot
766fff88f6
Use secure URL for link to GNU licenses
2021-06-09 17:35:05 +02:00
Johannes Pfeifer
cac6f82e34
non_linear_dsge_likelihood.m: filter out explosive initial simulation
2021-05-27 21:04:35 +02:00
Sébastien Villemot
0402c56ee7
Compatibility fix for MATLAB R2014a when estimating with empty estim_params
...
The tests kalman_filter_smoother/fs2000_smoother_only.mod and
kalman_filter_smoother/fs2000_smoother_only_ns.mod would fail under MATLAB
R2014a.
They both run the estimation command without having declared an estim_params
block.
Their execution would fail in check_bounds_and_definiteness_estimation, at the
point where we check if initial values are below the lower bound.
The problem is that xparam1 would be of size 0×1, while bounds.lb would be
empty (0×0), and the comparison fails on older MATLABs.
The fix consists in ensuring that xparam1 remains of size 0×0 in that case.
2021-01-27 18:25:27 +01:00
Johannes Pfeifer
f19decf297
non_linear_dsge_likelihood.m: consistently use options_.particles.pruning
...
Closes https://git.dynare.org/Dynare/dynare/-/issues/1756
2021-01-22 21:19:07 +01:00
Johannes Pfeifer
0b87f66443
non_linear_dsge_likelihood.m: do not set use_k_order_solver with pruning
...
local_state_space_iteration_k does not support it, use local_state_space_iteration_2 at order=2 instead and error out with order=3
2021-01-22 21:19:07 +01:00
Johannes Pfeifer
ad17b8ec33
Particle filtering: provide more informative error messages in typical problematic cases
...
Also adds test cases
2021-01-15 22:11:20 +01:00
Johannes Pfeifer
fe93589148
non_linear_dsge_likelihood.m: return in case of exception without computing prior
2021-01-15 22:11:20 +01:00
Johannes Pfeifer
dab5d38068
Fix initialization of state variances
...
- incomplete computation of variances in case 1
- wrong ordering for case 2
2020-11-12 10:43:04 +01:00
Johannes Pfeifer
3b85fea02e
Move setting of parameters out of check_bounds_and_definiteness_estimation.m
...
Increases transparency
2020-07-17 15:02:12 +02:00
Johannes Pfeifer
cfe1069367
Factorize prior bound and definiteness checks
...
also removes useless isestimation check
2020-06-22 20:37:31 +02:00
Stéphane Adjemian (Charybdis)
031569fa96
Allow higher order approximations in nonlinear filters.
2019-12-20 11:31:56 +01:00
Stéphane Adjemian (Charybdis)
4e0deb7987
Removed persistent variables.
2019-12-20 11:31:56 +01:00
Stéphane Adjemian (Charybdis)
76e3c6ca68
Removed unnecessary parts of the code.
...
- Call resol instead of dynare_resolve.
- Removed definition of constant and trend which are not used in nonlinear filters.
- Cosmetic changes.
2019-12-20 11:31:56 +01:00
Stéphane Adjemian (Charybdis)
6418e225bf
Rewrote doc header.
2019-12-20 11:31:56 +01:00
Johannes Pfeifer
ce4d8c3544
Cosmetic fix to error message
2017-11-28 10:27:43 +01:00
Stéphane Adjemian (Charybdis)
5417b27ac7
Fixed indentation of matlab files.
2017-05-16 15:10:20 +02:00
Stéphane Adjemian (Charybdis)
f9a462bf07
Added option nonlinear_filter_initialization.
...
Default value is 1 (initialization with the ergodic variance of the reduced
form solution of the model approximated at order one).
If the model has unit roots, the user must use `nonlinear_filter_initialization=3`,
which select an identity matrix for the initial covariance matrix of the state variables.
A side effect of this option is to temporarily change the value of options_.qz_criterium to
a value above one (ie 1+1e-6) so that the unit roots are not rejected. If the
model has unit roots and if the and if the option
nonlinear_filter_initialization has a value less than 3, the evaluation of the
likelihood will fail, because by default the unit root is counted as an
unstable root.
2017-04-03 11:25:05 +02:00
Stéphane Adjemian (Charybdis)
dbffe2a841
Do not check boundaries if the model is not estimated.
2017-03-16 15:50:44 +01: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
Johannes Pfeifer
2c5b1fed2d
Use master function lyapunov_solver.m to call individual solvers
2017-01-04 11:25:44 +01:00
Johannes Pfeifer
39e7c39243
Filter out infinite likelihoods
2016-08-22 19:24:35 +02:00
Johannes Pfeifer
72b8c650e5
Add missing logical operator from likelihood functions introduces when removing global penalty
2016-07-18 11:11:43 +02:00
Johannes Pfeifer
0c00e28799
Remove objective_function_penalty_base
2016-06-15 00:30:28 +02:00
Johannes Pfeifer
329b91d717
Harmonize output of objective functions
...
Closes #1149
Mirrors 1ad8df4635
2016-06-15 00:30:28 +02:00
Houtan Bastani
25121bca4f
fix copyright dates
2016-05-04 16:05:31 +02:00
Johannes Pfeifer
efee7b1a47
Remove duplication of restrict_var_list in bayestopt_
2016-04-12 10:43:28 +02:00
Johannes Pfeifer
1c816aef24
Various interrelated bugfixes dealing with detrending
2016-03-23 10:19:40 +01:00
Johannes Pfeifer
f28a7a62bb
Only test non-zero measurement error covariance entries for positive definiteness
...
Otherwise, not having measurement error on one variable is not allowed during estimation
2015-12-15 22:37:08 +01:00
Johannes Pfeifer
d513d38f73
Filter out failure of k_order_pert in likelihood computation
2015-10-11 17:55:27 +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
bc37c838c7
Revert "more fixes for penalty objective function"
...
This reverts commit 3dac7f8809
.
2015-10-09 14:23:31 +02:00
Michel Juillard
3dac7f8809
more fixes for penalty objective function
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
Stéphane Adjemian (Charybdis)
e5e9bdb892
Adding missing exception...
...
For cases where a generalized eigenvalue is too close to 0/0.
2015-09-04 11:02:39 +02:00
Johannes Pfeifer
0fd76e0c6f
Assigning unique function for each input argument of lyapunov_symm.m
...
The old way of redefining input arguments to satisfy different options was too error-prone. See 69daaa0460b0ddee97292c39d40355201e316622 of tholden
2015-07-22 15:11:39 +02:00
Stéphane Adjemian (Hermes)
ccd4e40b49
Merge branch 'master' into rewrite-nonlinear-filters
...
Conflicts:
.gitmodules
tests/particle/dsge_base2.mod
2015-05-27 12:18:33 +02:00
Johannes Pfeifer
481c470ac9
Make sure non_linear_dsge_likelihood.m and dsge_var_likelihood.m return correct error codes if prior or likelihood are Inf or NaN
...
Closes #284
2015-05-09 08:03:55 +02:00
Stéphane Adjemian (Charybdis)
84cef49584
Fixed bug (oo_ must be replaced by DynareResults).
2015-01-14 11:38:36 +01:00
Stéphane Adjemian (Charybdis)
647d7b9761
Do not detrend the data (nonlinear filters).
2015-01-07 16:27:41 +01:00
Stéphane Adjemian (Charybdis)
1927f6181f
Updated particles module.
...
This commit breaks the codes except for sequential importance particle filter.
2014-12-12 17:57:58 +01:00
Stéphane Adjemian (Karaba)
f48566aeae
Fixed prior bounds (according to the doc in master branch).
...
* Second and third positional arguments after the name of the
estimated parameter in the estimated_params block are only
considered in the optimization stage (not in the MCMC)
* Do not store bounds in bayestopt_, because bounds do not always
reflect restrictions implied by prior shapes.
* prior_bounds routine returns a structure (with fields lb and ub)
instead of a matrix.
2014-10-20 16:18:54 +02:00
Stéphane Adjemian (Karaba)
97b63105a0
Add a parameter to the lyapunov_symm routine (debug mode).
2014-10-13 17:42:53 +02:00
Stéphane Adjemian (Charybdis)
6d42ec66d5
Account for error code 10 (Inf in Jacobian of the dynamic model) in likelihood functions.
2014-09-10 17:49:33 +02:00
Stéphane Adjemian (Scylla)
77a29e95c1
Fixed bugs:
...
(1) The non_linear_dsge_likelihood routine was not adapted to the last changes related to the way data are handled.
(2) The removal of the trend was missing.
2014-09-08 22:36:40 +02:00
Johannes Pfeifer
ca6803b531
Add forgotten case to likelihood functions
...
Code 25 was not filtered out, leading to cryptic crashes
2014-06-02 14:10:43 +02:00
Stéphane Adjemian (Scylla)
00cfec8fb6
Issue an error message if loglinear option is equal to 1 in non linear likelihood routine.
2014-01-30 14:39:06 +01:00