我有一个协方差矩阵,并希望使用分层聚类将变量划分为个聚类(例如,对协方差矩阵进行排序)。
变量之间(即平方协方差矩阵的列/行之间)是否存在典型的距离函数?
或者,如果还有更多内容,是否对该主题有很好的参考?
我有一个协方差矩阵,并希望使用分层聚类将变量划分为个聚类(例如,对协方差矩阵进行排序)。
变量之间(即平方协方差矩阵的列/行之间)是否存在典型的距离函数?
或者,如果还有更多内容,是否对该主题有很好的参考?
Answers:
协方差(或相关或余弦)可以通过余弦定律轻松自然地转换为欧几里得距离,因为它是欧几里德空间中的标量积(=基于角度的相似性)。知道两个变量i和j之间的协方差及其方差会自动意味着知道变量之间的d:。(与通常的平方欧几里得距离成正比:如果您使用平方和和叉积和代替方差和协方差,则会获得后者。当然,这两个变量最初都应该以中心为中心:谈到“协方差”是考虑使用去除均值的数据的别名。)
注意,该公式意味着负协方差的距离大于正协方差的距离(从几何角度来看确实如此,即,当变量被视为对象空间中的矢量时)。如果您不希望协方差的符号起作用,请取消负符号。忽略负号不是“手工修补”操作,在需要时可以保证:如果cov矩阵是正定的,则abs(cov)矩阵也将是正定的;因此,通过上式获得的距离将是真正的欧几里德距离(欧几里德距离是一种特定的度量距离)。
欧几里德距离是在相对于通用的层次聚类:例如聚类的任何方法与任一或欧氏平方欧氏有效d。但是某些方法,例如平均链接或完全链接,可以与任何不相似或相似(不只是度量距离)一起使用。因此,您可以将这些方法直接用于cov或abs(cov)矩阵,或者-例如,与max(abs(cov))-abs(cov)距离矩阵一起使用。当然,聚类结果确实可能取决于所使用的(不相似)相似性的确切性质。
为什么不使用相关矩阵进行聚类呢?假设您的随机变量居中,则通过计算变量之间的相关性,可以计算出余弦相似度距离。您的链接中也提到了该距离。该距离可用于层次聚类。1-|余弦相似度|越小,变量越相似。