Correlation

使用相關性作為距離度量(用於層次聚類)

  • August 7, 2015

我想對我的數據進行分層聚類,但我不想使用歐幾里得距離,而是想使用相關性。此外,由於相關係數的範圍從 -1 到 1,在我的研究中,-1 和 1 都表示“共同調節”,我將 -1 和 1 都視為 d = 0。所以我的計算是

我在一個單獨的問題(關於 k-means 聚類)中讀到,您應該使用餘弦定理將r轉換為真正的歐幾里得d :

將相關性轉換為層次聚類距離的最準確方法是什麼?

層次聚類的要求

層次聚類可以與任意相似性和相異性度量一起使用。(大多數工具都期望有差異,但允許負值 - 由您決定是否首選小值或大值。)。

只有基於質心或方差的方法(例如 Ward 方法)是特殊的,並且應該與平方歐幾里得一起使用。(要了解原因,請仔細研究這些聯繫。)

單聯動、平均聯動、完全聯動影響不大,仍然是成對差異的最小/平均/最大。

相關性作為距離度量

如果您預處理數據( n 觀察, p 特徵),使得每個特徵都有 μ=0σ=1 (這不允許恆定特徵!),然後相關性降低為餘弦:

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

在相同條件下,平方歐幾里得距離也減少為餘弦:

d2Euclid(X,Y)=(XiYi)2=X2i+Y2i2XiYi =2n2X,Y=2n[1Corr(X,Y)]

因此,除非您的數據是退化的,否則使用相關性進行層次聚類應該是可以的。只需如上所述對其進行預處理,然後使用平方歐幾里德距離。

引用自:https://stats.stackexchange.com/questions/165194