Compute h, the subsample size for MCD and LTS

Description

Compute h(alpha) which is the size of the subsamples to be used for MCD and LTS. Given alpha, n and p, h is an integer, h ~= alpha*n, where the exact formula also depends on p.

For α = 1/2, h == floor(n+p+1)/2; for the general case, it's simply n2 <- (n+p+1) %/% 2; floor(2*n2 - n + 2*(n-n2)*alpha).

Usage

1
h.alpha.n(alpha, n, p)

Arguments

alpha

fraction, numeric (vector) in [0.5, 1], see, e.g., covMcd.

n

integer (valued vector), the sample size.

p

integer (valued vector), the dimension.

Value

numeric vector of h(α, n,p); when any of the arguments of length greater than one, the usual R arithmetic (recycling) rules are used.

See Also

covMcd and ltsReg which are defined by h = h(α,n,p) and hence both use h.alpha.n.

Examples

1
2
3
4
5
6
7
8
n <- c(10:20,50,100)
p <- 5
## show the simple "alpha = 1/2" case:
cbind(n=n, h= h.alpha.n(1/2, n, p), n2p = floor((n+p+1)/2))

## alpha = 3/4 is recommended by some authors :
n <- c(15, 20, 25, 30, 50, 100)
cbind(n=n, h= h.alpha.n(3/4, n, p = 6))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.