基于皮尔逊相关的聚类

Clustering based on pearson correlation

我有一个用例,我有 1 个月每 15 分钟的交通数据。 此数据是为网络中的各种资源收集的。

现在我需要对相似的资源进行分组(基于 00 小时到 23:45 小时的流量使用模式)。

检查两个资源是否具有相似流量行为的一种方法是我可以对所有资源使用 Pearson 相关系数并创建 N*N 矩阵。

我的问题是我应该应用哪种方法来集群相似的资源? K-Means 聚类中的现有方法基于欧氏距离。我可以使用哪种算法根据模式的相似性进行聚类?

欢迎提出任何想法或 link 可能的解决方案。我想使用 Java.

来实现

Pearson 相关系数与均值不兼容。因此,不得使用 k-means - 它适用于最小二乘法,但不适用于相关性。

相反,只需使用层次凝聚聚类,它可以很好地处理 Pearson 相关矩阵。或 DBSCAN:它也适用于任意距离函数。您可以设置一个阈值:绝对相关性,例如+0.75,可能是理想的 epsilon 值。但是要了解您的距离函数,HAC 使用的树状图可能更容易。

请注意,Pearson 未针对常量模式定义。如果您的资源使用率为 0,则您的距离将不确定。