你的社交网络里谁是核心人物? | 初识六度空间理论
你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。——六度空间理论
1. 网络与社交网络
1.1 网络模型
现实生活中,很多问题都可以抽象成为一张网络。

比如,我们最熟悉的社交圈,朋友与朋友之间的关系是如何构建联系的? 在小破站平台中,为什么图图急需与大V的互关?


流行性传染病是如何传播的?

学术论文之间有什么引用关系?


再举一个简单的例子,我们把学校及其各学院的网站比作节点,如果我们访问学校的网站,那我们可以继续找到学院的网站,一些学院的网站也有通往其他学院网站的点击口,这样的网站及其连接关系就构成了一个网络,不出意外的话,学校的网站是这个网络中最核心的,因为它可以连接到几乎所有学院的网站。

随着信息技术的飞速发展,网络科学在过去几十年飞速发展,并给人类社会带来了很大的便利。本次,图图就以社交网络为例,带大家了解网络的基本知识。
1.2 社交网络
图1是一张经典的社交网络图。在这个社交网络中,我们用节点1-10表示社交圈里的10个人,而节点之间的连接则表示他们之间是朋友关系。

围绕图1,我们不禁发问:
谁的朋友最多?
谁是这个网络中的关键人物?
这个网络的社交效果如何?
以上三个问题中,前两个问题围绕的是个体(节点),而后面一个问题则是围绕整个网络。
接下来,我们就分网络构建、节点性质和整体性质这三部分来介绍。具体的脉络如图2所示。

2. 网络构建
2.1 网络的数学表达
对于一个网络,我们用邻接矩阵的形式对它进行表达。
邻接矩阵A是一个N阶的方阵,其中N是网络中节点的个数。如图3所示,三个节点网络的邻接矩阵就需要填充9个元素,这些元素代表了节点间的连接关系。(矩阵A中的元素分别怎么填)

我们可以将网络分为无权网络和有权网络。无权网络与有权网络的例子分别在图4和图5中展示。我们可以看到,无权网络将每个节点之间的连接平等看待,而有权网络的连接则是有一定重要度区别的。比如,在无权的社交网络中,大家只有两个关系,认识或不认识;而在有权的社交网络中,大家互相认识的程度也得以体现,谁与谁是非常熟悉的深交,谁与谁只是普通的朋友,在有权网络中一目了然。因此,对于无权网络来说,a_ij=1表示从节点i到节点j之间有连接,而a_ij=0则表示节点i到节点j之间没有连接。而对于有权网络来说,每条连接的边有值为w_ij的权重,因此a_ij=w_ij表示节点i和节点j之间有连接,并且边的权重为w_ij;如果节点i到节点j之间没有连接,则a_ij=0。不难看出,对于没有方向的网络来说,其邻接矩阵是一个对称阵。


有了邻接矩阵的概念,我们就可以把图1中的社交网络用数学的方式表达出来,其邻接矩阵A如图6所示。

2.2 在MATLAB中构建网络
拿到了网络的邻接矩阵,我们就可以到MATLAB当中去生成网络G。我们在MATLAB中先录入矩阵A,接下来用graph())函数去构造网络:
G=graph(A);
graph函数具体的用法案例:
G=graph。返回一个没有节点和边的空网络;
G=graph(A)。就是我们刚刚使用的,返回一个邻接矩阵A代表的网络。
G=graph(s,t)。利用邻接表创建一个网络,s和t分别代表一条边的两个端节点。图7展示了图1所示的社交网络邻接表,共有18条边。当然,如果我们想返回有权重的网络,我们就给每条边加一个权重,所有权重组成一个数组weights,使用G=graph(s,t,weights)。

接下来,我们就可以去分析网络G的性质啦~
3 节点性质
3.1 度中心性
在第一部分,我们想知道在这个社交网络中谁的朋友最多,度中心性就是其刻画方式。我们用k_i表示节点i连接网络中其他节点的数目。因为一个节点最多只可能与(N-1)个其他节点有连接关系,因此归一化的度中心性公式为

3.2 中介中心性
顾名思义,中介在朋友间起到桥梁的作用,使得不是朋友的人也可以进行沟通交流。网络中谁的中介中心性越大,谁就能成为网络中的枢纽角色。未归一化的中介中心性数学公式为:

式中,g_st为从节点s到t的最短路径数目,n_st^i为从节点s到t的最短路径中经过节点i的条数。
对于中介中心性,我们同样继续给出归一化的公式。设想一种极端情况,如果这个节点在其他所有节点对的最短路径上,同时其他节点对的最短路径唯一,那么该节点的中介中心性就是最大的,值为

因此,归一化的中介中心性公式为

3.3 MATLAB计算
我们在MATLAB中计算相应节点指标的值,基于上一节生成的网络G,代码如下:
n=numnodes(G);
deg=degree(G);
nordeg=deg./(n-1);
bet=centrality(G,'betweenness');
norbet=bet./((n-1)*(n-2)/2);
因此,我们计算得出的社交网络案例的节点性质结果如表1所示。

从表1中不难看出:
节点4有最大的度,其代表的人朋友最多。
节点8虽然度中心性不高,只有3个朋友,但他的中介中心性是最高的,在整个社交网络中起到关键的桥梁和枢纽作用。
4 整体性质
还记得引入部分的最后一个问题吗,这个网络的社交效果如何。在网络整体性质部分,我们主要介绍平均路径长度来解决上述疑惑。
要想知道网络的平均路径长度,我们先引入最短路径的概念。网络中的两个节点i和j之间的最短路径,是连接其边数最少的路径,这条路径的长度用d_ij来表示。那么,网络整体的平均路径长度L为

接下来,我们就在MATLAB中把它计算出来,代码如下:
d=distances(G);
L=sum(sum(d))/(n*(n-1));
在代码中,我们首先计算了网络中的最短路径矩阵d,再利用该矩阵进行平均路径长度的计算。对于图1的社交网络,计算结果为1.978。也就是说,平均来讲,一个人要接触网络中的另一个人需要大约2段路程,经过1个第三方介绍。
在这个社交圈里,两个人之间的平均距离还不到2,互相之间来往的方便程度是非常高的,我们不得不感叹,这个世界是真小啊!
上述的案例让我们发现,其实社交网络中人与人的间隔还是很小的。在网络科学领域,有一个六度空间理论的猜想。这个理论指出,
世界上互不相识的人其实只需要很少的中间人就能够建立起联系,具体量化来说,我们和任何一个陌生人之间所间隔的人一般不会超过六个。
这样奇妙的“小世界现象”,是不是激发了你探索网络科学的兴趣呢?好了,以上就是我们对网络的一些基本知识介绍。看来,网络科学对分析一些系统的整体性质和系统内各要素之间的关系是非常有益处的,它可以帮助我们完成从发现问题、分析问题到解决问题的全过程。希望大家看了今天的内容都有所收获!
获取本文中完整代码,请关注微信公众号“图通道”回复“全家桶”进行查找!;
查看原文:请关注微信公众号“图通道”;

