Shuffle processes: Degree-preserving rewirings of networks

epydemic includes processes that rewire networks ahead of experiments. These processes are inspired by the work reported in Melnik et alia [MHP+11] and can be used for a number of different purposes, for example creating a “random” version of an empirical network or for reducing clustering and other structures without changing the degree distribution.

ShuffleK: Degree-preserving rewiring

class epydemic.ShuffleK

A degree-preserving shuffle that rewrites the edges of its network while maintaiing the node degrees.

ShuffleK.REWIRE_FRACTION: Final[str] = 'epydemic.shufflek.rewire'

Parameter for the fraction of edges to rewire.

ShuffleK.build(params)

Shuffle the network while preserving node degrees.

Parameters:

params (Dict[str, Any]) – the experimental parameters