Commit Graph

113 Commits (5b72a3041c4a25ade8fd5d39e36729db59b12822)

Author SHA1 Message Date
Marco Ratto 178e892e04 big fix for initialization of diffuse filter with correlated observation error covariance matrix 2022-11-18 12:41:15 +01:00
Marco Ratto f8adfa3fa5 with smoother_redux, factor out definition of nk to reconstruct filtered variables, and use a local variable nk (so options_.nk may remain empty). 2022-10-20 15:30:37 +02:00
Marco Ratto 6d03a65488 bug fix for smoother_redux and state uncertainty with OCCBIN 2022-07-26 18:07:39 +02:00
Johannes Pfeifer 74672bb294 DsgeSmoother.m: delete redundant line 2022-06-27 11:23:19 +02:00
Marco Ratto 9304b535f4 port to occbin smoother the same computational improvements done for standard one under smother_redux option. This also require to provide occbin reduced state-space matrices as output argument of missing_DiffuseKalmanSmootherH3_Z.m 2022-06-02 09:52:47 +02:00
Marco Ratto 12c4e03d7b bug fixes in retrieving the k-step ahead predictions and updated variables from occbin simulations 2022-06-02 09:52:47 +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
Marco Ratto 06a7e6c7be bug fixes with occbin smoother: reset nested waitbars and fix names of outut structure of solver 2022-01-06 15:01:35 +01:00
Marco Ratto bec52fe731 with occbin smoother do not overwrite updated variables that have been already computed with reduced state space 2021-07-21 17:50:58 +02:00
Marco Ratto 02072dde39
Add Occbin routines
Syntax is not yet finalized (see preprocessor#68).
Documentation still to be done.

Ref. #569
2021-07-16 17:20:11 +02:00
Johannes Pfeifer f7a232061a
Remove unused options_-output
Prevents accidentally changing something
2021-06-22 18:17:11 +02:00
Johannes Pfeifer e5b51f3257 DsgeSmoother.m: header cosmetics
[skip CI]
2021-06-15 11:16:41 +02:00
Sébastien Villemot 766fff88f6
Use secure URL for link to GNU licenses 2021-06-09 17:35:05 +02:00
Marco Ratto 5fa6265944 Implement new option smoother_redux, to allow fast smoother for very large models. It runs smoother only for state variables and computes the remaining ones ex-post
Contains improvements, in order to recover as much as possible static unobserved (filtered, smoothed, updated, k-step ahead), Variance, State_uncertainty, k-step ahead variances trying to map lagged states onto current ones using pinv(T). This has exceptions (namely lagged shocks which are ONLY used to recover static NON observed variables). this exception is also trapped.
For such extensions we can only recover smoothed variables starting from d+1. Variances CANNOT be recovered for such variables (the smoother gives ZERO.)
2021-05-27 16:59:15 +02:00
Marcoo Ratto 1645f38269
Implement heteroskedastic filter and smoother 2021-05-26 18:45:16 +02:00
Marco Ratto 15ab85788c adjusted message in case of diffuse filter, where cointegration is most of the time the reason for such a warning 2021-02-12 19:10:45 +01:00
Johannes Pfeifer 7c8f486727 Allow setting initial state for Kalman filter
Supersedes https://git.dynare.org/Dynare/dynare/-/merge_requests/1522
2021-01-28 17:24:27 +01:00
Johannes Pfeifer 1cc29d765b DsgeSmoother: add warning if there is stochastic singularity 2020-07-15 11:00:48 +02:00
Sébastien Villemot 7e770f69e7
Remove workaround for errors in MEX files
Because at some point throwing exceptions from MEX files (with mexErrMsgTxt())
was not working under Windows 64-bit, we had designed a workaround to avoid
using exceptions.

Most MEX files were returning an error code as their first (or sometimes last)
argument, and that code would have to be checked from the MATLAB code.

Since this workaround is no longer needed, this commit removes it. As a
consequence, the interface of many MEX files is modified.

For some background, see https://www.dynare.org/pipermail/dev/2010-September/000895.html
2020-01-10 18:33:11 +01:00
Stéphane Adjemian (Charybdis) c4f1958690 Cosmetic changes + Copyright headers fixes. 2018-01-26 12:00:27 +01:00
Marco Ratto cf8213f7a0 fix to the Kitigawa transformation that allows to reduce the computing time of the likelihood in large models, with a lot of static variables, by 30-50%.
This fixes the bug in e97e5c3407 that led to 2f9dc09285
It is tested and completely fixes the issue highlighted in #1312.
2018-01-26 11:47:39 +01:00
Johannes Pfeifer 8ccebd9e23 DsgeSmoother.m: provide informative error instead of crashing when model cannot be solved 2017-08-16 19:26:24 +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
Johannes Pfeifer 1755192e63 Make 792924 consistent with cases where Pinf is an empty matrix
Fixes the crash in `analytic_derivatives/fs2000_analytic_derivation.mod`
2017-03-31 17:41:38 +02:00
Johannes Pfeifer 2c5b1fed2d Use master function lyapunov_solver.m to call individual solvers 2017-01-04 11:25:44 +01:00
Johannes Pfeifer 2f717b5adc Eliminate global variables from shock_decomposition.m 2016-12-18 09:57:51 +01:00
Michel Juillard 42acb96b3d renamed compute schur_statespace_transformation.m
refactored code
2016-11-22 18:40:10 +01:00
Johannes Pfeifer 98cf1bfc1d Add smoothed state uncertainty to Kalman smoother routines 2016-11-04 09:23:55 +01:00
Johannes Pfeifer af72c1bd22 Add missing comment sign in DsgeSmoother.m 2016-08-22 19:24:35 +02:00
Johannes Pfeifer 63b8c4d2dd Fix smoother for univariate filter with (correlated) measurement error 2016-08-22 19:24:35 +02:00
Johannes Pfeifer a02f7cc8f3 Correct header of DsgeSmoother.m 2016-06-14 11:52:49 +02:00
Houtan Bastani 25121bca4f fix copyright dates 2016-05-04 16:05:31 +02:00
Johannes Pfeifer f5bd4c6b3a Fix bug where smoother selected wrong observables with selected_variables_only option
Closes #1161
2016-04-12 11:36:43 +02:00
Johannes Pfeifer be2221286c Add note on setting of bayestopt_.mf to DsgeSmoother.m 2016-04-12 10:52:40 +02:00
Johannes Pfeifer 98384eb6f2 Document variable ordering in various headers 2016-04-12 10:52:37 +02:00
Johannes Pfeifer ee6b81284a Correct header of DsgeSmoother.m and write_smoother_results.m
Definition of updated variables was incorrect
2016-03-23 10:47:26 +01:00
Johannes Pfeifer dcf0d75d55 Add output of trend to DsgeSmoother.m and use it to reconstruct smoothed and filtered values 2016-03-23 10:19:41 +01:00
Johannes Pfeifer 1c816aef24 Various interrelated bugfixes dealing with detrending 2016-03-23 10:19:40 +01:00
Marco Ratto 0aa7e15d58 - Once Schur stape space transformation is done, map immediately Pinf and Pstar onto the original variablesm to avoid propagation of errors related to multiple unit and zero eigenvalues.
- ensure that smoother and filter get the same Pstar and Pinf in diffuse steps
2015-10-13 17:26: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
Johannes Pfeifer 22b1aa7a0d Filter out case where estimated_params block is present but smoother on calibration is requested
In this case, xparam1 will be empty while estim_params_ does not have conformable dimensions.
2015-06-09 14:51:32 +02:00
Stéphane Adjemian (Charybdis) 6aa5ceabb2 Fixed bug introduced in 363c4a61222103fda22adff9bdb1115a6073428a. 2015-04-03 18:02:03 +02:00
Stéphane Adjemian (Charybdis) 090c4fedbd Added new option (diffuse_kalman_tol) and fixed tolerance paremeters in diffuse smoother routines. 2015-04-03 18:02:03 +02:00
Marco Ratto 7c838b133f Use local variables for restrict var list, to avoid overwriting the global and messing likelihood evaluations later on. 2015-04-03 18:02:03 +02:00
Johannes Pfeifer ed8b47bbf4 Add info to header about additional output argument 2014-12-11 20:59:31 +01:00
Stéphane Adjemian (Karaba) 97b63105a0 Add a parameter to the lyapunov_symm routine (debug mode). 2014-10-13 17:42:53 +02:00
Johannes Pfeifer b90f3deed2 Bugfixes and improvements related to method 3 of lyapunov_symm.m
- the function was called with the wrong input argument for this case (Q instead of R*Q*R'), crashing with incompatible matrix dimensions
- the persistent variable X was not updated when the size of it changed, leading to crashes when estimation is followed by calls to DsgeSmoother.m where the state-space is different
- Also eliminates the printed output in lyapunov_symm.m that could not be turned off and clutters estimation
2014-10-13 17:42:52 +02:00
Stéphane Adjemian (Scylla) 7b089ec2b3 Cosmetic change. Renamed nobs as vobs. 2014-07-17 22:05:07 +02:00
Stéphane Adjemian (Scylla) 66d08ac3bf Merge branch 'master' into use-dynSeries
Conflicts:
	matlab/dynare_estimation_init.m
	matlab/global_initialization.m
	matlab/prior_posterior_statistics.m
	matlab/read_variables.m
	matlab/set_prior.m
	matlab/utilities/dataset/initialize_dataset.m
	preprocessor/ComputingTasks.cc
2014-04-30 10:10:30 +02:00