When you need a synthetic network to resemble an existing network, configuration models might be the way to go. Given an input network, they produce a new network with the same number of nodes, each with the same degree. The edges of the new network are created randomly, in a way that preserves node degree.
Configuration models and other methods for constructing synthetic networks based on real data can be used to protect privacy. For example, online social networks can release configuration models based on their true member network to allow researchers to study the properties of those networks without having access to members' private data.
As an example, we can use a configuration model to create a synthetic network based on the karate club network. The following code shows exactly how to do this, using the configuration_model() function in the degree_seq...