est.USVT: Estimate graphons based via Universal Singular Value...

Description Usage Arguments Value References Examples

View source: R/est.USVT.R

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

1
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

\insertRef

Chatterjee2015graphon

Examples

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

graphon documentation built on Aug. 13, 2021, 5:06 p.m.