MyNixOS website logo
Description

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) <doi:10.1016/j.jocs.2026.102811>.

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.

Metadata

Version

1.0.0

License

Unknown

Platforms (78)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows