est.LG: Estimate graphons based on empirical degrees

Description Usage Arguments Value References See Also Examples

View source: R/est.LG.R

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 = 2)

Arguments

A

an (n\times n) binary adjacency matrix.

K

the number of blocks provided by an user.

Value

a named list containing

H

a (K\times K) matrix of 3D histogram.

P

an (n\times n) corresponding probability matrix.

B

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

References

\insertRef

Channarond2011graphon

\insertRef

chan2014graphon

See Also

est.SBA

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
## generate a graphon of type No.5 with 3 clusters
W = gmodel.preset(3,id=10)

## create a probability matrix for 20 nodes
graphW = gmodel.block(W,n=20)
P = graphW$P

## draw 23 observations from a given probability matrix
A = gmodel.P(P,rep=23,symmetric.out=TRUE)

## 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
opar = par(no.readonly=TRUE)
par(mfrow=c(2,2), pty="s")
image(P, main="original P matrix")
image(res2$P, main="LG with K=2")
image(res3$P, main="LG with K=3")
image(res4$P, main="LG with K=4")
par(opar)

graphon documentation built on Aug. 13, 2021, 5:06 p.m.