Learn R Programming

sscor (version 0.2)

evShape2evSSCM: Calculation of the eigenvalues of the Spatial Sign Covariance Matrix

Description

evShape2evSSCM transforms the eigenvalues of the shape matrix of an elliptical distribution into that of the spatial sign covariance matrix.

Usage

evShape2evSSCM(evShape)

Arguments

evShape
(required) p-dimensional numeric, representing the eigenvalues of the shape matrix.

Value

p-dimensional numeric, representing the eigenvalues of the corresponding spatial sign covariance matrix.

Details

The eigenvalues of the SSCM can be calculated from the eigenvalues of the shape matrix by numerical evaluation of onedimensional integrals, see Proposition 3 of Dürre, Tyler, Vogel (2016). We use the substitution $$x=\frac{1+t}{1-t}$$ and Gaussian quadrature with Jacobi polynomials up to order 500 and $beta=0$ as well as $alpha=p/2-1$, see chapter 2.4 (iv) of Gautschi (1997) for details.

The nodes and weights of the Gauss-Jacobi-quadrature are originally computed by the gaussquad package and saved in the file jacobiquad for faster computation.

References

Dürre, A., Vogel, D., Fried, R. (2015): Spatial sign correlation, Journal of Multivariate Analyis, vol. 135, 89--105. arvix 1403.7635

Dürre, A., Tyler, D. E., Vogel, D. (2016): On the eigenvalues of the spatial sign covariance matrix in more than two dimensions, to appear in: Statistics and Probability Letters. arvix 1512.02863

Gautschi, W. (1997): Numerical Analysis - An Introduction, Birkhäuser, Basel.

Novomestky, F. (2013): gaussquad: Collection of functions for Gaussian quadrature. R package version 1.0-2.

See Also

Calculating the theoretical SSCM from the theoretical shape matrix Shape2SSCM

Examples

Run this code

# defining eigenvalues of the shape matrix
evShape <- seq(from=0,to=1,by=0.1)

# standardized to have sum 1
evShape <- evShape/sum(evShape)

# calculating the related eigenvalues of the SSCM
evSSCM <- evShape2evSSCM(evShape)

plot(evShape,evSSCM)

# recalculate the eigenvalues of the shape matrix
evShape2 <- evSSCM2evShape(evSSCM)

# error is negligible
sum(abs(evShape-evShape2))

Run the code above in your browser using DataLab