MfU.Control {MfUSampler} | R Documentation |
Constructing Control List for MfU.Sample
Description
Returns a list of all control parameters needed for univariate samplers. Parameter names (after removing the prefixes) are identical to those used in original packages / source code. To be used with multivariate distributions, all control parameters must have the same length as the dimensionality of state space, either as vectors or lists.
Usage
MfU.Control(n, slice.w=1, slice.m=Inf, slice.lower=-Inf, slice.upper=+Inf
, ars.x=c(-4,1,4), ars.ns=100, ars.m=3, ars.emax=64, ars.lb=FALSE, ars.xlb=0
, ars.ub=FALSE, ars.xub=0, arms.indFunc = function(x) TRUE
, unimet.sigma = 1.0)
Arguments
n |
Dimensionality of state space, corresponding to |
slice.w |
Size of the steps for creating slice sampler interval. |
slice.m |
Limit on stepout steps. |
slice.lower |
Lower bound on support of the distribution. |
slice.upper |
Upper bound on support of the distribution. |
ars.x |
A vector of starting points for each coordinate, over which log-density is defined. |
ars.ns |
Maximum number of points defining the hulls. |
ars.m |
Number of starting points. |
ars.emax |
Large value for which it is possible to compute an exponential. |
ars.lb |
Boolean indicating if there is a lower bound to the domain. |
ars.xlb |
Value of the lower bound. |
ars.ub |
Boolean indicating if there is an upper bound to the domain. |
ars.xub |
Value of the upper bound. |
arms.indFunc |
Indicator function of the convex support of the target density. |
unimet.sigma |
Standard deviation of Gaussian proposal. |
Details
All arguments (aside from n
) supplied to MfU.Control
can be vectors (or in the case of ars.x
a list) of length n
, in which case they are kept unmodified. Alternatively, a single parameter can be passed into MfU.Control
, which is then expanded by the function into a vector/list of length n
by simple replication. Each element of the resulting vector/list is used for one of the n
visited coordinates during the univariate sampling cycles. Naming and description of arguments for each univariare sampler is kept in maximal consistency with original source codes / libraries.
Value
A list with 4 elements, slice
, ars
, arms
, and unimet
, each containing elements of the same name as their corresponding arguments in the function call.
Author(s)
Alireza S. Mahani, Mansour T.A. Sharabiani
References
Gilks WR and Wild P (1992). Adaptive Rejection Sampling. Applied Statistics, 41, 337-348.
Gilks WR, Best NG, and Tan KKC (1995). Adaptive rejection Metropolis sampling within Gibbs sampling. Applied Statistics, 44, 455-472.
Mahani A.S and Sharabiani M.T.A. (2017). Multivariate-From-Univariate MCMC Sampler: The R Package MfUSampler. Journal of Statistical Software, Code Snippets, 78(1), 1-22. doi:10.18637/jss.v078.c01
Neal R.M. (2003). Slice Sampling. Annals of Statistics, 31, 705-767.
Examples
# default control a for 10-dimensional space
mycontrol <- MfU.Control(10)
# setting a lower bound of 0 for last coordinate
mycontrol <- MfU.Control(10, slice.lower=c(rep(-Inf,9),0.0))