gpt4 book ai didi

python - 在 python 中,我们如何找到两个矩阵之间的相关系数?

转载 作者:行者123 更新时间:2023-11-28 17:22:07 24 4
gpt4 key购买 nike

我有两个矩阵,T1 和 T2,每个矩阵的大小都是 mxn。我想求两个矩阵之间的相关系数
到目前为止,我还没有为它使用任何内置的库函数。我正在为此执行以下步骤:
首先,我将两个矩阵的平均值计算为:

M1 = T1.mean()
M2 = T2.mean()

然后我从相应的矩阵中减去平均值:

A = np.subtract(T1, M1)
B = np.subtract(T2, M2)

其中 np 是 numpy 库,A 和 B 是减法后的结果矩阵。
现在,我将相关系数计算为:

alpha = np.sum(A*B) / (np.sqrt((np.sum(A))*np.sum(B)))

但是,我得到的值远远大于 1,而且根本没有意义。它应该在 0 和 1 之间才能从中获得一些意义。
我也尝试过使用矩阵 A 和 B 的绝对值,但这也不起作用。
我也尝试使用:

np.sum(np.dot(A,B.T)) instead of np.sum(A*B)  

在分子中,但这也没有用。
编辑一:
这是我打算计算的公式:
This image shows the actual formula to be calculated

在此图像中,C 是其中一个矩阵,T 是另一个矩阵。
'u' 是平均符号。

谁能告诉我我究竟在哪里做错了。

最佳答案

你能试试这个吗:

import numpy as np
x = np.array([[0.1, .32, .2, 0.4, 0.8], [.23, .18, .56, .61, .12]])
y = np.array([[2,4,0.1, .32, .2],[1,3,.23, .18, .56]])
pearson = np.corrcoef(x,y)
print(pearson)

关于python - 在 python 中,我们如何找到两个矩阵之间的相关系数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40905389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com