numpy.corrcoef() 对 return 值的怀疑
numpy.corrcoef() doubts about return value
我需要两个矩阵 X,Y 之间的 Pearson 相关系数。
如果我 运行 代码 corr=numpy.corrcoef(X,Y)
我的输出是一个带有相关系数的矩阵。
但是我需要一个值来表示两个矩阵之间的相关性。
我刚刚在这个 kennytm 的 answer 上看到,要获得一个值,我应该写成 numpy.corrcoef(X,Y)[1,0]
。
这个解决方案有效,但我不明白方括号内的数字是什么意思,也不知道为什么要添加它们,结果只有一个值。
我将 1 和 0 解释为系数的极限,但矩阵内的所有系数发生了什么变化?
对它们进行什么类型的计算以获得单个值?
如果我更改方括号内的数字,例如 [1,-1]
(correlation, anticorrelation),corr
的值会发生变化,所以我很困惑我应该在方括号内使用哪些数字。
numpy.corrcoef
returns 包含每对行的相关系数的矩阵。因此,例如,numpy.corrcoef(A,B)
for A.shape=(3,3)
and B.shape=(3,3)
will return a (6,6)
matrix 因为有 36 行组合。请注意,它是一个对称矩阵,因为它 return 具有(例如)A[1],B[1]
(索引 [1,4]
)和 B[1],A[1]
(索引 [4,1]
)的两个相关性。当你有两个一维数组时,你会得到一个 (2,2)
矩阵:第一个数组与其自身的相关性 [0,0]
,第一个数组与第二个数组的相关性 [0,1]
,第二个数组与第一个数组的相关性 [1,0]
以及第二个数组与其自身的相关性 [1,1]
.
import numpy as np
A = np.random.randint(low=0, high=99, size=(3,3))
B = np.random.randint(low=0, high=99, size=(3,3))
C = np.corrcoef(A,B)
print(C[1,4]==np.corrcoef(A[1],B[1])[0,1]) # True
如果您想要二维相关性(如图像之间的相关性),请展平二维数组,这样您就可以为每个数组获得一行。然后,该相关矩阵的元素 [0,1]
或 [1,0]
将是二维数组如何完全相互关联。
print(np.corrcoef(A.flatten(), B.flatten())[0,1])
我需要两个矩阵 X,Y 之间的 Pearson 相关系数。
如果我 运行 代码 corr=numpy.corrcoef(X,Y)
我的输出是一个带有相关系数的矩阵。
但是我需要一个值来表示两个矩阵之间的相关性。
我刚刚在这个 kennytm 的 answer 上看到,要获得一个值,我应该写成 numpy.corrcoef(X,Y)[1,0]
。
这个解决方案有效,但我不明白方括号内的数字是什么意思,也不知道为什么要添加它们,结果只有一个值。
我将 1 和 0 解释为系数的极限,但矩阵内的所有系数发生了什么变化?
对它们进行什么类型的计算以获得单个值?
如果我更改方括号内的数字,例如 [1,-1]
(correlation, anticorrelation),corr
的值会发生变化,所以我很困惑我应该在方括号内使用哪些数字。
numpy.corrcoef
returns 包含每对行的相关系数的矩阵。因此,例如,numpy.corrcoef(A,B)
for A.shape=(3,3)
and B.shape=(3,3)
will return a (6,6)
matrix 因为有 36 行组合。请注意,它是一个对称矩阵,因为它 return 具有(例如)A[1],B[1]
(索引 [1,4]
)和 B[1],A[1]
(索引 [4,1]
)的两个相关性。当你有两个一维数组时,你会得到一个 (2,2)
矩阵:第一个数组与其自身的相关性 [0,0]
,第一个数组与第二个数组的相关性 [0,1]
,第二个数组与第一个数组的相关性 [1,0]
以及第二个数组与其自身的相关性 [1,1]
.
import numpy as np
A = np.random.randint(low=0, high=99, size=(3,3))
B = np.random.randint(low=0, high=99, size=(3,3))
C = np.corrcoef(A,B)
print(C[1,4]==np.corrcoef(A[1],B[1])[0,1]) # True
如果您想要二维相关性(如图像之间的相关性),请展平二维数组,这样您就可以为每个数组获得一行。然后,该相关矩阵的元素 [0,1]
或 [1,0]
将是二维数组如何完全相互关联。
print(np.corrcoef(A.flatten(), B.flatten())[0,1])