View source: R/FullConditionals.R
bnpControl | R Documentation |
Supplies a list of arguments for use in mcmc_IMIFA
pertaining to the use of the Bayesian Nonparametric Pitman-Yor / Dirichlet process priors with the infinite mixture models "IMFA"
and "IMIFA"
. Certain arguments related to the Dirichlet concentration parameter for the overfitted mixtures "OMFA"
and "OMIFA"
can be supplied in this manner also.
bnpControl(learn.alpha = TRUE,
alpha.hyper = c(2L, 4L),
discount = 0,
learn.d = TRUE,
d.hyper = c(1L, 1L),
ind.slice = TRUE,
rho = 0.75,
trunc.G = NULL,
kappa = 0.5,
IM.lab.sw = TRUE,
thresh = FALSE,
exchange = FALSE,
zeta = NULL,
tune.zeta = list(...),
...)
learn.alpha |
|
alpha.hyper |
|
discount |
The discount parameter used when generalising the Dirichlet process to the Pitman-Yor process. Defaults to 0, but typically must lie in the interval [0, 1). If greater than zero, The special case of |
learn.d |
Logical indicating whether the |
d.hyper |
Hyperparameters for the Beta(a,b) prior on the |
ind.slice |
Logical indicating whether the independent slice-efficient sampler is to be employed (defaults, typically, to |
rho |
Parameter controlling the rate of geometric decay for the independent slice-efficient sampler, s.t. |
trunc.G |
The maximum number of allowable and storable clusters under the |
kappa |
The spike-and-slab prior distribution on the |
IM.lab.sw |
Logical indicating whether the two forced label switching moves are to be implemented (defaults to |
thresh |
Logical indicating whether the threshold of Fall and Barat (2014) should be incorporated into the slice sampler. See the reference for details. This is an experimental feature (defaults to |
exchange |
Logical indicating whether the exchangeable slice sampler of Fall and Barat (2014) should be used instead. See the reference for details. This argument can work with or without |
zeta |
|
tune.zeta |
A list with the following named arguments, used for tuning
At least one If diminishing adaptation is invoked, the posterior mean |
... |
Catches unused arguments. |
The crucial concentration parameter alpha
is documented within the main mcmc_IMIFA
function, and is relevant to all of the "IMIFA"
, "IMFA"
, "OMIFA"
, and "OMFA"
methods.
All arguments here are relevant to the "IMFA"
and "IMIFA"
methods, but the following are also related to the "OMFA"
and "OMIFA"
methods, and may behave differently in those instances: learn.alpha
, alpha.hyper
, zeta
, and tune.zeta
.
A named list in which the names are the names of the arguments related to the BNP prior(s) and the values are the values supplied to the arguments.
Certain supplied arguments will be subject to further checks within mcmc_IMIFA
. G_priorDensity
and G_moments
can help with soliciting sensible DP/PYP priors.
Under the "IMFA"
and "IMIFA"
methods, a Pitman-Yor process prior is specified by default. A Dirichlet process prior can be easily invoked when the discount
is fixed at 0
and learn.d=FALSE
. The normalized stable process can also be specified as a prior distribution, as a special case of the Pitman-Yor process, when alpha
remains fixed at 0
and learn.alpha=FALSE
(provided the discount
is fixed at a strictly positive value or learn.d=TRUE
). The special case of the Pitman-Yor process with negative discount
is also allowed as an experimental feature for which caution is advised, though learn.d
and learn.alpha
are forced to FALSE
and TRUE
, respectively, in this instance.
Keefe Murphy - <keefe.murphy@mu.ie>
Murphy, K., Viroli, C., and Gormley, I. C. (2020) Infinite mixtures of infinite factor analysers, Bayesian Analysis, 15(3): 937-963. <\Sexpr[results=rd]{tools:::Rd_expr_doi("10.1214/19-BA1179")}>.
Kalli, M., Griffin, J. E. and Walker, S. G. (2011) Slice sampling mixture models, Statistics and Computing, 21(1): 93-105.
Fall, M. D. and Barat, E. (2014) Gibbs sampling methods for Pitman-Yor mixture models, hal-00740770v2.
mcmc_IMIFA
, G_priorDensity
, G_moments
, mixfaControl
, mgpControl
, storeControl
bnpctrl <- bnpControl(learn.d=FALSE, ind.slice=FALSE, alpha.hyper=c(3, 3))
# data(olive)
# sim <- mcmc_IMIFA(olive, "IMIFA", n.iters=5000, BNP=bnpctrl)
# Alternatively specify these arguments directly
# sim <- mcmc_IMIFA(olive, "IMIFA", n.iters=5000, learn.d=FALSE,
# ind.slice=FALSE, alpha.hyper=c(3, 3))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.