通过马哈拉诺比斯距离与距离矩阵聚类

时间:2014-05-20 21:27:04

标签: cluster-analysis distance covariance k-means

我想要聚类的对象之间有一组成对距离(在矩阵中)。我目前使用k-means聚类(计算距质心的距离作为给定聚类的所有成员的平均距离,因为我没有坐标),其中k由最佳Davies-Bouldin指数在一个区间内选择。

但是,我有三个单独的指标(可能在未来更多,可能)描述数据之间的差异,每个指标在数量和范围方面都有很大不同。目前,我使用三个指标的欧几里德距离来计算距离矩阵,但我相当确定指标之间的差异正在弄乱它(例如,最大的一个压在其他指标上)。

我认为解决这个问题的一个好方法是使用Mahalanobis距离来组合指标。但是,我显然无法计算坐标之间的协方差矩阵,但我可以根据距离度量来计算它。这有意义吗?也就是说,如果我将两个对象 i j 之间的距离设为:

D(i,j) = sqrt( dt S^-1 d )

其中d是i和j之间不同距离度量的3向量,dt是d的转置,S是距离的协方差矩阵,D是好的,聚类的标准化度量?

我还想过将指标标准化(即减去均值并除去方差),然后简单地保持欧氏距离(事实上,这似乎基本上是马哈拉诺比斯距离,至少在某些情况下),或切换到像DBSCAN或EM这样的东西,并没有排除它们(虽然MDS然后聚类可能有点过分)。作为旁注,任何能够完成所有这些工作的包都将非常感激。谢谢!

1 个答案:

答案 0 :(得分:1)

考虑使用k-medoids(PAM)而不是黑客k-means,它可以用于任意距离函数;而k-means旨在最大限度地减少差异,而不是任意距离。

EM会遇到同样的问题 - 它需要能够计算出有意义的中心。

您还可以使用分层链接群集。它只需要一个距离矩阵。