【问题标题】:Community Detection in complete and weighted networks完整加权网络中的社区检测
【发布时间】:2017-12-07 13:27:30
【问题描述】:
我确实有一个完整的网络图,其中每个顶点都相互连接,它们的不同之处仅在于其不同的权重形式。一个示例网络是:一个贸易网络,每个国家都以某种方式相互连接,只是贸易量不同的形式不同。
现在的问题是如何以这种网络形式执行社区检测。通常的嫌疑人(算法)只能在未加权或不完整的网络中表现良好。主要问题是测地线到处都是一样的。
我想到了两个选项:
- 通过在某个“权重阈值级别”将网络切割成更小的部分
- 或者使用层次聚类算法将整个网络变成块模型。但我认为“测地线术语没有变化”的问题仍然存在。
【问题讨论】:
标签:
algorithm
network-programming
cluster-analysis
【解决方案1】:
建议了几种方法。
Fast unfolding of communities in large networks(Blondel 等人,2008 年)提出了一种简单而有效的方法。它支持加权网络。引用摘要:
我们提出了一种简单的方法来提取大型社区结构
网络。我们的方法是一种基于模块化的启发式方法
优化。它被证明优于所有其他已知社区
计算时间方面的检测方法。此外,质量
检测到的社区非常好,由所谓的
模块化。
引自论文:
我们现在介绍我们的算法来找到高模块化分区
在短时间内建立大型网络,并展开一个完整的
网络的分层社区结构,从而给出
访问不同的社区检测解决方案。
所以它应该适用于完整的图表,但你应该更好地检查它。
C++ 实现可用here(现在维护here)。
您的另一个想法 - 使用权重阈值 - 可能被证明是一个很好的预处理步骤,特别是对于不会分割完整图的算法。我认为最好将其设置为权重的某个百分位数(例如中位数)。