graph_tool.inference.UncertainBaseState#
- class graph_tool.inference.UncertainBaseState(g, nested=True, state_args={}, bstate=None, self_loops=False, init_empty=False, max_w=65536)[source]#
Bases:
object
Base state for uncertain network inference.
Methods
collect_marginal
([g])Collect marginal inferred network during MCMC runs.
Collect marginal latent multigraph during MCMC runs.
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[, 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.
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_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)[source]#
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)[source]#
Return the entropy, i.e. negative log-likelihood.
- get_block_state()[source]#
Return the underlying block state, which can be either
BlockState
orNestedBlockState
.
- get_edge_prob(u, v, entropy_args={}, epsilon=1e-08)[source]#
Return conditional posterior log-probability of edge \((u,v)\).
- get_edges_prob(elist, entropy_args={}, epsilon=1e-08)[source]#
Return conditional posterior log-probability of an edge list, with shape \((E,2)\).
- mcmc_sweep(r=0.5, multiflip=True, **kwargs)[source]#
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)[source]#
Alias for
mcmc_sweep()
withmultiflip=True
.