Am 17.10.18 um 23:34 schrieb Tzu-Chi Yen:
Dear Tiago,
I would like to fit an SBM with the /minimize_blockmodel_dl()/ function. Specifically, I would like to customize the optimization procedure with different priors for the model parameters. I am aware that /BlockState.entropy()/ returns the entropy (for fitting to SBM) with *labelled* input (partition & degree sequence), and /model_entropy()/ returns the entropy (for constructing the model) with *static* input (B, N, E). However, I don't see an argument in the /minimize_blockmodel_dl()/ function that I could enforce certain parameter priors at the first place, be it /degree_dl_kind == "uniform"/ or /degree_dl_kind == "distributed"/.
Do I miss something from the documentation? For example, may I customize /state_args/ in /minimize_blockmodel_dl()/ for this purpose?
The function minimize_blockmodel_dl() calls many other functions which need to compute the entropy (among other things), so things are organized in a way to make the code simpler, and contain the explosion of function parameters, but it makes options for customization like this a bit hidden. To achieve what you want, you need to do: minimize_blockmodel_dl(g, mcmc_args=dict(entropy_args=dict(degree_dl_kind="uniform"))) Best, Tiago -- Tiago de Paula Peixoto <tiago@skewed.de>