At 2017-02-24 02:39:26, "Tiago de Paula Peixoto" <tiago@skewed.de> wrote: >On 23.02.2017 02:01, treinz wrote: >> Hi all, >> >> I'm new to the graph theory field and graph-tool package. Can anyone help me >> with the following questions on SBM of layered graph: >> >> 1) In the example shown in >> https://graph-tool.skewed.de/static/doc/demos/inference/inference.html#edge-layers-and-covariates, >> the edge covariates for the Les Mis¨¦rables network is passed via g.ep.value: >> >> state = gt.minimize_blockmodel_dl(g, deg_corr=False, layers=True, >> state_args=dict(ec=g.ep.value, layers=False)) >> >> In this case, does the constructed layered model automatically detect how >> many layers there should be in order to obtain a best fit SBM? If so, how >> can one retrieve the layer membership of each edge? If not, is there a way >> to do so in graph-tool via other function calls? > >Each layer corresponds to a particular value of the g.ep.value property map, >which was passed as the `ec` parameter. There is no need to extract >anything, since this information was provided to the function in the first >place. > >> 2) There's a so called 'independent layers' model discussed in the >> reference: Peixoto, T. P., Phys. Rev. E, 2015, 92, 042807 and it seems that >> setting state_args=dict(ec=g.ep.value, layers=True) in the example should >> use this model instead of the edge covariate model. But it seems from the >> paper that on is required to input the number of layers ('C' as in Fig. 3 of >> the reference). So how exactly should I use graph-tool to use the >> 'independent layers' model? Or is the algorithm capable of automatically >> detecting 'C' or the number of layers from the data? > >The number of layers is determined automatically from the supplied `ec` >parameter. > >Best, >Tiago > >-- >Tiago de Paula Peixoto <tiago@skewed.de> >