graph_tool.inference.DynamicsBlockStateBase#
- class graph_tool.inference.DynamicsBlockStateBase(g, s, t, x=None, aE=nan, nested=True, state_args={}, bstate=None, self_loops=False, **kwargs)[source]#
Bases:
UncertainBaseState
Base state for network reconstruction based on dynamical data, using the stochastic block model as a prior. This class is not meant to be instantiated directly, only indirectly via one of its subclasses.
Methods
collect_marginal
([g])Collect marginal inferred network during MCMC runs.
Collect marginal latent multigraph during MCMC runs.
copy
(**kwargs)Return a copy of the state.
entropy
([latent_edges, density])Return the entropy, i.e. negative log-likelihood.
Return the underlying block state, which can be either
BlockState
orNestedBlockState
.get_edge_prob
(u, v, x[, entropy_args, epsilon])Return conditional posterior log-probability of edge \((u,v)\).
get_edges_prob
(elist[, entropy_args, epsilon])Return conditional posterior log-probability of an edge list, with shape \((E,2)\).
Return the current inferred graph.
get_x
()Return latent edge covariates.
mcmc_sweep
([r, multiflip])Perform sweeps of a Metropolis-Hastings acceptance-rejection sampling MCMC to sample network partitions and latent edges.
multiflip_mcmc_sweep
(**kwargs)Alias for
mcmc_sweep()
withmultiflip=True
.set_params
(params)Sets the model parameters via the dictionary
params
.set_state
(g, w)virtual_add_edge
(u, v[, entropy_args])virtual_remove_edge
(u, v[, entropy_args])- collect_marginal(g=None)[source]#
Collect marginal inferred network during MCMC runs.
- Parameters:
- g
Graph
(optional, default:None
) Previous marginal graph.
- g
- Returns:
- g
Graph
New marginal graph, with internal edge
EdgePropertyMap
"eprob"
, containing the marginal probabilities for each edge.
- g
Notes
The posterior marginal probability of an edge \((i,j)\) is defined as
\[\pi_{ij} = \sum_{\boldsymbol A}A_{ij}P(\boldsymbol A|\boldsymbol D)\]where \(P(\boldsymbol A|\boldsymbol D)\) is the posterior probability given the data.
- collect_marginal_multigraph(g=None)#
Collect marginal latent multigraph during MCMC runs.
- Parameters:
- g
Graph
(optional, default:None
) Previous marginal multigraph.
- g
- Returns:
- g
Graph
New marginal graph, with internal edge
EdgePropertyMap
"w"
and"wcount"
, containing the edge multiplicities and their respective counts.
- g
Notes
The mean posterior marginal multiplicity distribution of a multi-edge \((i,j)\) is defined as
\[\pi_{ij}(w) = \sum_{\boldsymbol G}\delta_{w,G_{ij}}P(\boldsymbol G|\boldsymbol D)\]where \(P(\boldsymbol G|\boldsymbol D)\) is the posterior probability of a multigraph \(\boldsymbol G\) given the data.
- entropy(latent_edges=True, density=True, **kwargs)#
Return the entropy, i.e. negative log-likelihood.
- get_block_state()#
Return the underlying block state, which can be either
BlockState
orNestedBlockState
.
- get_edge_prob(u, v, x, entropy_args={}, epsilon=1e-08)[source]#
Return conditional posterior log-probability of edge \((u,v)\).
- get_edges_prob(elist, entropy_args={}, epsilon=1e-08)#
Return conditional posterior log-probability of an edge list, with shape \((E,2)\).
- get_graph()#
Return the current inferred graph.
- mcmc_sweep(r=0.5, multiflip=True, **kwargs)#
Perform sweeps of a Metropolis-Hastings acceptance-rejection sampling MCMC to sample network partitions and latent edges. The parameter
r
controls the probability with which edge move will be attempted, instead of partition moves. The remaining keyword parameters will be passed tomcmc_sweep()
ormultiflip_mcmc_sweep()
, ifmultiflip=True
.
- multiflip_mcmc_sweep(**kwargs)#
Alias for
mcmc_sweep()
withmultiflip=True
.
- set_state(g, w)#
- virtual_add_edge(u, v, entropy_args={})#
- virtual_remove_edge(u, v, entropy_args={})#