Dynamic Programming Based Gaussian Mixture Modelling Tool for 1D and 2D Data

Gaussian mixture modeling of one- and two-dimensional data, provided in original or binned form, with an option to estimate the number of model components. The method uses Gaussian Mixture Models (GMM) with initial parameters determined by a dynamic programming algorithm, leading to stable and reproducible model fitting. For more details see Zyla, J., Szumala, K., Polanski, A., Polanska, J., & Marczyk, M. (2026) .


dpGMM

R package dpGMM for dynamic programming based Gaussian mixture modelling clustering for 1D and 2D data.

Description

Package functionality:

  1. Variety of criteria for selection component number (AIC, AICc, BIC, ICL-BIC and LR),
  2. Posibility of merging the components with a small standard deviation within each other,
  3. Control of minimum allow variance of component to avoid picks,
  4. Quick stop if LR test does not show improvement (off/on) accompanied by possibility to control significance level,
  5. Analysis of single measurements/vector as well as binned data,
  6. Distribution plot with selected components in ggplot,
  7. QQ-plot of fitted distribution and standard normal distribution,
  8. Gaussian Mixture Modeling for 2D data.

Installation

You can install the package from GitHub with:

# install.packages("devtools")
devtools::install_github("ZAEDPolSl/dpGMM")

Run of simple data

At first after isnatlation load library into R and load examplary data.

library(dpGMM)
data(example)

Next, let's load GMM control parameters for 1D and change maximum number of iteration to 1000 (just to speed up).

custom.settings <- GMM_1D_opts
custom.settings$max_iter <- 1000

To run GMM for 1D vector data the following code will work.

mix_test <- runGMM(example$Dist, opts = custom.settings)

References

[1] Polanski, Andrzej, et al." "Initializing the EM algorithm for univariate Gaussian, multi-component, heteroscedastic mixture models by dynamic programming partitions." International Journal of Computational Methods 15.03 (2018): 1850012.

[2] Zyla, J., Szymala, K., Polanski, A., Polanska, J., Marczyk,. M: "dpGMM: R package for dynamic programming-based Gaussian mixture modeling of 1D and 2D data" in preparation

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("dpGMM")

1.0.0 by Kamila Szumala, 7 months ago


Browse source code at https://github.com/cran/dpGMM


Authors: Michal Marczyk [aut, ctb] , Kamila Szumala [aut, cre] , Joanna Zyla [aut, ctb]


Documentation:   PDF Manual  


GPL-3 license


Imports grDevices, ggpubr, Matrix, reshape2, graphics, methods, mvtnorm

Depends on ggplot2, RColorBrewer, stats, pracma


See at CRAN