# Question on steady state in Bayesian estimation

I have one problem on bayesian estimation. I appreciate someone could give me some hint.

The log linearized equations usually contains steady state variables of endogenous variables.
Those steady state values of course depend on deep parameters. During the iteration of estimation, the estimated parameter will be updated and the steady state values should also be updated accordingly. In some models, all steady state values could be express as some function of deep parameters explicitly. So I could replace those steady state by relationship with parameters and estimating those parameters. I am estimating standard matching models. It seems to me it is not possible to do that. I try to solve the steady state of matching model by hand, and I could reduce the system of steady state relationship to one equation and one unkown. But unfortunately it is highly nonlinear, and I could not explicitly express this variable as function of estimated parameters.

I am told that I could take some steady state value as unknown parameter, and estimate it, meanwhile adding some measurement equation. This strategy will get dynare work. I am not sure that is perfect strategy, because some information of steady state relationship is lost.

My question is that, if it is not possible to express steady state values as explicit function of parameters, how could I do bayesian estimation, in particular
make dynare keeping the dependence of steady state values on estimated parameters during iteration. Thanks for your help!!

Justin

Hi all,

I’m digging up an old posts that are relevant to my question.

Right now i have a log-linearized large scale DSGE model, and I want do bayesian estimation. The problem is that some steady state values appear as the coefficients of some model equations. Due to the model complication, I need to use “fsolve” to compute the steady states of some variables, and these steady state values are not guaranteed existence for some sets of parameter values. I’m thinking two ways to deal with it:

1. I could construct an independent steadystate.m file (e.g. the posts Steady state file ), which contains the “fsolve”. What I’m concerned is that some prior draws may not lead to a solvable steady state. I wonder how the dynare will deal with theses priors? Will it show an error and stops executing?

2. I may estimate these steady state values instead of constructing them from structural parameters. But this seems to introduce redundancy. There could be cases that the estimated steady state values are far away from the calibrated one.
2.1 What’s the drawback of this way of dealing steady state values? Is the estimation result “reliable”?

2.2 I saw the previous post mentioned that we could introduce measurement error. So how does it work?

Thanks very much!

1. The proper way is to use the steady_state-file. Take a look at github.com/DynareTeam/dynare/blob/master/examples/NK_baseline_steadystate.m. There you can see that the steady_state file outputs a `check` indicator that tells Dynare whether the file successfully computed the steady state. Therefore, if fsolve does not finish with proper exitflag, return `check=1`
and Dynare will discard this parameter draw (aka assuming the prior density is 0; note that this will create issues with model_comparison but not estimation).

2.1 If your steady state values are independent parameters, you can estimate them. Otherwise, you cannot. Treating them as independent parameters will imply that you are estimating a different model.

2.2 I don’t understand the argument about measurement error. This does not strike me as feasible.

2.1 I saw some paper saying “We decided not to calibrate these [steady states] to avoid biasing the estimation and the simulations in either direction.” I’m pretty sure the steady states are not independent parameters.

2.2 That argument is from the original post of this thread, where the author said
“I am told that I could take some steady state value as unknown parameter, and estimate it, meanwhile adding some measurement equation. This strategy will get dynare work. I am not sure that is perfect strategy, because some information of steady state relationship is lost.”

I don’t understand it, either.

Regarding 2.1, there are various strategies that could apply here. For example, if you use demeaned observation equations you are getting rid of data constraints on the means. But these are more subtle considerations than were originally hinted at in this post.

Regarding 2.1, there are various strategies that could apply here. For example, if you use demeaned observation equations you are getting rid of data constraints on the means. But these are more subtle considerations than were originally hinted at in this post.[/quote]

1. " there are various strategies that could apply here". You mean that there are various strategies that could estimate instead of calibrating the ss? Would like to name some methods or recommend some lecture notes or literature review? Thanks!

2. If one uses demeaned observation equations, one is getting rid of data constraints on the means. However, even with demeaned observation equations, I think that the ss values appear as coefficients to be estimated will still lead to problems since the relationship btw ss and structural parameters are not fully exploited.

3. One way to deal with it that I saw in some paper has the following structure:

Steady state values of each endogenous variable are computed based on original model equations, which are written in levels. These erogenous variables are X1, X2, X3, X4 and X5. Then each equation is log linearized around steady states.

After linearization, the new endogenous variables are defined as x1, x2, x3, x3, x5, and two exogenous shocks are y1 y2. Because of log linearization, the steady state values of the x1, …, x5 are zero.

The equations in the model block have the form,

e.g. Ax1=B(C/D)*x2(-1)+y1, where A and B are structural parameters, and C and D are steady states values of X2 and X1.

The two observational equations are

XX1_t= x1_t+D, where XX1 is the observed data, not demeaned; x1_t is the demeaned variable; D is the steady state value of X1_t.

XX4_t= x4_t+G, where XX4 is the observed data, not demeaned; x4_t is the demeaned variable; G is the steady state value of X4_t.

All the structural parameters and the steady state of variable X3 are estimated. The steady state of variable X3 appears as coefficients in some other log linearized equations in the model block.

I think this way of estimation is not proper since the relationship btw ss and structural parameters implied by original equations are not fully used. Extra evidence: I found that the posterior median of the steady state value of x3 is inconsistent with the steady state value of X3 implied by the posterior median of structure parameters and the model equations before log-lineariazaion. This is also true for other percentile of posterior parameters. I wonder whether the above argument justifies that “this way of estimation is not proper”.

Thanks!

Let’s step back from discussing rather peculiar approaches.
It all depends on what you are trying to achieve. The whole point of structural estimation is to obtain cross-equation restrictions on the VARMA-process implied by the DSGE model and its structural parameters. The only “proper” way to estimate your model is honor these restrictions, here in the form of steady state values implied by the structural parameters. All things you discussed here are rather dirty hacks to get around imposing particular steady state model restrictions. Is that really what you want to do? If not, go with the steady state file that imposes these restrictions.