如何计算两个相等维数的时间序列之间的马哈拉诺比斯距离?

时间:2010-06-24 09:47:24

标签: math time data-mining distance similarity

我正在对时间序列数据进行一些数据挖掘。我需要计算两个相等维度系列之间的距离或相似度。我被建议使用欧几里德距离,Cos相似度或马哈拉诺比斯距离。前两个没有提供任何有用的信息。我似乎无法理解网络上的各种教程。

所以,

给定两个向量A(a1,a2,a3,...,an)和B(b1,b2,b3,...,bn)你如何找到它们之间的Mahalanobis距离?

(我收到了关于在SO本身使用这些距离测量的建议,并且关于如何计算Cos相似度有question;所以请在关闭此问题之前考虑)

1 个答案:

答案 0 :(得分:7)

您应该估计协方差矩阵。

维基百科中的相关文章是thisthis

对于多变量向量(n个p维变量的观测值),马哈拉诺比斯距离的公式为

alt text

其中S是协方差矩阵的逆矩阵,可以估计为:

alt text

其中alt text是(p维)随机变量和

的第i次观察

alt text

请注意,只有当所有向量预期值相同时,才能使用向量之间的Mahalanobis距离。

我一直认为马哈拉诺比斯距离仅用于对数据进行分类并检测异常值,例如丢弃实验数据(某种真/假测试)。从未听说过将它用作“类比”距离。

HTH!