depth.simplicialVolume: Calculate Simplicial Volume Depth

View source: R/depth.simplicialVolume.r

depth.simplicialVolumeR Documentation

Calculate Simplicial Volume Depth


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


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



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.


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


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


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.


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.


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


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


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.


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


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.


# 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))

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

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

ddalpha documentation built on March 23, 2022, 9:07 a.m.