depthLocal function

Local depth

Local depth

Computes local version of depth according to proposals of Paindaveine and Van Bever --- see referencess.

depthLocal( u, X, beta = 0.5, depth_params1 = list(method = "Projection"), depth_params2 = depth_params1 )

Arguments

  • u: Numerical vector or matrix whose depth is to be calculated. Dimension has to be the same as that of the observations.
  • X: The data as a matrix, data frame. If it is a matrix or data frame, then each row is viewed as one multivariate observation.
  • beta: cutoff value for neighbourhood
  • depth_params1: list of parameters for function depth (method, threads, ndir, la, lb, pdim, mean, cov, exact).
  • depth_params2: as above --- default is depth_params1.

Details

A successful concept of local depth was proposed by Paindaveine and Van Bever (2012). For defining a neighbourhood of a point authors proposed using idea of symmetrisation of a distribution (a sample) with respect to a point in which depth is calculated. In their approach instead of a distribution PX{P} ^ {X}, a distribution Px=12PX+12P2xX{{P}_{x}} = \frac{ 1 }{ 2 }{{P} ^ {X}} + \frac{ 1 }{ 2 }{{P} ^ {2x - X}} is used. For any β[0,1]\beta \in [0, 1], let us introduce the smallest depth region bigger or equal to β\beta,

Rβ(F)=αA(β)Dα(F), {R} ^ {\beta}(F) = \bigcap\limits_{\alpha \in A(\beta)} {{{D}_{\alpha}}}(F),

where A(β)={α0:P[Dα(F)]β}A(\beta) = \left\{ \alpha \ge 0:P\left[ {{D}_{\alpha}}(F)\right] \ge \beta\right\}. Then for a locality parameter β\beta we can take a neighbourhood of a point xx as Rxβ(P)R_{x} ^ {\beta}(P).

Formally, let D(,P)D(\cdot, P) be a depth function. Then the local depth with the locality parameter β\beta and w.r.t. a point xx is defined as

LDβ(z,P):zD(z,Pxβ), L{{D} ^ {\beta}}(z, P):z \to D(z, P_{x} ^ {\beta}),

where Pxβ()=P(Rxβ(P))P_{x} ^ {\beta}(\cdot) = P\left( \cdot |R_{x} ^ {\beta}(P)\right) is cond. distr. of PP conditioned on Rxβ(P)R_{x} ^ {\beta}(P).

Examples

## Not run: # EXAMPLE 1 data <- mvrnorm(100, c(0, 5), diag(2) * 5) # By default depth_params2 = depth_params1 depthLocal(data, data, depth_params1 = list(method = "LP")) depthLocal(data, data, depth_params1 = list(method = "LP"), depth_params2 = list(method = "Projection")) # Depth contour depthContour(data, depth_params = list(method = "Local", depth_params1 = list(method = "LP"))) # EXAMPLE 2 data(inf.mort, maesles.imm) data1990 <- na.omit(cbind(inf.mort[, 1], maesles.imm[, 1])) depthContour(data1990, depth_params = list( method = "Local", depth_params1 = list(method = "LP"), beta = 0.3 )) # EXAMPLE 3 Sigma1 <- matrix(c(10, 3, 3, 2), 2, 2) X1 <- mvrnorm(n = 8500, mu = c(0, 0), Sigma1) Sigma2 <- matrix(c(10, 0, 0, 2), 2, 2) X2 <- mvrnorm(n = 1500, mu = c(-10, 6), Sigma2) BALLOT <- rbind(X1, X2) train <- sample(1:10000, 100) data <- BALLOT[train, ] depthContour(data, depth_params = list( method = "Local", beta = 0.3, depth_params1 = list(method = "Projection") )) ## End(Not run)

References

Paindaveine, D., Van Bever, G. (2013) From depth to local depth : a focus on centrality. Journal of the American Statistical Association 105, 1105--1119.