Dear Michel and Sébastien,
currently Dynare substitutes exogenous lags and leads and adds equations. In the attached mod-file (ignore the complex parameter values which are the true problem for now), there are 12 endogenous variables. The preprocessor now says Substitution of exo leads: added 3 auxiliary variables and equations.
Running model_diagnostics delivers:
model_diagnostic: the Jacobian of the static model is singular
there is 1 colinear relationships between the variables and the equations
Colinear variables:
c
k
y
l
mc
R
w
pi
Colinear equations
8 14
But originally, there are only 12 equations. Is there a certain rule where the auxiliary equations are included? Are they simply appended at the end so that I know to focus on equation 8 in this case? And how can I tell to which original exogenous variable equation 14 refers to?
If there is no easy answer to those two questions, I would suggest to
- add the name of the original substituted variable as a field in M_.aux_vars, which together with the type stored there should be sufficient for full identification.
- Add the information about where the equations are appended to the Wiki (http://www.dynare.org/DynareWiki/AuxiliaryVariables)
Moreover, regarding the Wiki: could it be that there is a typo and it should be Aux var for endogenous with lag >= 1 instead of >=2 (and the same for endogenous leads)?
Best,
Johannes
--
Johannes Pfeifer
Haußerstr. 29
72076 Tübingen
Tel.: +49-(0)7071-6396184
Mobil.: +49-(0)170-6936820
Germany
Sébastien,
could you please take a look at it. I have the feeling that the Jacobian of the static model evaluated in model_diagnostics (jacob) is wrong. I don't understand the origin of jacob(8,14), after line 99. It must correspond to the auxiliary variable replacing s_f(+1), but the derivative should be equal to zero because s_fst=0.
I agree with Johannes that we should make it easier to relate the auxiliary variable and the exogenous one in M_.aux_vars.
Best,
Michel
Johannes Pfeifer writes:
Dear Michel and Sébastien,
currently Dynare substitutes exogenous lags and leads and adds equations. In the attached mod-file (ignore the complex parameter values which are the true problem for now), there are 12 endogenous variables. The preprocessor now says Substitution of exo leads: added 3 auxiliary variables and equations.
Running model_diagnostics delivers:
model_diagnostic: the Jacobian of the static model is singular
there is 1 colinear relationships between the variables and the equations
Colinear variables:
c
k
y
l
mc
R
w
pi
Colinear equations
8 14
But originally, there are only 12 equations. Is there a certain rule where the auxiliary equations are included? Are they simply appended at the end so that I know to focus on equation 8 in this case? And how can I tell to which original exogenous variable equation 14 refers to?
If there is no easy answer to those two questions, I would suggest to
add the name of the original substituted variable as a field in
M_.aux_vars, which together with the type stored there should be sufficient for full identification.
Add the information about where the equations are appended to the
Wiki (http://www.dynare.org/DynareWiki/AuxiliaryVariables)
Moreover, regarding the Wiki: could it be that there is a typo and it should be Aux var for endogenous with lag >= 1 instead of >=2 (and the same for endogenous leads)?
Best,
Johannes
--
Johannes Pfeifer
Haußerstr. 29
72076 Tübingen
Tel.: +49-(0)7071-6396184
Mobil.: +49-(0)170-6936820
Germany
Dev mailing list Dev@dynare.org https://www.dynare.org/cgi-bin/mailman/listinfo/dev
Le dimanche 10 mars 2013 à 11:36 +0100, Michel Juillard a écrit :
could you please take a look at it. I have the feeling that the Jacobian of the static model evaluated in model_diagnostics (jacob) is wrong. I don't understand the origin of jacob(8,14), after line 99. It must correspond to the auxiliary variable replacing s_f(+1), but the derivative should be equal to zero because s_fst=0.
The element that you are referring to is rather jacob(8,15), which is indeed zero. jacob(8,14) refers to the derivative w.r.t. s, and is rightly not zero.
Oops... Thanks :)
Michel
Sébastien Villemot writes:
Le dimanche 10 mars 2013 à 11:36 +0100, Michel Juillard a écrit :
could you please take a look at it. I have the feeling that the Jacobian of the static model evaluated in model_diagnostics (jacob) is wrong. I don't understand the origin of jacob(8,14), after line 99. It must correspond to the auxiliary variable replacing s_f(+1), but the derivative should be equal to zero because s_fst=0.
The element that you are referring to is rather jacob(8,15), which is indeed zero. jacob(8,14) refers to the derivative w.r.t. s, and is rightly not zero.
Le dimanche 10 mars 2013 à 10:42 +0100, Johannes Pfeifer a écrit :
currently Dynare substitutes exogenous lags and leads and adds equations. In the attached mod-file (ignore the complex parameter values which are the true problem for now), there are 12 endogenous variables. The preprocessor now says “Substitution of exo leads: added 3 auxiliary variables and equations.”
Running model_diagnostics delivers:
[...]
But originally, there are only 12 equations. Is there a certain rule where the auxiliary equations are included? Are they simply appended at the end so that I know to focus on equation 8 in this case? And how can I tell to which original exogenous variable equation 14 refers to?
The Dynare preprocessor appends the new equations after the ones provided by the user. The easy way to see what they contain is to use the `write_latex_{static,dynamic}_model' commands. This will also reveal the match between auxiliary variables and what they replace.
If there is no easy answer to those two questions, I would suggest to
add the name of the original substituted variable as a
field in M_.aux_vars, which together with the type stored there should be sufficient for full identification.
This is already done for lagged variables, but this is not possible for lead variables, because an auxiliary variable can correspond to a more complex expression that a simple variable. Think of E_t(x_{t+2}*y_{t +2}), which can only be replaced by a single variable (because of the expectancy operator).
Add the information about where the equations are appended
to the Wiki (http://www.dynare.org/DynareWiki/AuxiliaryVariables)
I added the information about writing LaTeX files on the wiki. If you feel this is not enough, feel free to open an issue with ideas on how to improve the current situation.
Moreover, regarding the Wiki: could it be that there is a typo and it should be “Aux var for endogenous with lag >= 1” instead of >=2 (and the same for endogenous leads)?
There was indeed a typo, but for exogenous variables. Now fixed, thanks.