On 26.04.2018 12:52, Zahra Sheikhbahaee wrote:
> Hi there,
>
> I am trying to include the edge weights by taking to account an edge covariate matrix for the nested block model inference. Well, Each time I run the code on my data set I get slightly different results both in terms of number of blocks and the nodes in each block.
This is because the inference is made using MCMC, which is a stochastic
algorithm. You have to run it multiple times, and select the result with
largest posterior probability (if you only want a point estimate).
> This is my code:
> state = minimize_nested_blockmodel_dl(g, state_args=dict(recs=[g.edge_ Although it not important for the questions you have raised, it is not veryproperties["weight"]], rec_types=["discrete- geometric"]))
> state.draw(edge_color=prop_to_size(g.edge_properties[" weight"], power=1, log=True),
> ecmap=(matplotlib.cm.gist_heat, .6),
> eorder=g.edge_properties["weight"],
> edge_pen_width=prop_to_size(g.edge_properties["weight"], 1, 4, power=1, log=True),
> edge_gradient=[],
> vertex_text=g.vertex_properties["attribute"],
> vertex_text_position="centered",
> vertex_text_rotation=g.vertex_properties['text_rotation'],
> vertex_font_size=10,
> vertex_font_family='mono',
> vertex_anchor=0,
> output_size=[1024*2,1024*2],
> output="DiscreteGeometric_%s.pdf"%(eventName))
useful to post incomplete code. Normally, for troubleshooting purposes, it
is necessary for you to provide a _minimal_ and _self-contained_ program
that anyone could execute and verify the problem you are reporting.
> I appreciate if you explain what your approach would be and how I can run
> graph-tool using the covariance matrix of edges in order to get
> statistically reliable results?
This is covered in detail in the HOWTO:
https://graph-tool.skewed.de/static/doc/demos/inference/ inference.html
and also in many papers, e.g.
https://arxiv.org/abs/1705.10225
https://arxiv.org/abs/1708.01432
However, I'm note sure what you mean by "covariance matrix of edges". The
approach in question deals with graphs with edge covariates (a.k.a.
weights). A covariance matrix usually refers to something else.
> Is there also any way to get the full posterior of each node belonging to
> each block?
This is also explained in detail in the HOWTO:
https://graph-tool.skewed.de/static/doc/demos/inference/ inference.html#sampling-from- the-posterior-distribution
Best,
Tiago
--
Tiago de Paula Peixoto <tiago@skewed.de>
_______________________________________________
graph-tool mailing list
graph-tool@skewed.de
https://lists.skewed.de/mailman/listinfo/graph-tool