Robust PCA (RPCA) is not like other methods in this package as finding explicit low-dimensional embedding with reduced number of columns.
Rather, it is more of a decomposition method of data matrix
do.rpca(
X,
mu = 1,
lambda = sqrt(1/(max(dim(X)))),
preprocess = c("null", "center", "scale", "cscale", "decorrelate", "whiten")
)
an
an augmented Lagrangian parameter
parameter for the sparsity term
an additional option for preprocessing the data.
Default is "null"
. See also aux.preprocess
for more details.
a named list containing
an
an
a list containing information for out-of-sample prediction.
candes_robust_2011Rdimtools
# NOT RUN {
## Load Iris data and put some noise
data(iris)
set.seed(100)
subid = sample(1:150,50)
noise = 0.2
X = as.matrix(iris[subid,1:4])
X = X + matrix(noise*rnorm(length(X)), nrow=nrow(X))
lab = as.factor(iris[subid,5])
## try different regularization parameters
rpca1 = do.rpca(X, lambda=0.1)
rpca2 = do.rpca(X, lambda=1)
rpca3 = do.rpca(X, lambda=10)
## apply identical PCA methods
Y1 = do.pca(rpca1$L, ndim=2)$Y
Y2 = do.pca(rpca2$L, ndim=2)$Y
Y3 = do.pca(rpca3$L, ndim=2)$Y
## visualize
opar <- par(no.readonly=TRUE)
par(mfrow=c(1,3))
plot(Y1, pch=19, col=lab, main="RPCA+PCA::lambda=0.1")
plot(Y2, pch=19, col=lab, main="RPCA+PCA::lambda=1")
plot(Y3, pch=19, col=lab, main="RPCA+PCA::lambda=10")
par(opar)
# }
Run the code above in your browser using DataLab