Iterative algorithm to estimate Duembgen's shape matrix using a partial Newton-Raphson approach.
DUEMBGENshape(X, nmax = 500, eps = 1e-06, maxiter = 100, perm = FALSE)
numeric data matrix or dataframe. Missing values are not allowed.
integer, if the sample size n (number of rows of X
) is smaller than nmax
, then all n(n-1)/2 pairwise differences will be computed
and used in the algorithm. If n is larger, then the algorithm avoids storing all the pairwise differences and is more memory efficient.
convergence tolerance, which means that the algorithm stops when the Frobenius norm of the gradient is smaller than eps.
maximum number of iterations.
logical. If TRUE the rows of X
will be randomly permuted before starting the computations. See details.
A list containing:
Estimated shape matrix.
Number of iterations of the algorithm.
The estimate is based on the new fast algorithm described in Duembgen et al. (2016). Note that Duembgen's shape matrix is standardized such that it has determinant 1.
The function does not check if there are several identical observations. In that case the function will fail.
To get a good initial value for the algorithm, the estimator is first computed based on the pairwise differences of
successive observations. Therefore the order of the rows of X
is supposed to be random. If this is not the case, the data
should be first permuted using the argument perm
.
In case maxiter
is reached before convergence, the estimate at that iteration is returned and a warning is given.
Duembgen, L. (1998), On Tyler's M-functional of scatter in high dimension, Annals of Institute of Statistical Mathematics, 50, 471--491.
Duembgen, L., Nordhausen, K. and Schuhmacher, H. (2016), New algorithms for M-estimation of multivariate location and scatter, Journal of Multivariate Analysis, 144, 200--217. 10.1016/j.jmva.2015.11.009
# NOT RUN {
DUEMBGENshape(longley)
DUEMBGENshape(longley, nmax=10)
# compare to
# library(ICSNP)
# duembgen.shape(longley)
# }
Run the code above in your browser using DataLab