完整和加权网络中的社区检测

时间:2017-07-04 07:37:11

标签: algorithm network-programming cluster-analysis

我确实有一个完整的网络图,其中每个顶点相互连接,它们的重量形式不同。一个示例网络将是:一个贸易网络,每个国家都以某种方式相互联系,只是在不同的交易量形式上有所不同。

现在问题是如何以这种形式的网络执行社区检测。通常的嫌疑人(算法)只能很好地在未加权或不完整的网络中执行。主要问题是测地线到处都是一样的。

我想到了两个选项:

  1. 通过将网络切割成某个“重量阈值水平”来将网络切成小块
  2. 或使用分层聚类算法将整个网络转换为块模型。但我认为“测地线条没有差异”的问题仍将存在。

1 个答案:

答案 0 :(得分:1)

提出了几种方法。

Fast unfolding of communities in large networks中提出了一种简单而有效的方法(Blondel et al。,2008)。它支持加权网络。引自摘要:

  

我们提出了一种简单的方法来提取大型的社区结构   网络。我们的方法是一种基于模块化的启发式方法   优化。它被证明胜过所有其他已知社区   检测方法就计算时间而言。而且,质量   通过所谓的社区检测到的社区非常好   模块化。

引自论文:

  

我们现在介绍我们的算法,找到高模块化分区   大型网络在短时间内展现出完整的   网络的分层社区结构,从而给予   获得不同的社区检测分辨率。

所以它应该适用于完整的图形,但你应该更好地检查它。

可以使用C ++实现here(现在维护here)。

你的另一个想法 - 使用权重阈值 - 可能被证明是一个很好的预处理步骤,特别是对于不会对完整图形进行分区的算法。我认为最好将其设置为权重的某个百分位数(例如,到中位数)。

相关问题