使用相关性作为距离度量(用于层次聚类)


22

我想对数据进行分层聚类,但我不想使用欧几里得距离,而是想使用相关性。此外,由于相关系数的范围从-1到1,用在我的研究都在-1和1表示“共同调控”,我治疗既-1和1为d = 0。因此,我的计算ð = 1 - | r | d=1|r|

我读了一个单独的问题(关于k均值聚类),您应该使用余弦定理将r转换为真正的欧几里得dd=2(1r)

将相关性转换为距离以进行层次聚类的最准确方法是什么?


3
是的,最后一个公式是可能的一种- 几何上正确的方法 -。但是你可能忽略的符号,如果它使你的感觉,使d 2 = 2 1 - | - [R |。在大多数情况下,您可以安全地丢弃2而不影响群集结果。距离可以视为平方欧几里德。在线程中,讨论了距离转换后的相关度量是否为公制距离。rd2=2(1|r|)2
ttnphns

2
此外,你不具备总是转换成直线相异性,比如欧几里得距离。人们很少直接基于r|进行聚类r | 就像相似度一样;它是角度相似度rr|r|
ttnphns

Answers:


21

层次集群的要求

层次聚类可以与任意相似性和不相似性度量一起使用。(大多数工具期望相异,但是会允许负值-由您决定是优先选择小值还是大值。)

仅基于质心或方差的方法(例如Ward方法)是特殊的,并且应与平方欧几里得一起使用。(要了解原因,请仔细研究这些链接。)

单链接,平均链接,完全链接的影响不大,仍然是成对相异的最小值/平均值/最大值。

相关性作为距离量度

如果您对数据进行预处理(n观测值,p特征),以使每个特征的μ=0σ=1(这不允许不变的特征!),则相关性将减小为余弦:

Corr(X,Y)=Cov(X,Y)σXσY=E[(XμX)(YμY)]σXσY=E[XY]=1nX,Y

在相同条件下,欧几里德距离的平方也减小为余弦:

dEuclid2(X,Y)=(XiYi)2=Xi2+Yi22XiYi=2n2X,Y=2n[1Corr(X,Y)]

因此,除非您的数据是退化的,否则使用相关性进行层次聚类应该是可以的。只需如上所述进行预处理,然后使用平方欧几里德距离即可。


1
Only ward's method is special, and should be used with squared Euclidean。不只是沃德的。为了几何精度,任何计算质心或与质心的偏差的方法都需要欧几里得距离或平方欧几里得距离(取决于实现方式)。在丢失此类警告和适当警告的情况下,它们可以与其他公制距离一起使用。这些方法是质心,“中位数”,沃德氏,方差(不要与沃德氏混淆!)等。
ttnphns

谢谢,我已经说得更清楚了。我没有意识到这些变化,只想到了单个/平均/完整/病房。
Anony-Mousse 2015年

1
这篇文章中有很多错别字和未定义的表达式!您能否对其进行审核,修复,并解释一下““是什么”d一世“可能是指?
呜呜叫声
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.