MVTMLE {fastM} | R Documentation |
M-estimator of Location and Scatter Using Weights Coming From the Multivariate t-distribution
Description
The algorithm of this function is based on a partial Newton approach and should be faster than the traditional fixed-point algorithm. If the data follows a multivariate t-distribution with the correctly specified degrees of freedom this function gives the maximum likelihood estimate of location and scatter.
Usage
MVTMLE(X, nu = 1, location = TRUE, eps = 1e-06, maxiter = 100)
Arguments
X |
numeric data matrix or dataframe. Missing values are not allowed. |
nu |
assumed degrees of freedom of the t-distribution. Default is '1' which corresponds to the Cauchy distribution. |
location |
logical or numeric. If FALSE, it is assumed that the scatter should be computed wrt to the origin. If TRUE the location will be estimated and if it is a numeric vector it will be computed wrt to this vector. |
eps |
convergence tolerance, which means that the algorithm stops when the Frobenius norm of the gradient is smaller than eps. |
maxiter |
maximum number of iterations. |
Details
The assumed degree of freedom nu must be at least 1 when the location and scatter should be estimated. If only the scatter is to be estimated, then it needs to be larger than zero only.
In case maxiter
is reached before convergence, the estimate at that iteration is returned and a warning is given.
Value
A list containing:
mu |
Estimated location if |
Sigma |
Estimated scatter matrix. |
iter |
Number of iterations of the algorithm. |
Author(s)
Lutz Duembgen and Klaus Nordhausen
References
Kent, J.T., Tyler, D.E. and Vardi, Y. (1994), A curious likelihood identity for the multivariate t-distribution, Communications in Statistics, Theory and Methods, 23, 441–453.
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. doi: 10.1016/j.jmva.2015.11.009
See Also
Examples
MVTMLE(longley)
# compare to
# library(ICS)
# tM(longley)
# library(MASS)
# cov.trob(longley, nu=1, tol = 1e-06, maxit = 100)