A question about how Dynare does parameter estimation

This forum is closed. You can read the posts but cannot write. We have migrated the forum to a new location where you will have to reset your password.
Forum rules
This forum is closed. You can read the posts but cannot write. We have migrated the forum to a new location (https://forum.dynare.org) where you will have to reset your password.

A question about how Dynare does parameter estimation

Postby abscissaordinate » Sun Apr 04, 2010 3:53 pm

I'll start with a little background on my model. Among my parameters are p, muln, and sigmaln, and one of my endogenous variables is z. The nonstochastic steady-state value of z is logninv(p,muln,sigmaln), where logninv is the lognormal inverse cumulative distribution function in MATLAB.

It turns out I need the nonstochastic steady-state value of z in my model block. However, as we know logninv is not one of the allowed functions in the model block. To get around this, I created an additional parameter z_ss and assigned z_ss = logninv(p,muln,sigmaln) in the parameter block. (Apparently arbitrary functions are allowed in the parameter block.)

My question is: how would Dynare pick new parameters during parameter estimation step? Does it change the parameter vector as a whole by epsilon without regard for the structure of the parameters? That is, as Dynare runs some sort of minimization routine, it picks new parameters independently so it picks a new z_ss that is not logninv(p,muln,sigmaln). Or is it the case that Dynare runs through the parameter step first so any z_ss goes into the minimization routine would satisfy the condition z_ss = logninv(p,muln,sigmaln)?

Thank you very much for your time!

Tim
abscissaordinate
 
Posts: 15
Joined: Wed Nov 14, 2007 2:07 am

Re: A question about how Dynare does parameter estimation

Postby SébastienVillemot » Thu Apr 15, 2010 9:43 am

Hi,

As you did it, Dynare will pick up arbitrary values of z_ss: it will be considered as a parameter, to be optimized over, without respecting the constraint that is imposed by the steady state relationship.

You can solve this problem in two possible ways:
  • use the STEADY_STATE operator: instead of creating a new parameter z_ss, replace every occurrence of z_ss by STEADY_STATE(z). This should do what you want, provided that the estimation routine succeeds in recomputing the steady state every time the parameters are changed. You may find it useful to write a steady state file.
  • in the snapshot (unstable) version of Dynare, we now have some support for external functions. You may then use the logninv() function directly in the model. See http://www.dynare.org/DynareWiki/ExternalFunctions . Note that this feature is not in Dynare 4.1, you need to download the snapshot.

Best
Sébastien Villemot
Economist at OFCE – Sciences Po
SébastienVillemot
 
Posts: 706
Joined: Fri Dec 07, 2007 2:29 pm
Location: Paris, France

Re: A question about how Dynare does parameter estimation

Postby abscissaordinate » Thu Apr 15, 2010 1:18 pm

Thanks a bunch, Sébastien!
abscissaordinate
 
Posts: 15
Joined: Wed Nov 14, 2007 2:07 am


Return to Dynare help

Who is online

Users browsing this forum: Google [Bot] and 13 guests