fit_Cauchy {fitHeavyTail}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.

See Also

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)


[Package fitHeavyTail version 0.2.0 Index]