Page 1 of 1

identification command when correlation coef. is estimated

PostPosted: Mon Nov 11, 2013 10:21 pm
by jduras
I am estimating a model where innovations of shocks are correlated, and the correlation coefficient is one of the parameters estimated. When I run the identification command dynare crashes, with error message

Error using .*
Matrix dimensions must agree.
Error in identification_analysis (line 224)
deltaM = deltaM.*abs(params');

As far as I can see, this is because correlation coefficient is not included when matrix JJ is constructed by function getJJ on line 82 of identification_analysis.m, and thus deltaM has 1 row less than params.

I know that I can introduce correlated innovations using eps1=e1+phi*e3 and eps2=e2+phi*e3 and the identification command works fine then, but in this case it reports the measure of identification for phi and not directly for the correlation coefficient. So I was wondering if there is a way how to run identification with eps1, eps2 directly without introducing e1, e2, e3, phi.

Thanks!

Re: identification command when correlation coef. is estimat

PostPosted: Wed Nov 13, 2013 3:35 pm
by rattoma
Hi,

indeed the identification does not work with the correlation coefficient estimated. This is something in the todo list for the future, but so far the only thing that works is to reparameterize the shocks within model definition.
I think you could also use a choleski to get it? this may also allow to map the choleski to the original correlation coefficient?
best

Re: identification command when correlation coef. is estimat

PostPosted: Wed Nov 13, 2013 11:48 pm
by jduras
OK, thanks! I will try to think about a way to do it using Cholesky decomposition.

Jan

Re: identification command when correlation coef. is estimat

PostPosted: Thu Nov 14, 2013 3:49 pm
by jduras
OK, so it seems that it can be done using a model-local variable.

If the innovations are e1=sigma1*eps1 - phi1*eps3 and e2 = sigma2*eps2 - phi1*eps3 with correlation coefficient rho = -phi^2 / (sigma1*sigma2+phi^2) then identification command (at least for posterior mean) works if I write

model
#phi1 = sqrt( -sigma1*sigma2*rho/(1+rho) );
v1 = rho11*v1(-1) + rho12*v2(-1) + sigma1*eps1 - phi1*eps3;
v2 = rho12*v1(-1) + rho11*v2(-1) + sigma2*eps2 - phi1*eps3;
end

...

estimated_params;
...
rho, -0.2, beta_pdf, 0, 0.3, -1, 1;
end;

Does this look OK to you, rattoma?

Jan