Software

Existing highly optimized software packages for statistical inference and machine learning largely focus on continuous ordered data, which permits a range of well-studied continuous optimization and sampling methods for model fitting. Due to the relational and discrete nature of networks, it is often challenging to mold network inference problems into a form that can exploit these powerful tools, necessitating the development of bespoke methods for principled network inference and scalable optimization/sampling tailored for specific problem settings.

We have packaged many of our network inference methods for easy usage through the PANINIpy package in Python. By focusing on nonparametric methods that do not require tuning fussy free parameters, as well as optimizing each method in pure Python for its specific task of interest without relying heavily on external packages, PANINIpy aims to be highly accessible for practitioners in different domains applying network inference in their research. Please feel free to reach out with any suggested methods you would like to contribute to the package or other modifications you would like to make to the existing modules!

We also recommend checking out the graph-tool package, which has a diverse collection of nonparametric methods for community detection and network reconstruction that are powered by efficient MCMC optimizers and samplers written in C++.

A number of methods we have developed are not within the scope of PANINIpy, and can be found in separate repositories associated with their respective papers. Please see the Publications page for more info.