# est.SBA: Estimate graphons based on Stochastic Blockmodel... In graphon: A Collection of Graphon Estimation Methods

## Description

`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.

## Usage

 `1` ```est.SBA(A, delta = 0.5) ```

## Arguments

 `A` either Case 1.an `(n-by-n)` binary adjacency matrix, or Case 2.a vector containing multiple of `(n-by-n)` binary adjacency matrices. `delta` a precision parameter larger than 0.

## Value

a named list containing

H

a `(K-by-K)` matrix fo 3D histogram.

P

an `(n-by-n)` corresponding probability matrix.

B

a length-`K` list where each element is a vector of nodes/indices for each cluster.

## References

Airoldi, E.M., Costa, T.B., and Chan, S.H. (2013) Stochastic blockmodel approximation of a graphon: Theory and consistent estimation. Advances in Neural Information Processing Systems, 692-700.

Chan, S.H. and Airoldi, E.M. (2014) A consistent histogram estimator for exchangeable graph models. Journal of Machine Learning Research Workshop and Conference Proceedings, Vol.32, No.1:208-216.

`est.LG`
 ``` 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.6 with 3 clusters W = gmodel.preset(3,id=6) ## create a probability matrix for 100 nodes graphW = gmodel.block(W,n=100) P = graphW\$P ## draw 17 observations from a given probability matrix A = 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 ones par(mfrow=c(1,4)) 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") ```