据Li Yang等人的论文总结了四种衡量网络中一个节点的重要程度的方法:
1. Degree Centrality
对无向图来说,节点v的degree就是它的直接邻居节点数量。
2. Closeness Centrality
节点v的closeness就是v到其他各个节点的最短路径的长度之和的倒数。也就是说如果v到各个节点的路径越短,则closeness越大,说明v越重要。
3. Betweenness Centrality
节点v的Betweenness 就是图中任意两个节点对之间的最短路径当中,其中经过v的最短路径的所占的比例,也就是说经过v的最短路径越多,v越重要。
4. Eigenvector Centrality
另外,作者“赵澈”介绍了其他几种,并对Closeness和Betweenness作了如下解释,非常好懂。
到此先让我们总结一下,如果要衡量一个用户在关注网络中的“重要程度”,我们可以利用这几种指标:
它们在网络分析中也可被归为同一类指标:点的中心度(Centrality)。但我们发现,其实三种指标所表达的“重要”,其含义是不完全一样的,同一个网络,同一个节点,可能不同的中心度排名会有不小的差距。接下来请允许我介绍本项目中涉及到的最后两种点的中心度:
-
点的近性中心度(Closeness Centrality):一个点的近性中心度较高,说明该点到网络中其他各点的距离总体来说较近,反之则较远。假如一个物流仓库网络需要选某个仓库作为核心中转站,需要它到其他仓库的距离总体来说最近,那么一种方法就是找到近性中心度最高的那个仓库。
-
点的介性中心度(Betweenness Centrality):一个点的介性中心度较高,说明其他点之间的最短路径很多甚至全部都必须经过它中转。假如这个点消失了,那么其他点之间的交流会变得困难,甚至可能断开(因为原来的最短路径断开了)。因此假如要hack一个网络的话,对哪个结点下手你懂的。从另一个角度想,这些点简直就像是等在丝绸之路上必经关口的强盗。不留下买路钱?让你无路可走,生意就别做了。
这两种中心度我目前并未找到很公认的中文翻译,姑且自己翻译了。另外同PageRank和HITS一样,由于指标的计算稍显复杂,这里就不详细叙述了。但是我们都使用的是网络分析库Networkx中的算法实现,对详细算法有兴趣的读者可自行查阅其文档。
更早的研究,可以参考Freeman的 A Set of Measures of Centrality Based on Betweenness