depthc.Tukey {curveDepth} | R Documentation |

Calculates Tukey curve depth of each curve in `objects`

w.r.t. the
sample of curves in `data`

. First, `m`

points are sampled from a
uniform distribution on a piecewise linear approximation of each of the
curves in `data`

and `m / fracEst * (fracInt + fracEst)`

points
on each of the curves in `objects`

. Second, these samples are used to
calculate the Tukey curve depth.

```
depthc.Tukey(objects, data, nDirs = 100L, subs = TRUE, m = 500L,
fracInt = 0.5, fracEst = 0.5, exactEst = TRUE, minMassObj = 0,
minMassDat = 0)
```

`objects` |
A list where each element is a multivariate curve being a
list containing a matrix |

`data` |
A list where each element is a multivariate curve being a list
containing a matrix |

`nDirs` |
Number of directions used to inspect the space, drawn from the uniform distribution on the sphere. |

`subs` |
Whether to split each object into two disjunctive subsets (one for integrating and one for estimation) when computing the depth. |

`m` |
Number of points used for estimation. |

`fracInt` |
Portion of an object used for integrating. |

`fracEst` |
Portion of an object used for estimation,
maximum: |

`exactEst` |
Is calculation of depth for each reference point of the
curve exact ( |

`minMassObj` |
Minimal portion of the |

`minMassDat` |
minimal portion of the |

Calculation of partial depth of each single point can be either exact or approximate. If exact, an extension of the method of Dyckerhoff and Mozharovskyi (2016) is used; if approximate, approximation is performed by projections on directions - points uniformly distributed on the unit hypersphere.

A vector of doubles having the same length as `objects`

, whose
each entry is the depth of each element of `objects`

w.r.t.
`data`

.

Lafaye De Micheaux, P., Mozharovskyi, P. and Vimond, M. (2018). Depth for curve data and applications.

Dyckerhoff, R. and Mozharovskyi P. (2016). Exact computation of the
halfspace depth. *Computational Statistics and Data Analysis*, 98,
19-30.

```
library(curveDepth)
# Load digits and transform them to curves
data("mnistShort017")
n <- 10 # cardinality of each class
m <- 50 # number of points to sample
cst <- 1/10 # a threshold constant
alp <- 1/8 # a threshold constant
curves0 <- images2curves(mnistShort017$`0`[, , 1:n])
curves1 <- images2curves(mnistShort017$`1`[, , 1:n])
# Calculate depths
depthSpace = matrix(NA, nrow = n * 2, ncol = 2)
set.seed(1)
depthSpace[, 1] = depthc.Tukey(
c(curves0, curves1), curves0, m = m,
exactEst = TRUE, minMassObj = cst/m^alp)
depthSpace[, 2] = depthc.Tukey(
c(curves0, curves1), curves1, m = m,
exactEst = TRUE, minMassObj = cst/m^alp)
# Draw the DD-plot
plot(NULL, xlim = c(0, 1), ylim = c(0, 1),
xlab = paste("Depth w.r.t. '0'"),
ylab = paste("Depth w.r.t. '1'"),
main = paste("DD-plot for '0' vs '1'"))
grid()
# Draw the separating rule
dat1 <- data.frame(cbind(
depthSpace, c(rep(0, n), rep(1, n))))
ddalpha1 <- ddalpha.train(X3 ~ X1 + X2, data = dat1,
depth = "ddplot",
separator = "alpha")
ddnormal <- ddalpha1$classifiers[[1]]$hyperplane[2:3]
pts <- matrix(c(0, 0, 1, ddnormal[1] / -ddnormal[2]),
nrow = 2, byrow = TRUE)
lines(pts, lwd = 2)
# Draw the points
points(depthSpace[1:n, ],
col = "red", lwd = 2, pch = 1)
points(depthSpace[(n + 1):(2 * n), ],
col = "blue", lwd = 2, pch = 3)
```

[Package *curveDepth* version 0.1.0.9 Index]