depth.simplicialVolume: Calculate Simplicial Volume Depth

View source: R/depth.simplicialVolume.r

depth.simplicialVolumeR Documentation

Calculate Simplicial Volume Depth

Description

Calculates the simpicial volume depth of points w.r.t. a multivariate data set.

Usage

depth.simplicialVolume(x, data, exact = F, k = 0.05, mah.estimate = "moment", 
                       mah.parMcd = 0.75, seed = 0)

Arguments

x

Matrix of objects (numerical vector as one object) whose depth is to be calculated; each row contains a d-variate point. Should have the same dimension as data.

data

Matrix of data where each row contains a d-variate point, w.r.t. which the depth is to be calculated.

exact

exact=F (by default) implies the approximative algorithm, considering k simplices, exact=T implies the exact algorithm.

k

Number (k>1) or portion (if 0<k<1) of simplices that are considered if exact=F. If k>1, then the algorithmic complexity is polynomial in d but is independent of the number of observations in data, given k. If 0<k<1, then the algorithmic complexity is exponential in the number of observations in data, but the calculation precision stays approximately the same.

mah.estimate

A character string specifying affine-invariance adjustment; can be "none", "moment" or "MCD", determining whether no affine-invariance adjustemt or moment or Minimum Covariance Determinant (MCD) (see covMcd) estimates of the covariance are used. By default "moment" is used.

mah.parMcd

The value of the argument alpha for the function covMcd; is used when mah.estimate = "MCD".

seed

The random seed. The default value seed=0 makes no changes.

Details

Calculates Oja depth (also: Simplicial volume depth). At first the Oja outlyingness function O(x,data) is calculated as the average of the volumes of simplices built on d data points and the measurement point x (Oja, 1983).

Zuo and Serfling (2000) proposed Oja depth based on the Oja outlyingness function as 1/(1 + O(x,data)/S), where S is a square root of the determinant of cov(data), which makes the depth function affine-invariant.

Value

Numerical vector of depths, one for each row in x; or one depth value if x is a numerical vector.

References

Oja, H. (1983). Descriptive statistics for multivariate distributions. Statistics & Probability Letters 1 327–332.

Zuo, Y.J. and Serfling, R. (2000). General notions of statistical depth function. The Annals of Statistics 28 461–482.

See Also

depth.halfspace for calculation of the Tukey depth.

depth.Mahalanobis for calculation of Mahalanobis depth.

depth.projection for calculation of projection depth.

depth.simplicial for calculation of simplicial depth.

depth.spatial for calculation of spatial depth.

depth.zonoid for calculation of zonoid depth.

depth.potential for calculation of data potential.

Examples

# 3-dimensional normal distribution
data <- mvrnorm(20, rep(0, 3), 
                matrix(c(1, 0, 0,
                         0, 2, 0,
                         0, 0, 1),
                       nrow = 3))
x <- mvrnorm(10, rep(1, 3), 
             matrix(c(1, 0, 0,
                      0, 1, 0,
                      0, 0, 1),
                    nrow = 3))

#exact
depths <- depth.simplicialVolume(x, data, exact = TRUE)
cat("Depths: ", depths, "\n")

#approximative
depths <- depth.simplicialVolume(x, data, exact = FALSE, k = 0.2)
cat("Depths: ", depths, "\n")

ddalpha documentation built on Oct. 1, 2024, 1:07 a.m.