The functions below are only for comparison purposes and are all written in R. Each function corresponds to a different algorithm for the scatter only problem for M-estimation using weights coming from the multivariate t-distribution.
MVTMLE0r(X, nu = 0, delta = 1e-06, prewhitened = FALSE, steps = FALSE)
MVTMLE0r_FP(X, nu = 0, delta = 1e-06, steps = FALSE)
MVTMLE0r_FP0(X, nu = 0, delta = 1e-06, steps = FALSE)
MVTMLE0r_G(X, nu = 0, delta = 1e-06, steps = FALSE)
MVTMLE0r_CG(X, nu = 0, delta = 1e-06, steps = FALSE)
numeric data matrix or dataframe. Missing values are not allowed.
assumed degrees of freedom of the t-distribution. Must be 0 or larger. Default is '0' which corresponds to Tyler's shape matrix.
convergence tolerance, which means that the algorithms stop when the Frobenius norm of the gradient is smaller than delta.
logical. Is the data prewhitened or not.
logial. If TRUE intermediate results are printed on the console.
A list containing at least:
Estimated scatter matrix (or shape matrix if nu=0
).
Number of iterations of the algorithm.
All functions are implemented in R and their purpose is only for demonstration of the differences of the different algorithms.
The function MVTMLE0r
uses the recommended partial Newton approach as implemented also in (MVTMLE
and TYLERshape
).
MVTMLE0r_FP
and MVTMLE0r_FP0
are fixed-point algorithms where MVTMLE0r_FP
iterates the fixed point equation with
'iterative whitening' of the data. The function MVTMLE0r_G
uses a gradient approach and MVTMLE0r_CG
a conjugate gradient approach.
Note that MVTMLE0r_CG
does not check if the 'next' step is really an improvement and that all functions compute the scatter wrt to the origin.
All functions have a hard coded maximum number of iterations of 1000. If that is reached the functions returns the final estimate, however without a warning.
For general purposes we recommend the functions MVTMLE
and TYLERshape
.
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 {
MVTMLE0r(longley,nu=1)
MVTMLE0r_FP(longley,nu=1)
MVTMLE0r_FP0(longley,nu=1)
MVTMLE0r_G(longley,nu=1)
MVTMLE0r_CG(longley,nu=1)
# }
Run the code above in your browser using DataLab