est.USVT {graphon}R Documentation

Estimate graphons based via Universal Singular Value Thresholding

Description

est.USVT is a generic matrix estimation method first proposed for the case where a noisy realization of the matrix is given. Universal Singular Value Thresholding (USVT), as its name suggests, utilizes singular value decomposition of observations in addition to thresholding over singular values achieved from the decomposition.

Usage

est.USVT(A, eta = 0.01)

Arguments

A

either

Case 1.

an (n\times n) binary adjacency matrix, or

Case 2.

a list containing multiple of (n\times n) binary adjacency matrices.

eta

a positive number in (0,1) to control the level of thresholding.

Value

a named list containing

svs

a vector of sorted singular values.

thr

a threshold to disregard singular values.

P

a matrix of estimated edge probabilities.

References

Chatterjee S (2015). “Matrix estimation by Universal Singular Value Thresholding.” Ann. Statist., 43(1), 177–214.

Examples

## generate a graphon of type No.1 with 3 clusters
W = gmodel.preset(3,id=1)

## create a probability matrix for 100 nodes
graphW = gmodel.block(W,n=100)
P = graphW$P

## draw 5 observations from a given probability matrix
A = gmodel.P(P,rep=5,symmetric.out=TRUE)

## run USVT algorithm with different eta values (0.01,0.1)
res2 = est.USVT(A,eta=0.01)
res3 = est.USVT(A,eta=0.1)

## compare true probability matrix and estimated ones
opar = par(no.readonly=TRUE)
par(mfrow=c(1,3), pty="s")
image(P,      main="original P matrix")
image(res2$P, main="USVT with eta=0.01")
image(res3$P, main="USVT with eta = 0.1")
par(opar)


[Package graphon version 0.3.5 Index]