Learn R Programming

ICSNP (version 1.1-2)

HP1.shape: One Step Rank Scatter Estimator

Description

one step M-estimator of the scatter matrix based on ranks.

Usage

HP1.shape(X, location = "Estimate", na.action = na.fail, ...)

Arguments

X

a numeric data frame or matrix.

location

if 'Estimate' the location and scatter matrix used for computing the spatial signs are estimated simultaneously using HR.Mest, if 'Origin' or numeric tyler.shape is used with respect to origin or the given value, respectively, to obtain the spatial signs.

na.action

a function which indicates what should happen when the data contain 'NA's. Default is to fail.

...

arguments that can be passed on to tyler.shape or HR.Mest.

Author

Klaus Nordhausen

Details

This is a one step M-estimator of shape which is standardized in such a way that the determinant is 1.

The exact formula is: $$V = V_{0}^{\frac{1}{2}} ave\{a(\frac{R_{i}}{n+1})u_{i}'u_{i} \} V_{0}^{\frac{1}{2}}.$$

where \(V_{0}\) is Tyler's shape matrix, \(u_{i}=||z_{i}||^{-1} z_{i}\) is the spatial sign of \(z_{i}=(x_{i}-\mu) V_{0}^{-\frac{1}{2}}\) and \(R_{i}\) gives the rank of \(||z_{i}||\) among \(||z_{1}||,\ldots,||z_{n}||\). The van der Warden score function \(a(.)\) is the inverse of the cdf of a chi-squared distribution with p degrees of freedom.

This scatter matrix is based on the test for shape developed in the paper by Hallin and Paindaveine (2006), its usage with respect to the origin is demonstrated in Nordhausen et al. (2006).

References

Hallin, M. and Paindaveine, D. (2006), Semiparametrically efficient rank-based inference for shape. I. Optimal rank-based tests for sphericity, Annals of Statistics, 34, 2707--2756.

Nordhausen, K., Oja, H. and Paindaveine, D. (2009), Signed-rank tests for location in the symmetric independent component model, Journal of Multivariate Analysis, 100, 821--834.

Examples

Run this code
set.seed(654321)
cov.matrix <- matrix(c(3,2,1,2,4,-0.5,1,-0.5,2), ncol=3)
X <- rmvnorm(100, c(0,0,0), cov.matrix)
HP1.shape(X)
HP1.shape(X, location="Origin")
cov.matrix/det(cov.matrix)^(1/3)
rm(.Random.seed)
         

Run the code above in your browser using DataLab