Implement interface for posterior sampling methods
Related to #1174 and #1065 (closed)
I would propose to use this occasion to further clean up the options_
-structure and create a field options_.posterior_sampler_options
that stores as subfields the various options.
The preprocessor should have an option posterior_sampling_method
that accepts a quoted string that can be slice
, random_walk_metropolis_hastings
, independent_metropolis_hastings
or tailored_random_block_metropolis_hastings
It should map into options_.posterior_sampler_options.posterior_sampling_method
with default
random_walk_metropolis_hastings
, which replaces the current options_.posterior_sampling_method
In addition:
- We need a subfields
options_.posterior_sampler_options.tarb
,options_.posterior_sampler_options.rwmh
,options_.posterior_sampler_options.slice
, andoptions_.posterior_sampler_options.imh
that store the default options for the respective sampler as we already do for different mode_computes. - We need the preprocessor to accept name/value pairs like in the already existing
optim
-option in the form ofposterior_sampler_options = (NAME, VALUE,...)
. It should map into a stringoptions_.posterior_sampler_options.sampling_opt
, which can then be read out usingread_key_value_string
as we already do indynare_minimize_objective
. - The already existing but undocumented options
options_.proposal_distribution
andoptions_.student_degrees_of_freedom
should now become sampler-specific subfields of the fields introduced in 1.