hypvolgmm: Gaussian mixture-based hypervolume estimation of multivariate...

View source: R/hypvolgmm.R

hypvolgmmR Documentation

Gaussian mixture-based hypervolume estimation of multivariate data

Description

Estimates the hypervolume of a multivariate dataset by fitting a Gaussian Mixture Model (GMM).

Usage

hypvolgmm(
  data,
  method = c("lhs", "smc", "is", "none"),
  G = 1:9,
  prior = TRUE,
  nsim = 1e+06,
  hdlevel = NULL,
  GMM = NULL,
  ...
)

Arguments

data

A numeric vector, matrix, or data frame. If a matrix or data frame, rows correspond to observations and columns correspond to variables. Categorical variables and missing values are not allowed.

method

A character specifying the sampling scheme to be used for the estimation. Available options are:

  • "lhs" = Latin Hypercube Sampling (default);

  • "smc" = Simple Monte Carlo sampling;

  • "is" = Importance Sampling.

G

An integer vector specifying the numbers of mixture components to fit, then model selection if performed via BIC.

prior

A logical specifying if a prior (on the covariance) matrix should be used for regularization.

nsim

Integer specifying the number of simulations used in MC sampling.

hdlevel

A numerical value in the range (0,1] specifying the level of the highest density region (HDR) to be used for defining the GMM hull. If not provided, a default data-driven value is computed.

GMM

Optional Mclust or densityMclust object to be used. If provided, the data argument is ignored.

...

Further arguments passed to or from other methods.

Value

Returns a list containing the following elements:

  • GMM An object of class densityMclust containing the fitted Gaussian mixture.

  • method The sampling method employed.

  • hdlevel The hdlevel used for definying the GMM hull.

  • nsim The number of simulations used in MC sampling.

  • ESS The effective sample size.

  • h The density level of GMM hull.

  • gamma The estimated parameter used for adjustment

  • logvol The estimated log hypervolume.

Author(s)

Luca Scrucca

Examples

x = matrix(rnorm(100), ncol = 2)
mod = hypvolgmm(x)
summary(mod$GMM)
mod$logvol


mclustAddons documentation built on Dec. 3, 2025, 5:08 p.m.