fill.USVT: Matrix Completion by Universal Singular Value Thresholding

Description Usage Arguments Value References Examples

View source: R/fill_USVT.R

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} ≤ft\{ \frac{1}{np} ∑_{i=1}^{n} ∑_{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

1
fill.USVT(A, eta = 0.01)

Arguments

A

an (n\times p) partially observed matrix.

eta

control for thresholding \in (0,1).

Value

a named list containing

X

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

References

\insertRef

chatterjee2015filling

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
## Not run: 
## 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)

## End(Not run)

filling documentation built on Aug. 21, 2021, 5:09 p.m.