202012101747

Grand Theory of Social Networks

tags: [ networks , _podcast ]

Anyone who knows me would be unsurprised that I have a grand theory for social networks (hence the title). In fact, this idea has been at the back of my head for many years (like with the dozen other things on the backburner), but a recent AI #podcast episode inspired me to see if there’s something to it. In fact, in 2016, I wrote some initial thoughts down, part of which I will reproduce below.

The generative models for social networks of yesteryear were these beautifully crafted simple models that yielded complex epiphenomena at scale. Small worlds/random ties produce small diameter; preferential attachment yields power law degree distributions. Are there other such simple ideas that can produce the complex dynamics of social network formation?

My hope is that homophily, together with the randomness of human personality/traits, might be the driving force of the social network realizations. Actually, I think it is the combination of having characteristics, and the relative ranking/disposition towards certain characteristics, that drives the global complexity of network. Thus, this dream falls in the realm of complexity theory.

Homophily

Let us model individuals as high-dimensional random vectors \(\in \mathbb{R}^{p}\) that correspond to different characteristics. The dimension of the ambient space, \(p\), shall vary, as it might be the case that the magnitude of \(p\) drives some of the emergent properties.1 For instance, one could claim that as civilization progresses, you have more characteristics to compare, which might then explain differences between rural and modern social networks. Similarly, the choice of the noise distribution (standard vs fat-tailed) might also have implications – for now, we default to Gaussian noise.

The basic idea is that relationships are formed based on similarity (vectors/individuals that are close in some metric should be friends). This idea is clearly not new – objects such as \(k\)-nearest neighbour graphs or the \(\epsilon\)-neighbour graph have been proposed and studied extensively. However, it seems they’re mainly used to generate ad-hoc similarity graphs, which is far removed from a social network.

The piece of insight from the podcast episode – and why I am revisiting this idea many years down the road – is that homophily on its own doesn’t really produce sufficiently complex graphs.2 What do I mean by this? Clearly (?) for any graph \(G\) there exists a set of vectors such that its similarity graph

set.seed(0)
n <- 5 # no. of people
p <- 10 # no. of characteristics
X <- matrix(rnorm(n*p), nrow=n)