221 lines
6.9 KiB
ReStructuredText
221 lines
6.9 KiB
ReStructuredText
|
.. default-domain:: dynare
|
|||
|
|
|||
|
.. |br| raw:: html
|
|||
|
|
|||
|
<br>
|
|||
|
|
|||
|
####################
|
|||
|
Dynare misc commands
|
|||
|
####################
|
|||
|
|
|||
|
.. command:: prior_function(OPTIONS);
|
|||
|
|
|||
|
|br| Executes a user-defined function on parameter draws from the prior
|
|||
|
distribution. Dynare returns the results of the computations for
|
|||
|
all draws in an $ndraws$ by $n$ cell array named
|
|||
|
``oo_.prior_function_results``.
|
|||
|
|
|||
|
*Options*
|
|||
|
|
|||
|
.. option:: function = FUNCTION_NAME
|
|||
|
|
|||
|
The function must have the following header ``output_cell =
|
|||
|
FILENAME(xparam1,M_,options_,oo_,estim_params_,bayestopt_,dataset_,dataset_info)``,
|
|||
|
providing read-only access to all Dynare structures. The only
|
|||
|
output argument allowed is a :math:`1 \times n` cell array,
|
|||
|
which allows for storing any type of output/computations. This
|
|||
|
option is required.
|
|||
|
|
|||
|
.. option:: sampling_draws = INTEGER
|
|||
|
|
|||
|
Number of draws used for sampling. Default: 500.
|
|||
|
|
|||
|
.. command:: posterior_function(OPTIONS);
|
|||
|
|
|||
|
|br| Same as the :comm:`prior_function` command but for the
|
|||
|
posterior distribution. Results returned in
|
|||
|
``oo_.posterior_function_results``.
|
|||
|
|
|||
|
*Options*
|
|||
|
|
|||
|
.. option:: function = FUNCTION_NAME
|
|||
|
|
|||
|
See :opt:`prior_function_function <function = FUNCTION_NAME>`.
|
|||
|
|
|||
|
.. option:: sampling_draws = INTEGER
|
|||
|
|
|||
|
See :opt:`prior_function_sampling_draws <sampling_draws = INTEGER>`.
|
|||
|
|
|||
|
.. command:: generate_trace_plots(CHAIN_NUMBER);
|
|||
|
|
|||
|
|br| Generates trace plots of the MCMC draws for all estimated
|
|||
|
parameters and the posterior density in the specified Markov Chain
|
|||
|
``CHAIN_NUMBER``.
|
|||
|
|
|||
|
.. matcomm:: internals FLAG ROUTINENAME[.m]|MODFILENAME
|
|||
|
|
|||
|
|br| Depending on the value of ``FLAG``, the ``internals`` command
|
|||
|
can be used to run unitary tests specific to a Matlab/Octave
|
|||
|
routine (if available), to display documentation about a
|
|||
|
Matlab/Octave routine, or to extract some informations about the
|
|||
|
state of Dynare.
|
|||
|
|
|||
|
*Flags*
|
|||
|
|
|||
|
``--test``
|
|||
|
|
|||
|
Performs the unitary test associated to ROUTINENAME (if this
|
|||
|
routine exists and if the matlab/octave ``.m`` file has
|
|||
|
unitary test sections).
|
|||
|
|
|||
|
*Example*
|
|||
|
|
|||
|
::
|
|||
|
|
|||
|
>> internals --test ROUTINENAME
|
|||
|
|
|||
|
if ``routine.m`` is not in the current directory, the full
|
|||
|
path has to be given::
|
|||
|
|
|||
|
>> internals --test ../matlab/fr/ROUTINENAME
|
|||
|
|
|||
|
``--info``
|
|||
|
|
|||
|
Prints on screen the internal documentation of ROUTINENAME (if
|
|||
|
this routine exists and if this routine has a texinfo internal
|
|||
|
documentation header). The path to ``ROUTINENAME`` has to be
|
|||
|
provided, if the routine is not in the current directory.
|
|||
|
|
|||
|
*Example*
|
|||
|
|
|||
|
::
|
|||
|
|
|||
|
>> internals --doc ../matlab/fr/ROUTINENAME
|
|||
|
|
|||
|
At this time, will work properly for only a small number
|
|||
|
of routines. At the top of the (available) Matlab/Octave
|
|||
|
routines a commented block for the internal documentation
|
|||
|
is written in the GNU texinfo documentation format. This
|
|||
|
block is processed by calling texinfo from
|
|||
|
MATLAB. Consequently, texinfo has to be installed on your
|
|||
|
machine.
|
|||
|
|
|||
|
``--display-mh-history``
|
|||
|
|
|||
|
Displays information about the previously saved MCMC draws
|
|||
|
generated by a ``.mod`` file named MODFILENAME. This file must
|
|||
|
be in the current directory.
|
|||
|
|
|||
|
*Example*
|
|||
|
|
|||
|
::
|
|||
|
|
|||
|
>> internals --display-mh-history MODFILENAME
|
|||
|
|
|||
|
``--load-mh-history``
|
|||
|
|
|||
|
|br| Loads into the Matlab/Octave’s workspace informations
|
|||
|
about the previously saved MCMC draws generated by a ``.mod``
|
|||
|
file named MODFILENAME.
|
|||
|
|
|||
|
*Example*
|
|||
|
|
|||
|
::
|
|||
|
|
|||
|
>> internals --load-mh-history MODFILENAME
|
|||
|
|
|||
|
This will create a structure called ``mcmc_informations``
|
|||
|
(in the workspace) with the following fields:
|
|||
|
|
|||
|
``Nblck``
|
|||
|
|
|||
|
The number of MCMC chains.
|
|||
|
|
|||
|
``InitialParameters``
|
|||
|
|
|||
|
A ``Nblck*n``, where ``n`` is the number of estimated
|
|||
|
parameters, array of doubles. Initial state of
|
|||
|
the MCMC.
|
|||
|
|
|||
|
``LastParameters``
|
|||
|
|
|||
|
A ``Nblck*n``, where ``n`` is the number of estimated
|
|||
|
parameters, array of doubles. Current state of
|
|||
|
the MCMC.
|
|||
|
|
|||
|
``InitialLogPost``
|
|||
|
|
|||
|
A ``Nblck*1`` array of doubles. Initial value of the
|
|||
|
posterior kernel.
|
|||
|
|
|||
|
``LastLogPost``
|
|||
|
|
|||
|
A ``Nblck*1`` array of doubles. Current value of the
|
|||
|
posterior kernel.
|
|||
|
|
|||
|
``InitialSeeds``
|
|||
|
|
|||
|
A ``1*Nblck`` structure array. Initial state of the random
|
|||
|
number generator.
|
|||
|
|
|||
|
``LastSeeds``
|
|||
|
|
|||
|
A ``1*Nblck`` structure array. Current state of the random
|
|||
|
number generator.
|
|||
|
|
|||
|
``AcceptanceRatio``
|
|||
|
|
|||
|
A ``1*Nblck`` array of doubles. Current acceptance ratios.
|
|||
|
|
|||
|
.. matcomm:: prior [options[, ...]];
|
|||
|
|
|||
|
Prints various informations about the prior distribution depending
|
|||
|
on the options. If no options are provided, the command returns
|
|||
|
the list of available options. Following options are available:
|
|||
|
|
|||
|
``table``
|
|||
|
|
|||
|
Prints a table describing the marginal prior distributions
|
|||
|
(mean, mode, std., lower and upper bounds, HPD interval).
|
|||
|
|
|||
|
``moments``
|
|||
|
|
|||
|
Computes and displays first and second order moments of the
|
|||
|
endogenous variables at the prior mode (considering the
|
|||
|
linearized version of the model).
|
|||
|
|
|||
|
``moments(distribution)``
|
|||
|
|
|||
|
Computes and displays the prior mean and prior standard
|
|||
|
deviation of the first and second moments of the endogenous
|
|||
|
variables (considering the linearized version of the model) by
|
|||
|
randomly sampling from the prior. The results will also be
|
|||
|
stored in the ``prior`` subfolder in a
|
|||
|
``_endogenous_variables_prior_draws.mat`` file.
|
|||
|
|
|||
|
``optimize``
|
|||
|
|
|||
|
Optimizes the prior density (starting from a random initial
|
|||
|
guess). The parameters such that the steady state does not
|
|||
|
exist or does not satisfy the Blanchard and Kahn conditions
|
|||
|
are penalized, as they would be when maximizing the posterior
|
|||
|
density. If a significant proportion of the prior mass is
|
|||
|
defined over such regions, the optimization algorithm may fail
|
|||
|
to converge to the true solution (the prior mode).
|
|||
|
|
|||
|
``simulate``
|
|||
|
|
|||
|
Computes the effective prior mass using a Monte-Carlo. Ideally
|
|||
|
the effective prior mass should be equal to 1, otherwise
|
|||
|
problems may arise when maximising the posterior density and
|
|||
|
model comparison based on marginal densities may be
|
|||
|
unfair. When comparing models, say :math:`A` and :math:`B`,
|
|||
|
the marginal densities, :math:`m_A` and :math:`m_B`, should be
|
|||
|
corrected for the estimated effective prior mass
|
|||
|
:math:`p_A\neq p_B \leq 1` so that the prior mass of the
|
|||
|
compared models are identical.
|
|||
|
|
|||
|
``plot``
|
|||
|
|
|||
|
Plots the marginal prior density.
|