Learn R Programming

ICSNP (version 1.1-2)

duembgen.shape: Duembgen's Shape Matrix

Description

Iterative algorithm to estimate Duembgen's shape matrix.

Usage

duembgen.shape(X, init = NULL, steps = Inf, eps = 1e-06, 
               maxiter = 100, in.R = FALSE, na.action = na.fail, ...)

Value

A matrix.

Arguments

X

numeric data matrix or dataframe.

init

an optional matrix giving the starting value for the iteration. Otherwise the regular covariance is used after transforming it to a shape matrix wit determinant 1.

steps

a fixed number of iteration steps to take. See details.

eps

convergence tolerance.

maxiter

maximum number of iterations.

in.R

logical. If TRUE R-code (and not C) is used in the iteration

na.action

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

...

other arguments passed on to tyler.shape.

Author

Klaus Nordhausen, Seija Sirkia, and some of the C++ is based on work by Jari Miettinen

Details

Duembgen's shape matrix can be seen as tyler.shape's matrix wrt to the origin for the pairwise differences of the observations. Therefore this shape matrix needs no location parameter.

The function is, however, slow if the dataset is large.

The algorithm also allows for a k-step version where the iteration is run for a fixed number of steps instead of until convergence. If steps is finite that number of steps is taken and maxiter is ignored.

A better implementation is available in the package fastM as the function DUEMBGENshape.

References

Duembgen, L. (1998), On Tyler's M-functional of scatter in high dimension, Annals of Institute of Statistical Mathematics, 50, 471--491.

See Also

tyler.shape, duembgen.shape.wt

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)
cov.matrix/det(cov.matrix)^(1/3)
duembgen.shape(X)
rm(.Random.seed)

Run the code above in your browser using DataLab