Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Dóra Kocsis
dynare
Commits
68a33a76
Commit
68a33a76
authored
Nov 04, 2013
by
Johannes Pfeifer
Browse files
Add function to check covariances for consistency in stochastic simulations
parent
27f525e1
Changes
2
Hide whitespace changes
Inline
Side-by-side
matlab/check_consistency_covariances.m
0 → 100644
View file @
68a33a76
function
correct_flag
=
check_consistency_covariances
(
Covariance_matrix
)
% function check_consistency_covariances(Covariance_matrix)
% checks consistency of covariance matrices by checking whether the
% covariances imply correlations bigger than 1.
%
% Outputs: correct_flag [scalar] 0 if not consistent, 1 otherwise
% Inputs: Covariance_matrix [matrix] covariance matrix to be checked
% Copyright (C) 2013 Dynare Team
%
% This file is part of Dynare.
%
% Dynare is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% Dynare is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
%compute theoretical bound by assuming correlation of 1
bound
=
diag
(
sqrt
(
diag
(
Covariance_matrix
)))
*
ones
(
size
(
Covariance_matrix
))
*
diag
(
sqrt
(
diag
(
Covariance_matrix
)));
correct_flag
=
1
;
if
any
(
any
(
tril
(
Covariance_matrix
,
-
1
)
>
bound
))
||
any
(
any
(
tril
(
Covariance_matrix
,
-
1
)
<-
bound
))
correct_flag
=
0
;
end
\ No newline at end of file
matlab/check_model.m
View file @
68a33a76
...
...
@@ -30,4 +30,13 @@ end
if
(
DynareModel
.
exo_det_nbr
>
0
)
&&
(
DynareModel
.
maximum_lag
>
1
||
DynareModel
.
maximum_lead
>
1
)
error
([
'Exogenous deterministic variables are currently only allowed in'
...
' models with leads and lags on only one period'
])
end
if
~
check_consistency_covariances
(
DynareModel
.
Sigma_e
)
error
(
'The specified covariances for the structural errors are not consistent with the variances as they imply a correlation larger than +-1'
)
end
if
~
isequal
(
DynareModel
.
H
,
0
)
if
~
check_consistency_covariances
(
DynareModel
.
H
)
error
(
'The specified covariances for the measurement errors are not consistent with the variances as they imply a correlation larger than +-1'
)
end
end
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment