rSVDdpd {rsvddpd} | R Documentation |
Robust Singular Value Decomposition using Density Power Divergence
Description
rSVDdpd
returns the singular value decomposition of a matrix with robust
singular values in presence of outliers
Usage
rSVDdpd(
X,
alpha,
nd = NA,
tol = 1e-04,
eps = 1e-04,
maxiter = 100L,
initu = NULL,
initv = NULL
)
Arguments
X |
|
alpha |
|
nd |
|
tol |
|
eps |
|
maxiter |
|
initu |
|
initv |
|
Details
The usual singular value decomposition is highly prone to error in
presence of outliers, since it tries to minimize the L_2
norm of the errors
between the matrix X
and its best lower rank approximation. While there is
considerable effort to impose robustness using L_1
norm of the errors instead
of L_2
norm, such estimation lacks efficiency. Application of density power
divergence bridges the gap.
DPD(f|g) = \int f^{(1+\alpha)} - (1 + \frac{1}{\alpha}) \int f^{\alpha}g + \frac{1}{\alpha} \int g^{(1 + \alpha)}
The parameter alpha
should be between 0 and 1, if not, then a warning is shown.
Lower alpha
means less robustness
but more efficiency in estimation, while higher alpha
means high robustness but
less efficiency in estimation. The recommended value of alpha
is 0.3.
The function tries to obtain the best rank one approximation of a matrix by minimizing
this density power divergence of the true errors with that of a normal distribution centered
at the origin.
Value
A list containing different components of the decomposition X = U D V'
d - The robust singular values, namely the diagonal entries of
D
.u - The matrix of left singular vectors
U
. Each column is a singular vector.v - The matrix of right singular vectors
V
. Each column is a singular vector.
References
S. Roy, A. Basu and A. Ghosh (2021), A New Robust Scalable Singular Value Decomposition Algorithm for Video Surveillance Background Modelling https://arxiv.org/abs/2109.10680
See Also
Examples
X = matrix(1:20, nrow = 4, ncol = 5)
rSVDdpd(X, alpha = 0.3)