是否可以计算两个变长矩阵之间的欧几里德距离?

时间:2014-04-23 18:55:14

标签: matlab matrix alignment time-series euclidean-distance

我已经开始研究在线签名数据集以进行验证。我有两个矩阵,包含两个长度不同的签名的数字化数据(行数不同)。例如一个是177×7,第二个是170×7。

我想将每个列视为一个时间序列,我想将一个签名的时间序列与第二个签名的相应时间序列进行比较。

我应该如何调整两个时间序列?

1 个答案:

答案 0 :(得分:1)

我认为这个问题确实属于Math.StackExchange,但我会尽力在这里回答。简短的回答是,在这种情况下不能应用欧几里德距离,您需要定义自己的距离概念。这实际上可能是也可能不可行。

距离的概念依赖于" metric"在感兴趣的空间上定义。如果您的向量长度不同,则传统度量(包括欧几里德距离)定义不明确,您需要定义适合您的新度量。

您需要在这里做两件事:

  1. 定义您正在使用的空间。这似乎是长度为177 长度为170的向量集。这是一个非常不寻常的集合。
  2. 定义您的指标(并确保它实际上符合指标的所有属性)。
  3. 最明显的解决方案是将长度为177的矢量投影到长度为170的矢量空间中,然后像往常一样计算欧几里德距离。例如,您可以忽略向量的最后7个元素。请注意,这不是原始集上的度量标准,因为它违反了条件(d(x,y)= 0 iff x = y),但它是投影向量的度量标准。在原始集合上可能有一个聪明的解决方案,但没有一个明显的解决方案。同样,Math.StackExchange上的人可能会为您提供更多帮助。