dynare/doc/manual/source/dynare-misc-commands.rst

202 lines
6.1 KiB
ReStructuredText
Raw Normal View History

.. default-domain:: dynare
2019-02-04 14:44:01 +01:00
.. |br| raw:: html
<br>
####################
Dynare misc commands
####################
.. command:: prior_function(OPTIONS);
2019-02-04 14:44:01 +01:00
|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
2019-02-04 14:44:01 +01:00
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);
2019-02-04 14:44:01 +01:00
|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>`.
2019-02-04 14:44:01 +01:00
.. option:: sampling_draws = INTEGER
See :opt:`prior_function_sampling_draws <sampling_draws = INTEGER>`.
.. command:: generate_trace_plots(CHAIN_NUMBER);
2019-02-04 14:44:01 +01:00
|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
2019-02-04 14:44:01 +01:00
|br| Depending on the value of ``FLAG``, the ``internals`` command
can be used to run unitary tests specific to a MATLAB/Octave
2019-02-04 14:44:01 +01:00
routine (if available), to display documentation about a
MATLAB/Octave routine, or to extract some informations about the
2019-02-04 14:44:01 +01:00
state of Dynare.
2019-02-04 14:44:01 +01:00
*Flags*
2019-02-04 14:44:01 +01:00
``--test``
2019-02-04 14:44:01 +01:00
Performs the unitary test associated to ROUTINENAME (if this
routine exists and if the matlab/octave ``.m`` file has
unitary test sections).
2019-02-04 14:44:01 +01:00
*Example*
2019-02-04 14:44:01 +01:00
::
2019-02-04 14:44:01 +01:00
>> internals --test ROUTINENAME
2019-02-04 14:44:01 +01:00
if ``routine.m`` is not in the current directory, the full
path has to be given::
2019-02-04 14:44:01 +01:00
>> internals --test ../matlab/fr/ROUTINENAME
2019-02-04 14:44:01 +01:00
``--display-mh-history``
2019-02-04 14:44:01 +01:00
Displays information about the previously saved MCMC draws
generated by a ``.mod`` file named MODFILENAME. This file must
be in the current directory.
2019-02-04 14:44:01 +01:00
*Example*
2019-02-04 14:44:01 +01:00
::
2019-02-04 14:44:01 +01:00
>> internals --display-mh-history MODFILENAME
2019-02-04 14:44:01 +01:00
``--load-mh-history``
|br| Loads into the MATLAB/Octaves workspace informations
2019-02-04 14:44:01 +01:00
about the previously saved MCMC draws generated by a ``.mod``
file named MODFILENAME.
2019-02-04 14:44:01 +01:00
*Example*
2019-02-04 14:44:01 +01:00
::
2019-02-04 14:44:01 +01:00
>> internals --load-mh-history MODFILENAME
2019-02-04 14:44:01 +01:00
This will create a structure called ``mcmc_informations``
(in the workspace) with the following fields:
2019-02-04 14:44:01 +01:00
``Nblck``
2019-02-04 14:44:01 +01:00
The number of MCMC chains.
2019-02-04 14:44:01 +01:00
``InitialParameters``
2019-02-04 14:44:01 +01:00
A ``Nblck*n``, where ``n`` is the number of estimated
parameters, array of doubles. Initial state of
the MCMC.
2019-02-04 14:44:01 +01:00
``LastParameters``
2019-02-04 14:44:01 +01:00
A ``Nblck*n``, where ``n`` is the number of estimated
parameters, array of doubles. Current state of
the MCMC.
2019-02-04 14:44:01 +01:00
``InitialLogPost``
2019-02-04 14:44:01 +01:00
A ``Nblck*1`` array of doubles. Initial value of the
posterior kernel.
2019-02-04 14:44:01 +01:00
``LastLogPost``
2019-02-04 14:44:01 +01:00
A ``Nblck*1`` array of doubles. Current value of the
posterior kernel.
2019-02-04 14:44:01 +01:00
``InitialSeeds``
2019-02-04 14:44:01 +01:00
A ``1*Nblck`` structure array. Initial state of the random
number generator.
2019-02-04 14:44:01 +01:00
``LastSeeds``
2019-02-04 14:44:01 +01:00
A ``1*Nblck`` structure array. Current state of the random
number generator.
2019-02-04 14:44:01 +01:00
``AcceptanceRatio``
2019-02-04 14:44:01 +01:00
A ``1*Nblck`` array of doubles. Current acceptance ratios.
2020-01-08 12:48:39 +01:00
.. matcomm:: prior [OPTIONS[, ...]];
2020-01-08 12:48:39 +01:00
Prints information about the prior distribution given the provided
options. If no options are provided, the command returns the list of
available options.
2020-01-08 12:48:39 +01:00
*Options*
.. option:: table
2019-02-04 14:44:01 +01:00
Prints a table describing the marginal prior distributions
(mean, mode, std., lower and upper bounds, HPD interval).
2020-01-08 12:48:39 +01:00
.. option:: moments
2019-02-04 14:44:01 +01:00
Computes and displays first and second order moments of the
endogenous variables at the prior mode (considering the
linearized version of the model).
2020-01-08 12:48:39 +01:00
.. option:: 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.
2020-01-08 12:48:39 +01:00
.. option:: optimize
2019-02-04 14:44:01 +01:00
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).
2020-01-08 12:48:39 +01:00
.. option:: simulate
2019-02-04 14:44:01 +01:00
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.
2020-01-08 12:48:39 +01:00
.. option:: plot
Plots the marginal prior density.