协方差和相关矩阵之间的差异



在 Matlab 中,我创建了一个大小为 (244x2014723) 和大小为 (244x1) 的矩阵 B

我能够使用corr(A,B)计算相关矩阵,该矩阵在大小为 2014723x1 的矩阵中产生。因此,矩阵 A 的每一列都与矩阵 B 相关,并在大小为 2014723x1 的矩阵中给出一个行值。

我的问题是,当我使用 cov(A,B) 要求协方差矩阵时,我收到一个错误,说 A 和 B 应该具有相同的大小。为什么我会收到此错误?查找corr(A,B)的方法与cov(A,B)有何不同?

如果您阅读文档,答案非常清楚:

cov

如果 A 和 B 是观测矩阵,则 cov(A,B

( 将 A 和 B 视为向量,等价于 cov(A(:),B(:)(。A 和 B 的大小必须相等。

corr

corr(X,Y( 返回一个 p1×p2 矩阵,其中包含 n x p1 和 n×p2 矩阵 X 和 Y 中每对列之间的成对相关系数。

corr(X,Y( 和 MATLAB® 函数 corrcoef(X,Y( 之间的区别在于,corrcoef(X,Y( 返回两个列向量 X 和 Y 的相关系数矩阵。如果 X 和 Y 不是列向量,corrcoef(X,Y( 将它们转换为列向量。

获取矩阵每一列的向量协方差的一种方法是使用循环。另一种方式(根据大小可能效率低下(是

C = cov([B,A])

然后查看第一行(或列(或C.

见链接

在更多关于部分中,描述如何计算cov(A,B(的cov的方程清楚地说明了为什么它们需要相同的大小。求和仅针对一个枚举 A,B 元素的变量。

相关内容

  • 没有找到相关文章

最新更新