Learn R Programming

ddalpha (version 1.3.16)

depth.simplicial: Calculate Simplicial Depth

Description

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

Usage

depth.simplicial(x, data, exact = F, k = 0.05, seed = 0)

Value

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

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.

seed

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

Details

Calculates simplicial depth. Simplicial depth is counted as a probability that a point lies in a simplex, built on \(d+1\) data points.

References

Chaudhuri, P. (1996). On a geometric notion of quantiles for multivariate data. Journal of the American Statistical Association 91 862--872.

Liu, R. Y. (1990). On a notion of data depth based on random simplices. The Annals of Statistics 18 405--414.

Rousseeuw, P.J. and Ruts, I. (1996). Algorithm AS 307: Bivariate location depth. Journal of the Royal Statistical Society. Seriec C (Applied Statistics) 45 516--526.

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.simplicialVolume for calculation of simplicial volume depth.

depth.spatial for calculation of spatial depth.

depth.zonoid for calculation of zonoid depth.

depth.potential for calculation of data potential.

Examples

Run this code
# 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.simplicial(x, data, exact = TRUE)
cat("Depths: ", depths, "\n")

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

Run the code above in your browser using DataLab