# est.LG: Estimate graphons based on empirical degrees In graphon: A Collection of Graphon Estimation Methods

## Description

`est.LG` takes a 2-stage approach. First it adopts largest gap criterion on empirical degrees to estimate blocks of a given network under Stochastic Blockmodel framework. Then a consistent histogram estimator is utilized to estimate graphons based on estimated blocks in a given network.

## Usage

 `1` ```est.LG(A, K) ```

## Arguments

 `A` an `(n-by-n)` binary adjacency matrix. `K` the number of blocks provided by an user.

## Value

a named list containing

H

a `(K-by-K)` matrix of 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

Channarond, A., Daudin, J., and Robin, S. (2012) Classification and estimation in the SBM based on empirical degrees. Electronic Journal of Statistics, Vol.6:2574-2601.

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.SBA`
 ``` 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.10 with 3 clusters W = gmodel.preset(3,id=10) ## create a probability matrix for 100 nodes graphW = gmodel.block(W,n=100) P = graphW\$P ## draw 23 observations from a given probability matrix A = gmodel.P(P,rep=23) ## run LG algorithm with a rough guess for K=2,3,4 res2 = est.LG(A,K=2) res3 = est.LG(A,K=3) res4 = est.LG(A,K=4) ## compare true probability matrix and estimated ones par(mfrow=c(1,4)) image(P); title("main") image(res2\$P); title("LG with K=2") image(res3\$P); title("LG with K=3") image(res4\$P); title("LG with K=4") ```