Estimate graphons based on Stochastic Blockmodel approximation
Estimate graphons based on Stochastic Blockmodel approximation
est.SBA takes a 2-stage approach for estimating graphons based on exchangeable random graph models. First, it finds a Stochastic Blockmodel Approximation (SBA) of the graphon. Then, it uses clustering information to estimate graphon using a consistent histogram estimator.
est.SBA(A, delta =0.5)
Arguments
A: either
Case 1.: an (n×n) binary adjacency matrix, or
Case 2.: a vector containing multiple of (n×n) binary adjacency matrices.
delta: a precision parameter larger than 0.
Returns
a named list containing
H: a (K×K) matrix fo 3D histogram.
P: an (n×n) corresponding probability matrix.
B: a length-K list where each element is a vector of nodes/indices for each cluster.
Examples
## generate a graphon of type No.6 with 3 clustersW = gmodel.preset(3,id=6)## create a probability matrix for 100 nodesgraphW = gmodel.block(W,n=100)P = graphW$P
## draw 17 observations from a given probability matrixA = gmodel.P(P,rep=17)## run SBA algorithm with different deltas (0.2,0.5,0.8)res2 = est.SBA(A,delta=0.2)res3 = est.SBA(A,delta=0.5)res4 = est.SBA(A,delta=0.8)## compare true probability matrix and estimated onesopar = par(no.readonly=TRUE)par(mfrow=c(2,2), pty="s")image(P); title("original P")image(res2$P); title("SBA with delta=0.2")image(res3$P); title("SBA with delta=0.5")image(res4$P); title("SBA with delta=0.8")par(opar)