New Estimation Interface
Suggestions for a simplification of the estimation interface in Dynare and breaking very general commands with lots of options in several commands with more targeted scope.
set_time
dataset
estimated_params
Rely on options names rather than argument position in the command line. This new interface would replace estimated_params_bounds and estimated_params_init. The following option names would be necessary
- For the declaration of the priors
shape, name of the prior distribution.
mean, mean of the prior distribution.
stdev, standard deviation of the prior distribution.
variance, variance of the prior distribution.
mode, mode of the prior distribution.
interval, specification of the prior distribution from the cumulative distribution function defining an interval covering an arbitrary percentage of the prior mass. See below for an example.
shift, to shift the domain a distribution. See below for an example (useless if the domain of the distribution is the set of real numbers).
domain, specify the domain of distributions with bounded support (uniform and beta).
- For optimization options
boundaries, enforce the optimizer to look for a mode in a specified interval.
initial, initial value for the optimizer.
- For the mcmc options
jscale, scale paramemeter for the jumping distribution specific to a parameter.
Syntax examples
The following instructions given as examples are to be used within the estimated_params block.
- Declaration of a prior for estimated parameter alpha, specified using mean and variance:
alpha.prior(shape=beta,mean=0.3,variance=0.1^2);
- Declaration of a prior for estimated parameter alpha, specified using the cumulative distribution function:
alpha.prior(shape=beta,interval=(0.2,0.4,.9);
- with this syntax the prior is such that 90% of the prior mass lies between 0.2 and 0.4.
- Declaration of the subsamples (must preceed the declaration of the priors):
alpha.subsamples(name1=1950Q3:1957Q4, name2=1958Q1:1983Q2, name3=1983Q3:2011Q2)
- Declaration of alpha's prior over different subsamples (must follow the declaration of the subsamples):
alpha.name1.prior(shape=normal,mode=0.30,stdv=.01); alpha.name2.prior(shape=normal,mode=0.33,stdv=.01); alpha.name2.prior(shape=normal,mode=0.40,stdv=.01);