Learn R Programming

mclust (version 2.1-14)

cdensE: Component Density for a Parameterized MVN Mixture Model

Description

Computes component densities for points in a parameterized MVN mixture model.

Usage

cdensE(data, mu, sigmasq, eps, warnSingular, logarithm = FALSE, ...)
cdensV(data, mu, sigmasq, eps, warnSingular, logarithm = FALSE, ...)
cdensEII(data, mu, sigmasq, eps, warnSingular, logarithm = FALSE, ...)
cdensVII(data, mu, sigmasq, eps, warnSingular, logarithm = FALSE, ...)
cdensEEI(data, mu, decomp, eps, warnSingular, logarithm = FALSE, ...)
cdensVEI(data, mu, decomp, eps, warnSingular, logarithm = FALSE, ...)
cdensEVI(data, mu, decomp, eps, warnSingular, logarithm = FALSE, ...)
cdensVVI(data, mu, decomp, eps, warnSingular, logarithm = FALSE, ...)
cdensEEE(data, mu, eps, warnSingular, logarithm = FALSE, ...)
cdensEEV(data, mu, decomp, eps, warnSingular, logarithm = FALSE, ...)
cdensVEV(data, mu, decomp, eps, warnSingular, logarithm = FALSE, ...)
cdensVVV(data, mu, eps, warnSingular, logarithm = FALSE, ...)

Arguments

data
A numeric vector, matrix, or data frame of observations. Categorical variables are not allowed. If a matrix or data frame, rows correspond to observations and columns correspond to variables.
mu
The mean for each component. If there is more than one component, mu is a matrix whose columns are the means of the components.
sigmasq
for the one-dimensional models ("E", "V") and spherical models ("EII", "VII"). This is either a vector whose kth component is the variance for the kth component in the mixture model ("V" and "VII"), or a scalar giving the com
decomp
for the diagonal models ("EEI", "VEI", "EVI", "VVI") and some ellipsoidal models ("EEV", "VEV"). This is a list described in more detail in cdens.
logarithm
A logical value indicating whether or not the logarithm of the component densities should be returned. The default is to return the component densities, obtained from the log component densities by exponentiation.
...
An argument giving the variance that takes one of the following forms: [object Object],[object Object],[object Object],[object Object],[object Object],The form of the variance specification is the same as for the output for the em,
eps
A scalar tolerance for deciding when to terminate computations due to computational singularity in covariances. Smaller values of eps allow computations to proceed nearer to singularity. The default is .Mclust$eps.
warnSingular
A logical value indicating whether or not a warning should be issued whenever a singularity is encountered. The default is .Mclust$warnSingular.

Value

  • A numeric matrix whose [i,j]th entry is the density of observation i in component j. The densities are not scaled by mixing proportions.

References

C. Fraley and A. E. Raftery (2002a). Model-based clustering, discriminant analysis, and density estimation. Journal of the American Statistical Association 97:611-631. See http://www.stat.washington.edu/mclust. C. Fraley and A. E. Raftery (2002b). MCLUST:Software for model-based clustering, density estimation and discriminant analysis. Technical Report, Department of Statistics, University of Washington. See http://www.stat.washington.edu/mclust.

See Also

cdens, dens, EMclust, mstep, mclustOptions, do.call

Examples

Run this code
n <- 100 ## create artificial data

set.seed(0)
x <- rbind(matrix(rnorm(n*2), n, 2) %*% diag(c(1,9)),
           matrix(rnorm(n*2), n, 2) %*% diag(c(1,9))[,2:1])
xclass <- c(rep(1,n),rep(2,n))
clPairs(x, cl = xclass, sym = c("1","2")) ## display the data

modelVII <- meVII(x, z = unmap(xclass))
modelVVI <- meVVI(x, z = unmap(xclass))
modelVVV <- meVVV(x, z = unmap(xclass))

names(modelVII)
args(cdensVII)
cdenVII <- cdensVII(data = x, mu = modelVII$mu, pro = modelVII$pro,
                    decomp = modelVII$decomp)
names(modelVVI)
args(cdensVVI)
cdenVVI <- cdensVII(data = x, mu = modelVVI$mu, pro = modelVVI$pro,
                    decomp = modelVVI$decomp)
names(modelVVV)
args(cdensVVV)
cdenVVV <- cdensVVV( data = x, mu = modelVVV$mu, pro = modelVVV$pro,
                     cholsigma = modelVVV$cholsigma)

cbind(class=xclass,VII=map(cdenVII),VVI=map(cdenVVI),VVV=map(cdenVVV))

## alternative call

cdenVII <- do.call("cdensVII", c(list(data = x), modelVII))
cdenVVI <- do.call("cdensVVI", c(list(data = x), modelVVI))
cdenVVV <- do.call("cdensVVV", c(list(data = x), modelVVV))

cbind(class=xclass,VII=map(cdenVII),VVI=map(cdenVVI),VVV=map(cdenVVV))

Run the code above in your browser using DataLab