Latent Network Models to Account for Noisy, Multiply-Reported Social Network Data


The latest version (v0.1.3) simplifies the installation process for the R package. Check out the πŸ“¦ Installation page for more details.

If you give it a go, write to us if you have any questions or comments about the package!

If you want to see what we have planned for the future, check out the Roadmap on GitHub.

πŸ“‘ Is this package for me?

Suppose you want to find out the β€œtrue” network of social ties between \(n\) individuals and you query \(m\) β€œreporters” within this network (where \(m \le n\)) about such ties. These ties could, for instance, represent relationships commonly studied in the social sciences β€” such as loaning money, giving advice, or sharing food.

Suppose, also, that you ask them questions in both directions: β€œWho does person \(i\) borrow money from?” and β€œWho does person \(i\) lend money to?” As it is doubtful that the responses given by the reporters will match perfectly, you will almost surely end up with varying perspectives on what should be the same relationship and, so too, varying perspectives on the structure of the overall social network. The question then is, how do you make sense of this data in the face of inconsistent reports and potentially unreliable reporters?

The model in the VIMuRe package is our proposed solution to this problem. It fits a latent network model from multiply-sampled social network data using Bayesian inference, returning a posterior distribution that can later be used to obtain samples or a point-estimate network (e.g., as an igraph object). The package was written in Python and R and is available on GitHub (

πŸ“ In brief

  • Input: multiply-sampled social network data as an edgelist or an igraph object.

  • Output: a fitted latent network model that can be used to obtain samples or a point-estimate network (an igraph object) from the posterior distribution of the fitted model.

Getting started

  • Head to the πŸ“¦ Installation page to learn how to install the package (either R or Python).
  • Check out the πŸ’» Tutorials page to learn how to use the package.