pgmmRJMCMC {bpgmm} | R Documentation |
bpgmm Model-Based Clustering Using Baysian PGMM Carries out model-based clustering using parsimonious Gaussian mixture models. MCMC are used for parameter estimation. The RJMCMC is used for model selection.
Description
bpgmm Model-Based Clustering Using Baysian PGMM Carries out model-based clustering using parsimonious Gaussian mixture models. MCMC are used for parameter estimation. The RJMCMC is used for model selection.
Usage
pgmmRJMCMC(X, mInit, mVec, qnew, delta = 2, ggamma = 2, burn = 20,
niter = 1000, constraint = C(0, 0, 0), dVec = c(1, 1, 1),
sVec = c(1, 1, 1), Mstep = 0, Vstep = 0, SCind = 0)
Arguments
X |
the observation matrix with size p * m |
mInit |
the number of initial clusters |
mVec |
the range of the number of clusters |
qnew |
the number of factor for a new cluster |
delta |
scaler hyperparameters |
ggamma |
scaler hyperparameters |
burn |
the number of burn in iterations |
niter |
the number of iterations |
constraint |
the pgmm initial constraint, a vector of length three with binary entry. For example, c(1,1,1) means the fully constraint model |
dVec |
a vector of hyperparameters with length three, shape parameters for alpha1, alpha2 and bbeta respectively |
sVec |
sVec a vector of hyperparameters with length three, rate parameters for alpha1, alpha2 and bbeta respectively |
Mstep |
the indicator of whether do model selection on the number of clusters |
Vstep |
the indicator of whether do model selection on variance structures |
SCind |
the indicator of whether use split/combine step in Mstep |
Examples
library("fabMix")
library("mclust")
library("pgmm")
library("mvtnorm")
library("mcmcse")
library("MASS")
library("gtools")
n <- 500
p <- 10
q <- 4
K <- 10
nsim <- 10
burn <- 20
qnew <- 4
Mstep <- 1
Vstep <- 1
constraint <- c(0, 0, 0)
mInit <- 20
mVec <- c(1, 20)
X <- t(simData(
sameLambda = TRUE,
sameSigma = TRUE,
K.true = K, n = n, q = q, p = p, sINV_values = 1 / ((1:p))
)$data)
pgmmRJMCMC(X,
mInit, mVec, qnew,
niter = nsim, burn = burn,
constraint = constraint, Mstep = Mstep, Vstep = Vstep
)