Learn R Programming

filling (version 0.2.4)

fill.USVT: Matrix Completion by Universal Singular Value Thresholding

Description

fill.USVT is a matrix estimation method suitable for low-rank structure. In the context of our package, we provide this method under the matrix completion problem category. It aims at exploiting the idea of thresholding the singular values to minimize the mean-squared error, defined as $$\mathrm{MSE}(\hat{A}):={E} \left\{ \frac{1}{np} \sum_{i=1}^{n} \sum_{j=1}^{p} (\hat{a}_{ij} - a_{ij})^2 \right\}$$ where \(A\) is an \((n\times p)\) matrix with some missing values and \(\hat{A}\) is an estimate.

Usage

fill.USVT(A, eta = 0.01)

Value

a named list containing

X

an \((n\times p)\) estimated matrix after completion, which is \(\hat{A}\) in the equation above.

Arguments

A

an \((n\times p)\) partially observed matrix.

eta

control for thresholding \(\in (0,1)\).

References

chatterjee2015filling

Examples

Run this code
if (FALSE) {
## load image data of 'lena128'
data(lena128)

## transform 5% of entries into missing
set.seed(5)
A <- aux.rndmissing(lena128, x=0.05)

## apply the method with 3 different control 'eta'
fill1 <- fill.USVT(A, eta=0.01)
fill2 <- fill.USVT(A, eta=0.5)
fill3 <- fill.USVT(A, eta=0.99)

## visualize only the last ones from each run
opar <- par(no.readonly=TRUE)
par(mfrow=c(2,2), pty="s")
image(A, col=gray((0:100)/100), axes=FALSE, main="5% missing")
image(fill1$X, col=gray((0:100)/100), axes=FALSE, main="eta=0.01")
image(fill2$X, col=gray((0:100)/100), axes=FALSE, main="eta=0.5")
image(fill3$X, col=gray((0:100)/100), axes=FALSE, main="eta=0.99")
par(opar)
}

Run the code above in your browser using DataLab