# fit_Tyler: Estimate parameters of a multivariate elliptical distribution... In fitHeavyTail: Mean and Covariance Matrix Estimation under Heavy Tails

 fit_Tyler R Documentation

## Estimate parameters of a multivariate elliptical distribution to fit data via Tyler's method

### Description

Estimate parameters of a multivariate elliptical distribution, namely, the mean vector and the covariance matrix, to fit data. Any data sample with NAs will be simply dropped. The algorithm is based on Tyler's method, which normalizes the centered samples to get rid of the shape of the distribution tail. The data is first demeaned (with the geometric mean by default) and normalized. Then the estimation is based on the maximum likelihood estimation (MLE) and the algorithm is obtained from the majorization-minimization (MM) optimization framework. Since Tyler's method can only estimate the covariance matrix up to a scaling factor, a very effective method is employed to recover the scaling factor.

### Usage

``````fit_Tyler(
X,
initial = NULL,
estimate_mu = TRUE,
max_iter = 200,
ptol = 0.001,
ftol = Inf,
return_iterates = FALSE,
verbose = FALSE
)
``````

### Arguments

 `X` Data matrix containing the multivariate time series (each column is one time series). `initial` List of initial values of the parameters for the iterative estimation method. Possible elements include: `mu`: default is the data sample mean, `cov`: default is the data sample covariance matrix. `estimate_mu` Boolean indicating whether to estimate `mu` (default is `TRUE`). `max_iter` Integer indicating the maximum number of iterations for the iterative estimation method (default is `100`). `ptol` Positive number indicating the relative tolerance for the change of the variables to determine convergence of the iterative method (default is `1e-3`). `ftol` Positive number indicating the relative tolerance for the change of the log-likelihood value to determine convergence of the iterative method (default is `Inf`, so it is not active). Note that using this argument might have a computational cost as a convergence criterion due to the computation of the log-likelihood (especially when `X` is high-dimensional). `return_iterates` Logical value indicating whether to record the values of the parameters (and possibly the log-likelihood if `ftol < Inf`) at each iteration (default is `FALSE`). `verbose` Logical value indicating whether to allow the function to print messages (default is `FALSE`).

### Value

A list containing possibly the following elements:

 `mu` Mean vector estimate. `scatter` Scatter matrix estimate. `nu` Degrees of freedom estimate (assuming an underlying Student's t distribution). `cov` Covariance matrix estimate. `converged` Boolean denoting whether the algorithm has converged (`TRUE`) or the maximum number of iterations `max_iter` has reached (`FALSE`). `num_iterations` Number of iterations executed. `cpu_time` Elapsed CPU time. `log_likelihood` Value of log-likelihood after converge of the estimation algorithm (if `ftol < Inf`). `iterates_record` Iterates of the parameters (`mu`, `scatter`, and possibly `log_likelihood` (if `ftol < Inf`)) along the iterations (if `return_iterates = TRUE`).

### Author(s)

Daniel P. Palomar

### References

Ying Sun, Prabhu Babu, and Daniel P. Palomar, "Regularized Tyler's Scatter Estimator: Existence, Uniqueness, and Algorithms," IEEE Trans. on Signal Processing, vol. 62, no. 19, pp. 5143-5156, Oct. 2014.

### See Also

`fit_Cauchy` and `fit_mvt`

### Examples

``````library(mvtnorm)       # to generate heavy-tailed data
library(fitHeavyTail)

X <- rmvt(n = 1000, df = 6)  # generate Student's t data
fit_Tyler(X)

``````

fitHeavyTail documentation built on May 1, 2023, 5:21 p.m.