Clustering
構成協方差矩陣的變量之間的距離是多少?
我有一個協方差矩陣,並希望將變量劃分為使用層次聚類(例如,對協方差矩陣進行排序)進行聚類。
變量之間(即平方協方差矩陣的列/行之間)是否存在典型的距離函數?
或者如果還有更多,關於該主題是否有很好的參考?
協方差(或相關或餘弦)可以通過餘弦定律輕鬆自然地轉換為歐幾里得距離,因為它是歐幾里得空間中的標量積(=基於角度的相似性)。知道兩個變量i和j之間的協方差以及它們的方差自動意味著知道變量之間的d:. (那與通常的平方歐幾里得距離成正比:如果使用平方和和叉積和代替方差和協方差,則獲得後者。當然,這兩個變量最初都應該居中:談論“協方差”是考慮去除均值的數據的別名。)
注意,這個公式意味著負協方差比正協方差的距離更大(從幾何角度來看確實是這種情況,即當變量被視為主題空間中的向量時)。如果您不希望協方差的符號發揮作用,請取消負號。忽略負號不是“手動修補”操作,並且在需要時是有保證的:如果cov矩陣是正定的,則abs(cov)矩陣也將是正定的;因此,通過上述公式獲得的距離將是真正的歐式距離(歐式距離是一種特殊的度量距離)。
歐幾里得距離在層次聚類方面是通用的:這種聚類的任何方法對於歐幾里得或平方歐幾里得d都是有效的。但是某些方法,例如平均鏈接或完全鏈接,可以用於任何不同或相似(不僅僅是度量距離)。因此,您可以直接將此類方法與cov或*abs(cov)矩陣一起使用,或者 - 例如 - 與max(abs(cov))-abs(cov)*距離矩陣一起使用。當然,聚類結果確實可能取決於所使用的(不)相似性的確切性質。