opGMMassessment {opGMMassessment}R Documentation

Gaussian mixture assessment

Description

The package provides the necessary functions for optimized automated evaluation of the number and parameters of Gaussian mixtures in one-dimensional data. It provides various methods for parameter estimation and for determining the number of modes in the mixture.

Usage

opGMMassessment(Data, FitAlg = "MCMC", Criterion = "LR",
MaxModes = 8, MaxCores = getOption("mc.cores", 2L), PlotIt = FALSE, KS = TRUE, Seed)

Arguments

Data

the data as a vector.

FitAlg

which fit algorithm to use: "ClusterRGMM" = GMM from ClusterR, "densityMclust" from mclust, "DO" from DistributionOptimization (slow), "MCMC" = NMixMCMC from mixAK, or "normalmixEM" from mixtools.

Criterion

which criterion should be used to establish the number of modes from the best GMM fit: "AIC", "BIC", "FM", "GAP", "LR" (likelihood ratio test), "NbClust" (from NbClust), "SI" (Silverman).

MaxModes

the maximum number of modes to be tried.

MaxCores

the maximum number of processor cores used under Unix.

PlotIt

whether to plot the fit directly (plot will be stored nevertheless).

KS

perform a Kolmogorow-Smirnow test of the fit versus original distribution.

Seed

optional seed parameter set internally.

Value

Returns a list of Gaussian modes.

Cls

the classes to which the cases are assigned according to the Gaussian mode membership.

Means

means of the Gaussian modes.

SDs

standard deviations of the Gaussian modes.

Weights

weights of the Gaussian modes.

Boundaries

Bayesian boundaries between the Gaussian modes.

Plot

Plot of the obtained mixture.

KS

Results of the Kolmogorov-Smirnov test.

Author(s)

Jorn Lotsch and Sebastian Malkusch

References

Lotsch J, Malkusch S, Ultsch A. Comparative assessment of automated algorithms for the separation of one-dimensional Gaussian mixtures. Informatics in Medicine Unlocked, Volume 34, 2022, https://doi.org/10.1016/j.imu.2022.101113. (https://www.sciencedirect.com/science/article/pii/S2352914822002507)

Examples

## example 1
data(iris)
opGMMassessment(Data = iris$Petal.Length,
  FitAlg = "normalmixEM", 
  Criterion = "BIC",
  PlotIt = TRUE,
  MaxModes = 5,
  MaxCores = 1,
  Seed = 42)

[Package opGMMassessment version 0.4 Index]