Estimate graphons based via Universal Singular Value Thresholding
Estimate graphons based via Universal Singular Value Thresholding
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.
est.USVT(A, eta =0.01)
Arguments
A: either
Case 1.: an (n×n) binary adjacency matrix, or
Case 2.: a list containing multiple of (n×n) binary adjacency matrices.
eta: a positive number in (0,1) to control the level of thresholding.
Returns
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.
Examples
## generate a graphon of type No.1 with 3 clustersW = gmodel.preset(3,id=1)## create a probability matrix for 100 nodesgraphW = gmodel.block(W,n=100)P = graphW$P
## draw 5 observations from a given probability matrixA = 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 onesopar = 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)