est.completion {graphon} | R Documentation |
Estimate graphons based on matrix completion scheme
Description
est.completion
adopts a matrix completion scheme,
which is common in missing data or matrix reconstruction studies.
When given a multiple of, or a single observation, we consider
non-existent edges as missing entries and apply the completion scheme.
See OptSpace
for a more detailed introduction.
Usage
est.completion(
A,
rank = NA,
tolerance = 0.001,
maxiter = 20,
progress = FALSE,
adjust = TRUE
)
Arguments
A |
either
|
rank |
an estimated rank condition for the matrix; |
tolerance |
a tolerance level for singular value thresholding from OptSpace method. |
maxiter |
the number of maximum iterations for OptSpace method. |
progress |
a logical value; |
adjust |
a logical value; |
Value
an (n\times n)
corresponding probability matrix.
References
Keshavan RH, Montanari A, Oh S (2010). “Matrix Completion From a Few Entries.” IEEE Transactions on Information Theory, 56(6), 2980-2998. ISSN 0018-9448.
Examples
## generate a graphon of type No.5 with 3 clusters
W = gmodel.preset(3,id=5)
## create a probability matrix for 100 nodes
graphW = gmodel.block(W,n=100)
P = graphW$P
## draw 10 observations from a given probability matrix
A = gmodel.P(P,rep=10)
## apply the method
res_r3 = est.completion(A,rank=3) # use rank-3 approximation
res_r9 = est.completion(A,rank=9) # use rank-9 approximation
res_rN = est.completion(A,adjust=FALSE) # stop the code if guess works poorly
## visualize
opar = par(no.readonly=TRUE)
par(mfrow=c(1,3), pty="s")
image(res_r3, main="rank 3")
image(res_r9, main="rank 9")
image(res_rN, main="rank is guessed")
par(opar)