Hello Tiago and community,
I have a network that I'd like to infer a hierarchical SBM from, but it has
weighted edges.
After reading the weighted SBM paper [1] and looking at the graph-tool
docs, I think I might be able to use `*minimize_nested_blockmodel_dl*` and
pass the `*BlockState*` `*eweight*` argument via `*state_args*`. The
weights are discrete and non-negative, so maybe I also need to specify "
discrete-geometric" via `*rec_types`*. The edge weights could also be seen
as multiple edges in a multigraph.
1]: https://arxiv.org/pdf/1708.01432.pdf
After searching through old mailing list posts, here is my current attempt
for the weighted case:
g = Graph()
# Add vertices here
# Add edges here
edge_weights = g.new_edge_property('int')
# Specify edge weights here
state = minimize_nested_blockmodel_dl(g,
state_args=dict(eweight=edge_weights,
rec_types=['discrete-geometric']) )
Am I on the right track? And would it be better to specify the edge
weights via the `*BlockState*` `*recs*` parameter instead of using `
*eweight*`?
Thank you,
Alexander
Alexander T. J. Barron
https://cogentmentat.github.io/academic/
attachment.html (2.24 KB)