22_emcluster: EM Algorithm for model-based clustering

EM AlgorithmR Documentation

EM Algorithm for model-based clustering

Description

These are core functions of EMCluster performing EM algorithm for model-based clustering of finite mixture multivariate Gaussian distribution with unstructured dispersion.

Usage

emcluster(x, emobj = NULL, pi = NULL, Mu = NULL, LTSigma = NULL,
          lab = NULL, EMC = .EMC, assign.class = FALSE)
shortemcluster(x, emobj = NULL, pi = NULL, Mu = NULL,
               LTSigma = NULL, maxiter = 100, eps = 1e-2)
simple.init(x, nclass = 1)

Arguments

x

the data matrix, dimension n\times p.

emobj

the desired model which is a list mainly contains pi, Mu, and LTSigma, usually a returned object from init.EM.

pi

the mixing proportion, length K.

Mu

the centers of clusters, dimension K\times p.

LTSigma

the lower triangular matrices of dispersion, K\times p(p+1)/2.

lab

labeled data for semi-supervised clustering, length n.

EMC

the control for the EM iterations.

assign.class

if assigning class id.

maxiter

maximum number of iterations.

eps

convergent tolerance.

nclass

the desired number of clusters, K.

Details

The emcluster mainly performs EM iterations starting from the given parameters emobj without other initializations.

The shortemcluster performs short-EM iterations as described in init.EM.

Value

The emcluster returns an object emobj with class emret which can be used in post-process or other functions such as e.step, m.step, assign.class, em.ic, and dmixmvn.

The shortemcluster also returns an object emobj with class emret which is the best of several random initializations.

The simple.init utilizes rand.EM to obtain a simple initial.

Author(s)

Wei-Chen Chen wccsnow@gmail.com and Ranjan Maitra.

References

https://www.stat.iastate.edu/people/ranjan-maitra

See Also

init.EM, e.step, m.step, .EMControl.

Examples


library(EMCluster, quietly = TRUE)
set.seed(1234)
x1 <- da1$da

emobj <- simple.init(x1, nclass = 10)
emobj <- shortemcluster(x1, emobj)
summary(emobj)

ret <- emcluster(x1, emobj, assign.class = TRUE)
summary(ret)


snoweye/EMCluster documentation built on Sept. 12, 2023, 4:57 a.m.