structural break in Bayesian estimation and DYNARE syntaxis
Posted: Tue Jan 16, 2007 4:54 pm
Dear Michel
Perhaps this question is not well thought out, but...
I want to use Bayesian estimation to deal with model with structural breaks. Namely, I used to have the following model (simplified version):
model(linear);
y = gamma*y(-1) + delta*x + e;
x = alpha*x(-1) + beta*y + u;
end;
y and x are observable
Now, I believe that x has a structural break at time t0, I add one extra data series which is zero untill t0 and one ater that, call it It. In description I list it among exogenous observable variables
the model becomes
model;
y = gamma*y(-1) + (delta+z_d*It)*x + e;
x = (alpha+z_a*It)*x(-1) + (beta+z_b*It)*y + u;
end;
I obviously add three new parameters and do not call model linear any more.
If I run dynare, it checks steady state, plots priors and then says that "inner matrix dimensions must agree". Is there anything wrong with this definition? How can I fix it?
PS. I think I know: the problem is with definition of a product. Clearly, I need a "dot product". The dynare does not seem to recognise it, if I simply write
model;
y = gamma*y(-1) + delta*x+z_d*It.*x+ e;
x = alpha*x(-1)+z_a*It.*x(-1) + beta*y+z_b*It.*y + u;
end;
I also tried to define separately xt = x.*It; but it did not help. I am afraid I cannot make x.*It as a new observable variable as I need to multiply It on unobservable variables too. Is the any way to explain DYNARE what it is?
Perhaps this question is not well thought out, but...
I want to use Bayesian estimation to deal with model with structural breaks. Namely, I used to have the following model (simplified version):
model(linear);
y = gamma*y(-1) + delta*x + e;
x = alpha*x(-1) + beta*y + u;
end;
y and x are observable
Now, I believe that x has a structural break at time t0, I add one extra data series which is zero untill t0 and one ater that, call it It. In description I list it among exogenous observable variables
the model becomes
model;
y = gamma*y(-1) + (delta+z_d*It)*x + e;
x = (alpha+z_a*It)*x(-1) + (beta+z_b*It)*y + u;
end;
I obviously add three new parameters and do not call model linear any more.
If I run dynare, it checks steady state, plots priors and then says that "inner matrix dimensions must agree". Is there anything wrong with this definition? How can I fix it?
PS. I think I know: the problem is with definition of a product. Clearly, I need a "dot product". The dynare does not seem to recognise it, if I simply write
model;
y = gamma*y(-1) + delta*x+z_d*It.*x+ e;
x = alpha*x(-1)+z_a*It.*x(-1) + beta*y+z_b*It.*y + u;
end;
I also tried to define separately xt = x.*It; but it did not help. I am afraid I cannot make x.*It as a new observable variable as I need to multiply It on unobservable variables too. Is the any way to explain DYNARE what it is?