Learn R Programming

ddalpha (version 1.3.16)

depth.space.zonoid: Calculate Depth Space using Zonoid Depth

Description

Calculates the representation of the training classes in depth space using zonoid depth.

Usage

depth.space.zonoid(data, cardinalities, seed = 0)

Value

Matrix of objects, each object (row) is represented via its depths (columns) w.r.t. each of the classes of the training sample; order of the classes in columns corresponds to the one in the argument cardinalities.

Arguments

data

Matrix containing training sample where each row is a \(d\)-dimensional object, and objects of each class are kept together so that the matrix can be thought of as containing blocks of objects representing classes.

cardinalities

Numerical vector of cardinalities of each class in data, each entry corresponds to one class.

seed

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

Details

The depth representation is calculated in the same way as in depth.zonoid, see 'References' for more information and details.

References

Dyckerhoff, R., Koshevoy, G., and Mosler, K. (1996). Zonoid data depth: theory and computation. In: Prat A. (ed), COMPSTAT 1996. Proceedings in computational statistics, Physica-Verlag (Heidelberg), 235--240.

Koshevoy, G. and Mosler, K. (1997). Zonoid trimming for multivariate distributions Annals of Statistics 25 1998--2017.

Mosler, K. (2002). Multivariate dispersion, central regions and depth: the lift zonoid approach Springer (New York).

See Also

ddalpha.train and ddalpha.classify for application, depth.zonoid for calculation of zonoid depth.

Examples

Run this code
# Generate a bivariate normal location-shift classification task
# containing 20 training objects
class1 <- mvrnorm(10, c(0,0), 
                  matrix(c(1,1,1,4), nrow = 2, ncol = 2, byrow = TRUE))
class2 <- mvrnorm(10, c(2,2), 
                  matrix(c(1,1,1,4), nrow = 2, ncol = 2, byrow = TRUE))
data <- rbind(class1, class2)
# Get depth space using zonoid depth
depth.space.zonoid(data, c(10, 10))

data <- getdata("hemophilia")
cardinalities = c(sum(data$gr == "normal"), sum(data$gr == "carrier"))
depth.space.zonoid(data[,1:2], cardinalities)

Run the code above in your browser using DataLab