An S4 class to represent a degree corrected stochastic block model, extend `icl_model-class`

.
Such model can be used to cluster graph vertex, and model a square adjacency matrix \(X\) with the following generative model :
$$ \pi \sim Dirichlet(\alpha)$$
$$ Z_i \sim \mathcal{M}(1,\pi)$$
$$ \theta_{kl} \sim Exponential(p)$$
$$ \gamma_i^+,\gamma_i^- \sim \mathcal{U}(S_k)$$
$$ X_{ij}|Z_{ik}Z_{jl}=1 \sim \mathcal{P}(\gamma_i^+\theta_{kl}\gamma_j^-)$$
The individuals parameters \(\gamma_i^+,\gamma_i^-\) allow to take into account the node degree heterogeneity.
These parameters have uniform priors over the simplex \(S_k\) ie. \(\sum_{i:z_{ik}=1}\gamma_i^+=1\). This class mainly store the prior parameters value \(\alpha\) of this generative model in the following slots (the prior parameter \(p\) is estimated from the data as the global average probability of connection between two nodes):

`name`

name of the model

`alpha`

Dirichlet over cluster proportions prior parameter (default to 10)

`p`

Exponential prior parameter (default to NaN, in this case p will be estimated from data as the mean connection probability)

`type`

define the type of networks (either "directed" or "undirected", default to "directed")