Estimate edge probabilities by neighborhood smoothing
Estimate edge probabilities by neighborhood smoothing
est.nbdsmooth takes the expectation of the adjacency matrix in that it directly aims at estimating network edge probabilities without imposing structural assumptions as of usual graphon estimation requires, such as piecewise lipschitz condition. Note that this method is for symmetric adjacency matrix only, i.e., undirected networks.
est.nbdsmooth(A)
Arguments
A: either
Case 1.: an (n×n) binary adjacency matrix, or
Case 2.: a vector containing multiple of (n×n) binary adjacency matrices.
Returns
a named list containing
h: a quantile threshold value.
P: a matrix of estimated edge probabilities.
Examples
## generate a graphon of type No.4 with 3 clustersW = gmodel.preset(3,id=4)## create a probability matrix for 100 nodesgraphW = gmodel.block(W,n=100)P = graphW$P
## draw 5 observations from a given probability matrixA = gmodel.P(P,rep=5,symmetric.out=TRUE)## run nbdsmooth algorithmres2 = est.nbdsmooth(A)## compare true probability matrix and estimated onesopar = par(no.readonly=TRUE)par(mfrow=c(1,2), pty="s")image(P, main="original P matrix")image(res2$P, main="nbdsmooth estimated P")par(opar)