fitNSBM {noisySBM} | R Documentation |
VEM algorithm to adjust the noisy stochastic block model to an observed dense adjacency matrix
Description
fitNSBM()
estimates model parameters of the noisy stochastic block model and provides a clustering of the nodes
Usage
fitNSBM(
dataMatrix,
model = "Gauss0",
sbmSize = list(Qmin = 1, Qmax = NULL, explor = 1.5),
filename = NULL,
initParam = list(nbOfTau = NULL, nbOfPointsPerTau = NULL, maxNbOfPasses = NULL,
minNbOfPasses = 1),
nbCores = parallel::detectCores()
)
Arguments
dataMatrix |
observed dense adjacency matrix |
model |
Implemented models:
|
sbmSize |
list of parameters determining the size of SBM (the number of latent blocks) to be expored
|
filename |
results are saved in a file with this name (if provided) |
initParam |
list of parameters that fix the number of initializations
|
nbCores |
number of cores used for parallelization |
Details
fitNSBM()
supports different probability distributions for the edges and can estimate the number of node blocks
Value
Returns a list of estimation results for all numbers of latent blocks considered by the algorithm. Every element is a list composed of:
theta
estimated parameters of the noisy stochastic block model; a list with the following elements:
pi
parameter estimate of pi
w
parameter estimate of w
nu0
parameter estimate of nu0
nu
parameter estimate of nu
clustering
node clustering obtained by the noisy stochastic block model, more precisely, a hard clustering given by the maximum aposterior estimate of the variational parameters
sbmParam$edgeProba
sbmParam
further results concerning the latent binary stochastic block model. A list with the following elements:
Q
number of latent blocks in the noisy stochastic block model
clusterProba
soft clustering given by the conditional probabilities of a node to belong to a given latent block. In other words, these are the variational parameters
tau
; (Q x n)-matrixedgeProba
conditional probabilities
rho
of an edges given the node memberships of the interacting nodes; (N_Q x N)-matrixICL
value of the ICL criterion at the end of the algorithm
convergence
a list of convergence indicators:
J
value of the lower bound of the log-likelihood function at the end of the algorithm
complLogLik
value of the complete log-likelihood function at the end of the algorithm
converged
indicates if algorithm has converged
nbIter
number of iterations performed
Examples
n <- 10
theta <- list(pi= c(0.5,0.5), nu0=c(0,.1),
nu=matrix(c(-2,10,-2, 1,1,1),3,2), w=c(.5, .9, .3))
obs <- rnsbm(n, theta, modelFamily='Gauss')
res <- fitNSBM(obs$dataMatrix, sbmSize = list(Qmax=3),
initParam=list(nbOfTau=1, nbOfPointsPerTau=1), nbCores=1)