Simplicial depth#
- simplicial(x, data, exact=True, k=0.05, seed=0)[source]#
- Description
Calculates the simplicial depth of points w.r.t. a multivariate data set.
- 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=True
(by default) implies the exact algorithm,exact=False
implies the approximative algorithm, considering k simplices.- k
- Number (
k > 1
) or portion (if0 < k < 1
) of simplices that are considered ifexact=False
.Ifk > 1
, then the algorithmic complexity is polynomial in d but is independent of the number of observations in data, given k.If0 < 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 change.
- References
Liu , R. Y. (1990). On a notion of data depth based on random simplices. The Annals of Statistics, 18, 405–414.
- Examples
>>> import numpy as np >>> from depth.multivariate import * >>> mat1=[[1, 0, 0],[0, 1, 0],[0, 0, 1]] >>> mat2=[[1, 0, 0],[0, 1, 0],[0, 0, 1]] >>> x = np.random.multivariate_normal([1,1,1], mat2, 10) >>> data = np.random.multivariate_normal([0,0,0], mat1, 25) >>> simplicial(x, data,) [0.04458498 0. 0. 0. 0. 0. 0. 0. 0. 0. ]