Learn R Programming

rsvddpd (version 1.0.1)

rank.rSVDdpd: Rank Estimation for Robust Singular Value Decomposition

Description

rank.rSVDdpd estimates the optimal rank of a given matrix under robust SVD using Density Power Divergence (DPD) criteria.

Usage

rank.rSVDdpd(X, alpha = 0.5, maxrank = NULL)

Value

A named integer vector of length 3, giving the estimated ranks according to each criterion:

  • DIC — estimated rank from DIC.

  • RCC — estimated rank from RCC.

  • DICMR — estimated rank from DICMR (recommended).

Arguments

X

matrix, the data matrix for which robust rank estimation is required.

alpha

numeric, robustness parameter between 0 and 1 (default 0.5). Controls the trade-off between robustness and efficiency in the DPD measure.

maxrank

integer, maximum rank to be considered. Defaults to min(dim(X)).

Details

The function computes three penalized criteria for rank determination:

  • DIC — Divergence Information Criterion.

  • RCC — Robust Cross-Validation Criterion.

  • DICMR — Modified Divergence Information Criterion with Matrix Rank penalty (recommended).

The function computes a full robust SVD (up to maxrank) using rSVDdpd. It then evaluates the DPD divergence at different candidate ranks and applies penalty adjustments for model complexity. The final estimated rank minimizes the penalized criterion.

See Also

rSVDdpd, svd

Examples

Run this code
X <- matrix(rnorm(100), 10, 10)
rank.rSVDdpd(X, alpha = 0.3, maxrank = 5)

Run the code above in your browser using DataLab