rmg {rmp} | R Documentation |
Nonparametric mixture of rounded Gaussians
Description
Performs Bayesian probability mass function estimation under nonparametric mixture of rounded of Gaussian kernels.
Usage
rmg(ydis, k=length(ydis), nrep, nb, alpha=1, theta=alpha, sigma=0,
mixing_hyperprior= FALSE, basemeasure_hyperprior = FALSE, mixing_type="DP", algo="slice",
mu0=mean(ydis), kap=var(ydis),
atau=1, btau=2, a_a=1, b_a=1, lb=NULL, ub=NULL, print = 1, ndisplay = nrep/4,
plot.it = FALSE, pdfwrite = FALSE, ...)
dpmrg(ydis, k, nrep, nb, alpha, alpha_r = FALSE, mu0 = mean(ydis), kap = var(ydis),
atau, btau, a_a = 1, b_a = 1, lb = NULL, ub = NULL,
print = 1, ndisplay = nrep/4,
plot.it = FALSE, pdfwrite = FALSE, ...)
Arguments
ydis |
Vector of count data |
k |
Truncation level for the number of cluster in the mixture. Default is |
nrep |
Number of MCMC iterations |
nb |
Number of burn-in iteration in the MCMC to discard |
alpha |
Value of the precision parameter of the Dirichlet process prior |
theta |
Value of the strength parameter of the Two-parameters-Poisson-Dirichlet process prior |
sigma |
Value of the discount parameter of the Two-parameters-Poisson-Dirichlet process prior |
mixing_hyperprior |
Logical. If TRUE |
alpha_r |
Logical. If TRUE |
basemeasure_hyperprior |
Logical. If TRUE also the parameters of the base measure are random, see details below. |
mixing_type |
Type of mixing distribution. Default is "DP" for Dirichlet process but also "2PD" for Two-parameters-Poisson-Dirichlet process is allowed. |
algo |
Type of algorithm. Current choices are: slice sampler ( |
mu0 |
Location hyperparameter for the latent rounded Gaussian base measure |
kap |
Precision hyperparameter for the latent rounded Gaussian base measure |
atau |
Shape hyperparameter for the Gamma distribution |
btau |
Scale hyperparameter for the Gamma distribution |
a_a |
Shape hyperparameter for the Gamma distribution for |
b_a |
Scale hyperparameter for the Gamma distribution for |
lb |
Scalar integer. Lower bound for the argument of the pmf. Default is |
ub |
Scalar integer. Upper bound for the argument of the pmf. Default is |
print |
Vector of integers (from 1 to 6) indicating whether to print each step of the Gibbs sampler. Specifically, 1 for current iteration, 2 for the data augmentation step simulating the latent continuous variables, 3 for the DP cluster allocation, 4 for the posterior parameters of the mixture components, 5 for the precision of the DP, 6 for the posterior pmf. |
ndisplay |
Scalar integer. It gives the number of iterations to be displayed on screen (the function reports on the screen when every |
plot.it |
Logical, default FALSE. If TRUE a plot with empirical and estimated posterior probability mass functions is plotted. |
pdfwrite |
Logical, default FALSE. If TRUE a pdf file is written in the current working directory. Traceplots and other posterior quantities are drown. |
... |
Additional arguments (for future implemetantions). |
Details
The rmg
function performs Bayesian probability mass function estimation under the mixture model of Canale and Dunson (2011) with Dirichlet process or Two-parameters-Poisson-Dirichlet process as prior for the mixing measure. The model is
y_i \mid \mu_i, \tau_i \sim \mbox{RG}(\mu_i, \tau_i), i=1, \dots, n
(\mu_i, \tau_i) \mid G \sim G
G \sim \Pi(P_0),
where \Pi
is the Dirichlet process or the Two-parameters-Poisson-Dirichlet process with base measure P_0
and RG(\mu, \tau)
is a rounded Gaussian kernel with location \mu
and precision \tau
and tresholds -\infty, 1, 2, \dots
.
The function dpmrg
is a wrapper to rmg
with mixing_type="DP"
for back portability with version 1.0 of the package.
The main part of the code is written in C language to gain computational speed. Plots and posterior summaries are in plain R code. From version 2.0 on, the blocked gibbs sampler has been removed in place of slice samper (Kalli et al., 2011) and polya-urn sampler.
Value
name |
Name of the model |
mixing_type |
Name of the mixing prior |
mcmc |
Quantities about MCMC sampling |
mcmc.chains |
MCMC chains of the parameters |
pmf |
A list containing several quantities related to the probability mass function (emprical pmf, posterior mean pmf and pointwise 95% credible intervals) computed for the values from |
parameters |
A list containing the posterior mean of the cluster specific parameters (be careful of label-switching problems) |
clustering |
A list containing posterior quantities related to the clustering structure of the data |
Author(s)
R code and porting by A. Canale, C code by A. Canale with minor contributions by N. Lunardon.
References
Canale, A. and Dunson, D. B. (2011), "Bayesian Kernel Mixtures for Counts", Journal of American Statistical Association, 106, 1528-1539.
Kalli, M., Griffin, J., and Walker, S. (2011), "Slice sampling mixture models," Statistics and Computing, 21, 93-105.
See Also
dpmpoiss
Examples
data(ethylene)
y <- tapply(ethylene$impl,FUN=mean,INDEX=ethylene$id)
z <- tapply(ethylene$dose,FUN=mean,INDEX=ethylene$id)
# Estimate the pmf of the number of implants in the control group
y0 <- y[z==0]
pmf.control = rmg(y0, k=20, nrep=11000, nb=1000, alpha=1, atau=1, btau=1,
lb=5, ub=24, plot.it= TRUE)