基于皮尔逊相关的聚类

Posted

技术标签:

【中文标题】基于皮尔逊相关的聚类【英文标题】:Clustering based on pearson correlation 【发布时间】:2015-08-27 00:16:04 【问题描述】:

我有一个用例,我有 1 个月内每 15 分钟的流量数据。 这些数据是为网络中的各种资源收集的。

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

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

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

欢迎任何想法或可能的解决方案的链接。我想用Java实现。

【问题讨论】:

【参考方案1】:

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

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

请注意,Pearson 不是为常量模式定义的。如果你有一个使用率为 0 的资源,你的距离将是不确定的。

【讨论】:

Yes hierarchial is rightway ,这也是我发现的。但是我们如何处理异常值呢?

以上是关于基于皮尔逊相关的聚类的主要内容,如果未能解决你的问题,请参考以下文章

R统计基于相似系数的聚类分析

聚类:层次聚类基于划分的聚类(k-means)基于密度的聚类基于模型的聚类

基于网格的聚类算法CLIQUE

第一节:基于划分的聚类算法概述

简单易学的机器学习算法——基于密度的聚类算法DBSCAN

R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据