Robust PCA using the Cauchy distribution.
cauchy.pca(x, k = 1, center = "sm", scale = "mad", trials = 20, parallel = FALSE)
A list including:
The duration (in seconds) of the algorithm.
The minimum maximum Cauchy log-likelihood.
The estimated location parameter of the Cauchy ditribution.
The estimated scale parameter of the Cauchy ditribution.
A matrix with the robust eigenvectors.
A numerical matrix with the data.
The number of eigenvectors to extract.
The way to center the data. This can be either "sm" corresponding to the spatial median, "med" corresponding to the classical variable-wise median. Alternatively the user can specify their own vector.
This is the method to scale the data. The default value is "mad" corresponding to the mean absolute deviation, computed column-wise. Alternatively the user can provide their own vector.
The number of trials to attempt. How many times the algorithm will be performed with different starting values (different starting vectors).
If you want parallel computations set this equal to TRUE.
Michail Tsagris, Aisha Fayomi, Yannis Pantazis and Andrew T.A. Wood.
R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.
This is the main function used to extract the Cauchy robust eigenvectors.
Fayomi A., Pantazis Y., Tsagris M. and Wood A.T.A. (2024). Cauchy robust principal component analysis with applications to high-dimensional data sets. Statistics and Computing, 34: 26. https://doi.org/10.1007/s11222-023-10328-x
cauchy.mle
x <- as.matrix( iris[, 1:4] )
cauchy.pca(x, k = 1)
Run the code above in your browser using DataLab