How to see the relations between two groups of blocks in a bipartite network?


Sorry if I ask basic questions but I'm new in this. I have a bipartite
network, with two types of nodes with no connections between the nodes of
the same type, only between different types. I have run
minimize_blockmodel_dl y minimize_nested_blockmodel_dl with different
options but I always get separated blocks for each type of node: some
blocks only with nodes of one type and the rest only with nodes of the
other type. But I am really interested in the relation between this two
groups of blocks. Any idea about how could I get that? Thank you very much.

Best regards,


attachment.html (883 Bytes)

What these functions do is to fit a generative model --- the stochastic
block model --- to your data. This model divides the network into
equivalence classes, such that nodes in the same class have similar
connections to the rest of the network. That is why it puts nodes of
both partitions of a bipartite network into different groups, i.e. they
are not seminar with respect to their connections.

The fact that the model is capable of recognizing these types of
equivalence classes is considered a feature, since it reproduces what in
fact you have in your data.

So, I'm not sure exactly what you want to achieve. If an algorithm
places the nodes of the different partitions in the same group, it will
be hiding this information from you. What else will it be hiding? How do
you define what should be found, and what shouldn't? In order to do this
correctly, you would need to formalize better what patterns you are
searching for, and encode them in a different generative model, write an
inference algorithm, etc,

Now, note that the stochastic blockmodel _does_ also give you the
relationship between the partitions, via the connections between them.

So maybe, you can clarify a little bit more what precisely you are
searching for?


Thank you very much for your detailed answer, it has been really helpful.

The point is that I want to know how the relations are beween the two types
of nodes of my network and with both classifications. Other algorithms,
such as map equation, classify both types of nodes in the same groups so I
see this relations directly, althought as you say by this way some
information is hidden. In this sense I prefer graphtool, but I didn't know
how to get this relation.

Now I see I can get the partitions network from the BlockState object, I
didn't know! (as I said, I am new in this, and in python too). I think it
will be enough with this output.

Thank you again,


2016-04-22 15:45 GMT+02:00 Andrea Briega <annbrial(a)>:

attachment.html (1.96 KB)