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.
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...