图论:计算聚类系数

时间:2011-07-10 20:45:16

标签: algorithm cluster-analysis graph-theory

我正在做一些研究,我已经到了计算图表聚类系数的地步。

根据this paper directly related to my research

  

聚类系数C(p)是   定义如下。假设一个   vertex v有k v 个邻居;然后在   大多数(k v *(k v -1))/ 2个边可以   他们之间存在(这发生在   v的每个邻居都连接到   v)的每个其他邻居。设C v   表示这些允许的分数   实际存在的边缘。 De fi ne C as   所有v

的C v 的平均值

但是this wikipedia article on the subject says differently

  

C =(闭合三元组的数量)/(连接的三元组的数量)

在我看来,后者的计算成本更高。

所以我的问题是:它们是等同的吗?

应该注意的是,该论文被维基百科的文章引用。

感谢您的时间。

5 个答案:

答案 0 :(得分:9)

两个公式不一样;它们是可以计算全局聚类系数的两种不同方式。

一种方法是平均所有节点的聚类系数(C_i [1])(这是您从Watts和Strogatz引用的方法)。然而,在[2,p204]中,纽曼认为这种方法不如第二种方法(你从维基百科得到的方法)更好。他指出,由于C_i的分母[1],全局聚类系数的值如何由低度节点支配。因此,在具有许多低度节点的网络中,您最终会得到全局聚类系数的较大值,纽曼认为该值不具代表性。

然而,许多网络研究(或者,根据我的经验,至少许多与在线社交网络有关的研究)似乎都使用了这种方法,因此为了能够将结果与他们的结果进行比较,您需要使用同样的方法。此外,纽曼提出的批评并不影响对全球聚类系数进行比较的程度,只要采用相同的方法进行测量即可。

这两个公式是不同的,并在不同的时刻提出。你从Watt和Strogatz引用的那个更老,这也许是为什么它似乎更常用。纽曼还解释说,这两个公式与等效的,不应该这样使用。他说,他们可以为给定的网络提供截然不同的数字,但不能解释原因。

[1] C_i =(连接的 i 的邻居对的数量)/( i 的邻居对的数量)

[2]纽曼,M.E.J ..网络:介绍。牛津纽约:牛津大学出版社,2010年。打印。

编辑:

我在这里包括一系列相同ER随机图的计算。您可以看到这两种方法如何给出不同的结果,即使对于无向图也是如此。 (使用Mathematica完成)

答案 1 :(得分:6)

我认为他们是等同的。您链接到的维基页面提供了一个证据,证明三元组公式等于计算局部聚类系数时可能的边缘公式的分数,即仅在顶点计算。从那里看起来你只需要显示

sum_v lambda(v)/tau(v) = 3 x # triangles / # connected triples

其中lambda(v)是包含v的三角形的数量,tau(v)是连接的三元组的数量,其中v是中间顶点,即与其他2个边缘中的每一个相邻。

现在每个三角形在LHS的分子中被计数三次。但是,每个连接的三元组仅对LHS的中间顶点计数一次,因此分母是相同的。

答案 2 :(得分:2)

我部分不同意Whatang。这些方法仅等效于无向图。但是对于有向图,它们会返回不同的结果在我看来,局部聚类系数方法是正确的。更不用说它的计算成本更低。例如

  <-----
4 -----> 5
|<--||-->
|   ||
|-> 6  -> 7

4(IN [5,6], OUT [5,6])
5(IN [4,6], OUT [4])
6(IN [4], OUT [4,5,7])
7(IN [6], OUT [])

central = 6

localCC = 2/4 * 3 = 1/6

globalCC = 1/3

答案 3 :(得分:0)

我不相信维基百科文章。您引用的第一个公式目前定义为平均聚类系数,因此它是图 g 的所有局部聚类系数的平均值。这与全局聚类系数没有任何关系,正如xk_id恰当地提到的那样。

答案 4 :(得分:0)

有一个很棒的页面可以学习基础知识!

http://www.learner.org/courses/mathilluminated/interactives/network/

所有关于簇系数,小世界等等......