Dear Tiago, 

Thank you very much for creating and maintaining this awesome package! I
really enjoy using it. 

I have a question regarding finding the NestedBlockState with minimum
description length.

I currently have a very large bipartite network with approximately 300k
edges and 20k nodes, say, g. 

1. founding the initial state using an agglomerative heuristic. 
state = gt.minimize_nested_blockmodel_dl(g, deg_corr=True) 

2. equilibrate the Markov chain at beta = 1 
bs = state.get_bs()                     
bs += [np.zeros(1)] * (nL - len(bs))   
state = state.copy(bs=bs, sampling=True)
gt.mcmc_equilibrate(state, wait=1000, epsilon=1e-6,
mcmc_args=dict(niter=10))

3. equilibrate the Markov chain at beta = numpy.inf 
gt.mcmc_equilibrate(state, wait=1000, epsilon=1e-6, mcmc_args=dict(beta =
numpy.inf, niter=10))

4. founding the state with minimum description length 
gt.mcmc_equilibrate(state, wait=200, epsilon=1e-6, mcmc_args=dict(beta =
numpy.inf, niter=10), callback = finding_minState)
where finding_minState is a function that checks whether the state is the
minimum MDL found so far. 

5. to save the state to pickle files, I use the following to construct a new
NestedBlockState
minState = gt.NestedBlockState(g, bs = state.get_bs(), state_args =
state.state_args)
where state_args is some partition prior imposed on the graph. 

In the above, to speed up the inference, I chose epsilon to be 1e-6 or even
1e-2. I know I can also speed up the program by passing multiflip=True, but
since I ran the program on the school server. It currently only have 2.27
available. 

I run the above code for multiple times to study the computational cost and
convergence behavior. For each run, I also calculate the average description
length over MCMC sweeps. 

My question is: 

Is the above approach correct to find the state with minimum description
length? 

Looking forward to your reply. 

Best, 
Terry 



--
Sent from: 
http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/
_______________________________________________
graph-tool mailing list
[email protected]
https://lists.skewed.de/mailman/listinfo/graph-tool

Reply via email to