noise_vol: Approximate Hypervolume Estimate

noise_volR Documentation

Approximate Hypervolume Estimate

Description

Computes simple approximations to the hypervolume of univariate and multivariate data sets. Also returns the location of the centre of mass.

Usage

noise_vol(data,
          method = c("hypvol", "convexhull", "ellipsoidhull"),
          reciprocal = FALSE)

Arguments

data

A numeric vector, matrix, or data frame of observations. Categorical variables are not allowed, and covariates should not be included. If a matrix or data frame, rows correspond to observations and columns correspond to variables. There must be more observations than variables.

method

The method used to estimate the hypervolume. The default method uses the function hypvol. The "convexhull" and "ellipsoidhull" options require loading the geometry and cluster libraries, respectively. This argument is only relevant for multivariate data; for univariate data, the range of the data is used. Note that the "convexhull" method is liable to be slow when data has many columns.

reciprocal

A logical variable indicating whether or not the reciprocal hypervolume is desired rather than the hypervolume itself. The default is to return the hypervolume.

Value

A list with the following two elements:

vol

A hypervolume estimate (or its inverse).

This can be used as the hypervolume parameter for the noise component when observations are designated as noise in MoE_clust.

loc

A vector of length ncol(data) giving the location of the centre of mass.

This can help in predicting the fitted values of models fitted with noise components via MoE_clust.

Note

This function is called when adding a noise component to MoEClust models via the function MoE_control, specifically using its arguments noise.meth &/or tau0. The function internally only uses the response variables, and not the covariates. However, one can bypass the invocation of this function by specifying the noise.vol argument of MoE_control directly. This is explicitly necessary for models for high-dimensional data which include a noise component for which this function cannot estimate a (hyper)volume.

Note that supplying the volume manually to MoE_clust can affect the summary of the means in parameters$mean and by extension the location of the MVN ellipses in MoE_gpairs plots for models with both expert network covariates and a noise component. The location cannot be estimated when the volume is supplied manually; in this case, prediction is made on the basis of renormalising the z matrix after discarding the column corresponding to the noise component. Otherwise, the mean of the noise component is accounted for. The renormalisation approach can be forced by specifying noise.args$discard.noise=TRUE, even when the mean of the noise component is available.

Author(s)

Keefe Murphy - <keefe.murphy@mu.ie>

See Also

hypvol, convhulln, ellipsoidhull

Examples

data(ais)
noise_vol(ais[,3:7], reciprocal=TRUE)

noise_vol(ais[,3:7], reciprocal=FALSE, method="convexhull")

MoEClust documentation built on Dec. 28, 2022, 2:24 a.m.