Correlation
使用相關性作為距離度量(用於層次聚類)
我想對我的數據進行分層聚類,但我不想使用歐幾里得距離,而是想使用相關性。此外,由於相關係數的範圍從 -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]=1n⟨X,Y⟩
在相同條件下,平方歐幾里得距離也減少為餘弦:
d2Euclid(X,Y)=∑(Xi−Yi)2=∑X2i+∑Y2i−2∑XiYi =2n−2⟨X,Y⟩=2n[1−Corr(X,Y)]
因此,除非您的數據是退化的,否則使用相關性進行層次聚類應該是可以的。只需如上所述對其進行預處理,然後使用平方歐幾里德距離。