duembgen.shape | R Documentation |
Iterative algorithm to estimate Duembgen's shape matrix.
duembgen.shape(X, init = NULL, steps = Inf, eps = 1e-06,
maxiter = 100, in.R = FALSE, na.action = na.fail, ...)
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 |
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
.
A matrix.
Klaus Nordhausen, Seija Sirkia, and some of the C++ is based on work by Jari Miettinen
Duembgen, L. (1998), On Tyler's M-functional of scatter in high dimension, Annals of Institute of Statistical Mathematics, 50, 471–491.
tyler.shape
, duembgen.shape.wt
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.