采用2'相似'矩阵并且'对齐'的算法

时间:2009-08-20 16:05:22

标签: algorithm math statistics linear-algebra

首先,由于我缺乏简洁的词汇,标题非常糟糕。我会尝试描述我正在做的事情然后再问我的问题。

背景资讯

假设我有两个大小为n x m的矩阵,其中n是实验观察向量的数量,每个长度为m(时间序列结束)收集的观察结果)。其中一个矩阵是原始矩阵,称为S,另一个是S的重建版本,称为Y


让我们假设Y正确重建S。然而,由于重建算法的局限性,Y无法确定S中矢量的真实幅度,也无法保证为这些矢量提供正确的符号(矢量可能会被翻转) )。此外,Y中观察向量的顺序可能与S中相应向量的原始顺序不匹配。

我的问题

是否有算法或技术来生成新的矩阵,该矩阵是YS的'重新对齐',以便在YS归一化时,算法可以(1)找到Y中与S中的向量匹配的向量,并恢复向量的原始排序,(2)同样匹配向量的符号?


与往常一样,我非常感谢所有帮助。谢谢!

1 个答案:

答案 0 :(得分:2)

如何简单地计算两个矩阵中每个向量的规范化形式并进行比较?这应该为每个矩阵中的每个向量提供精确的一对一匹配。

矢量的正规形式符合:

v_norm = v / ||v||

其中||v||是向量的欧几里德范数。对于v=(v1, v2, ..., vn),我们有||v|| = sqrt(v1^2 + ... + vn^2)

从那里你可以重建它们的顺序,并返回每个向量的原始长度和方向(向量或其相反)。

从现在开始算法应该相当简单,只需决定你的实现。 此方法应具有二次复杂度。根据评论,您确实可以在此算法上实现O(nlogn)复杂性。如果你需要更好的东西,线性复杂性 - 具体来说,你需要一个更复杂的算法,我现在想不到。