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_properties["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))

Although it not important for the questions you have raised, it is not very
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 <ti...@skewed.de>
_______________________________________________
graph-tool mailing list
graph-tool@skewed.de
https://lists.skewed.de/mailman/listinfo/graph-tool

Reply via email to