You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Robust estimation methods for the mean vector, scatter matrix,
and covariance matrix (if it exists) from data (possibly containing NAs)
under multivariate heavy-tailed distributions such as angular Gaussian
(via Tyler's method), Cauchy, and Student's t distributions. Additionally,
a factor model structure can be specified for the covariance matrix. The
latest revision also includes the multivariate skewed t distribution.
# install stable version from CRAN
install.packages("fitHeavyTail")
# install development version from GitHubdevtools::install_github("convexfi/fitHeavyTail")
To illustrate the simple usage of the package fitHeavyTail, let's start by generating some multivariate data under a Student's $t$ distribution with significant heavy tails (degrees of freedom $\nu=4$):
library(mvtnorm) # package for multivariate t distributionN<-10# number of variablesT<-80# number of observationsnu<-4# degrees of freedom for heavy tails
set.seed(42)
mu<- rep(0, N)
U<- t(rmvnorm(n= round(0.3*N), sigma=0.1*diag(N)))
Sigma_cov<-U%*% t(U) + diag(N) # covariance matrix with factor model structureSigma_scatter<- (nu-2)/nu*Sigma_covX<- rmvt(n=T, delta=mu, sigma=Sigma_scatter, df=nu) # generate data
We can first estimate the mean vector and covariance matrix via the traditional sample estimates (i.e., sample mean and sample covariance matrix):
mu_sm<- colMeans(X)
Sigma_scm<- cov(X)
Then we can compute the robust estimates via the package fitHeavyTail:
library(fitHeavyTail)
fitted<- fit_mvt(X)
We can now compute the estimation errors and see the significant improvement:
To get a visual idea of the robustness, we can plot the shapes of the covariance matrices (true and estimated ones) on two dimensions. Observe how the heavy-tailed estimation follows the true one more closely than the sample covariance matrix:
Documentation
For more detailed information, please check the
vignette.