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

 fit_Cauchy R Documentation

## Estimate parameters of a multivariate elliptical distribution to fit data under a Cauchy distribution

### 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 estimation is based on the maximum likelihood estimation (MLE) under a Cauchy distribution and the algorithm is obtained from the majorization-minimization (MM) optimization framework. The Cauchy distribution does not have second-order moments and the algorithm actually estimates the scatter matrix. Nevertheless, assuming that the observed data has second-order moments, the covariance matrix is returned by computing the missing scaling factor with a very effective method.

### Usage

``````fit_Cauchy(
X,
initial = NULL,
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, `scatter`: default follows from the scaled sample covariance matrix. `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. `cov` Covariance matrix estimate. `scatter` Scatter 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 Robust Estimation of Mean and Covariance Matrix Under Heavy-Tailed Distributions," IEEE Trans. on Signal Processing, vol. 63, no. 12, pp. 3096-3109, June 2015.

`fit_Tyler` 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_Cauchy(X)

``````

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