Am 03.04.20 um 01:03 schrieb Deklan Webster:
Thanks for the quick reply,
The same model selection principles still apply.
So, would it be meaningful to try out 4 possibilities: DC or not, latent multigraph or not, and then compare the entropies?
Yes.
I didn't see in the docs where it says MeasuredBlockState uses the latent Poisson multigraph. I thought the latter is new but the former has been in graph-tool for awhile. Has the former been updated to always use the latter?
No, the measured models have always used latent multigraphs, as it's explained in the papers.
Will using MeasuredBlockState instead of LatentMultigraphBlockState influence the community detection at all? In other words, if I'm interested in predicting links and doing community detection (both as accurately as possible) should I just use MeasuredBlockState all the time?
The latent Poisson model using LatentMultigraphBlockState is not meant for reconstruction, as it assumes there is no measurement error. When you take that into account it becomes MeasuredBlockState.
In the other thread you recommend I use "MeasuredBlockState.get_edge_prob()", but in the example in the docs I'm seeing this
eprob = u.ep.eprob print("Posterior probability of edge (11, 36):", eprob[u.edge(11, 36)])
What's the difference?
The former gives the conditional probability, and the latter the marginal probability.
Btw, there appears to be a typo in the docs for MeasuredBlockState. The x_default in the call signature has a default value of 0, but in the explanation below it says 1.
The function signature is correct, I'll fix the docstring. Best, Tiago -- Tiago de Paula Peixoto <tiago@skewed.de>