Principal Quantile Components Analysis is an analogue to PCA in an asymmetric L1 norm. For the theory behind see Tran and Osipenko (2019). This method is based on the robust quantile matrix factorization algorithm developed by Zhu et al. (2017). It approaches PCA in an asymmetric linear norm via smooth approximation of the objective function. The objective function is regularized and sequentially optimized via quadratic programming.
Setting this method to the symmetric case (tau=0.5
) this is equal to performing L1-PCA.
This implementation can be used in conjunction with the functional data analysis (fda
) package for analyis of multivariate time series.
The code was developed as part of this authors master thesis.
You can install quant.pca from github with:
devtools::install_github("obleeker/quant.pca")
library(quant.pca)
# generate data
n = 100
X = data.frame(cbind(rnorm(n),rnorm(n),rnorm(n)))
# running PQC on the 0.9-quantile
pqcomp(data = X, projDim = 2, tau = 0.9, lambda = 0.1, muEst = T)
Optimal selection of the regularization lambda
can be found via the supplied cross-validation method (cv.pqc()
).
Notes: Parallel execution is not currently supported on Windows.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.