我想对我的数据进行分层聚类,但我不想使用欧几里得距离,而是想使用相关性。此外,由于相关系数的范围从 -1 到 1,在我的研究中,-1 和 1 都表示“共同调节”,我将 -1 和 1 都视为 d = 0。所以我的计算是
我在一个单独的问题(关于 k-means 聚类)中读到,您应该使用余弦定理将r转换为真正的欧几里得d :
将相关性转换为层次聚类距离的最准确方法是什么?
我想对我的数据进行分层聚类,但我不想使用欧几里得距离,而是想使用相关性。此外,由于相关系数的范围从 -1 到 1,在我的研究中,-1 和 1 都表示“共同调节”,我将 -1 和 1 都视为 d = 0。所以我的计算是
我在一个单独的问题(关于 k-means 聚类)中读到,您应该使用余弦定理将r转换为真正的欧几里得d :
将相关性转换为层次聚类距离的最准确方法是什么?
层次聚类可以与任意相似性和相异性度量一起使用。(大多数工具都期望有差异,但允许负值 - 由您决定是否首选小值或大值。)。
只有基于质心或方差的方法(例如 Ward 方法)是特殊的,并且应该与平方欧几里得一起使用。(要了解原因,请仔细研究这些联系。)
单联动、平均联动、完全联动影响不大,仍然是成对差异的最小/平均/最大。
如果您预处理数据(观察,特征),使得每个特征都有和(这不允许恒定特征!),然后相关性降低为余弦:
在相同条件下,平方欧几里得距离也减少为余弦:
因此,除非您的数据是退化的,否则使用相关性进行层次聚类应该是可以的。只需如上所述对其进行预处理,然后使用平方欧几里德距离。