A robust method for fitting degree distributions of complex networks
This work introduces a method for fitting to the degree distributions of complex network datasets, such that the most appropriate distribution from a set of candidate distributions is chosen while maximizing the portion of the distribution to which the model is fit. Current methods for fitting to degree distributions in the literature are inconsistent and often assume a priori what distribution the data are drawn from. Much focus is given to fitting to the tail of the distribution, while a large portion of the distribution below the tail is ignored. It is important to account for these low degree nodes, as they play crucial roles in processes such as percolation. Here we address these issues, using maximum likelihood estimators to fit to the entire dataset, or close to it. This methodology is applicable to any network dataset (or discrete empirical dataset), and we test it on over 25 network datasets from a wide range of sources, achieving good fits in all but a few cases. We also demonstrate that numerical maximization of the likelihood performs better than commonly used analytical approximations. In addition, we have made available a Python package which can be used to apply this methodology.