  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.
