当前位置: 首页 > 知识库问答 >
问题:

比较三大矩阵——获得矩阵之间关系的有意义且易于理解的指标的最佳方法?

邹嘉致
2023-03-14

我有3个矩阵(55000x3双精度),我想比较它们。我取每个位置值的算术平均值,另外想提供一个指标,说明这三个矩阵是如何相互关联的。

矩阵中一个位置的值为:

  • Matrix1 pos(1:1): 3.679
  • Matrix2 pos(1:1): 3.721
  • Matrix3 pos(1:1): 3.554

因为我不能只给出每个值的标准偏差,因为这将需要太多的信息,所以我正在寻找一种方法,在不需要太多信息的情况下,给出一个有意义的相关性声明。

最好的方法是什么?

共有2个答案

乔俊才
2023-03-14

您是否尝试过使用箱线图表示数据

Box图(([data(:,1); data(:,2); data(:,3)])');

劳星晖
2023-03-14

我认为你想要相关系数,你可以将你的每一个矩阵重塑成一个向量(使用(:)),然后使用corrcoef计算每对向量(最初的矩阵)的相关系数。

例如,让我们:

Matrix1 =    [ 1   2;   3   4;   5   6   ];
Matrix2 = -2*[ 1   2;   3   4;   5   6   ];
Matrix3 =    [ 1.1 2.3; 3.4 4.1; 4.9 6.3 ];

然后

C = corrcoef([Matrix1(:) Matrix2(:) Matrix3(:)]);

给予

C =
    1.0000   -1.0000    0.9952
   -1.0000    1.0000   -0.9952
    0.9952   -0.9952    1.0000

这告诉你,在这种情况下,

  • 三个矩阵中的每一个都与自身完全相关(C(1,1)C(2,2)C(3,3)等于1)。这是显而易见的。
  • 矩阵1和2的相关系数C(1,2)等于-1。这是意料之中的,因为矩阵2是矩阵1的负倍数。
  • 矩阵1和3高度相关(C(1,3)0.9952)。这是因为矩阵3被定义为带有一些随机“噪声”的矩阵1。
  • 矩阵2和矩阵3也高度相关,但有负号(C(2,3)is-0.9952),从上文可以清楚地看出。
 类似资料:
  • C++:15秒(源) Python:6分13秒(来源) C++:45分钟(源) 蟒蛇:10小时后被杀死(来源) 为什么Strassen矩阵乘法比标准矩阵乘法慢得多? null null null

  • 问题内容: 我有一些以表示的数据。它是一个未知大小的张量(应分批输入),每个项目的大小都为。经历,所以现在有尺寸,其中是嵌入尺寸并指未知的批量大小。 此处描述: 我现在正尝试将输入数据中的每个样本(现在通过嵌入维度进行扩展)乘以矩阵变量,而我似乎不知道该怎么做。 我首先尝试使用,但是由于形状不匹配而导致错误。然后,我通过扩展的维度和应用来尝试以下操作(我还尝试了从进行的功能,结果相同): 这将通过

  • 有一个矩阵a,比如: 我只想得到每行没有3个或更多数字的行,它们之间都有最大差异 此函数应仅返回第1行。

  • 特殊矩阵——三对角矩阵(Tridiagonal Matrix) 注:压缩存储的矩阵可以分为特殊矩阵和稀疏矩阵。对于那些具有相同元素或零元素在矩阵中分布具有一定规律的矩阵,被称之为特殊矩阵。对于那些零元素数据远远多于非零元素数目,并且非零元素的分布没有规律的矩阵称之为稀疏矩阵。 1. 三对角矩阵的概念 三对角矩阵就是对角线、邻近对角线的上下次对角线上有元素,其他位置均为0的矩阵。 三对角矩阵是一种特

  • 我正在使用OpenCV一段时间,现在我需要这种类型的乘法: 定义一个矩阵,其中包含类型为1的元素。矩阵的大小为:M X N。矩阵必须与Vector相乘,Vector的大小为:N X 1,包含双

  • 问题内容: 我正在尝试编写一种算法,用于在给定的子矩阵中查找子矩阵。为了解决这个问题,我编写了以下代码: 这段代码可以正常工作,但是我不确定这是问题的确切解决方案还是可以解决。请提供您的专家意见。提前致谢。 问题答案: 该算法对4×4矩阵和2×2子矩阵进行了硬编码。否则,它看起来像蛮力算法。 我会这样表示: 如果您想要更有效的方法,建议您将它们压扁,如下所示: 并在此序列中搜索以下模式: 使用标准