Numpy 相关混淆
Numpy correlation confusion
我想计算两个数组之间的相关性。为此,我想使用 NumPy。
我在一个小例子中使用了 numpy.correlate
函数:
import numpy as np
a = [1, 2, 3]
b = [2, 3, 4]
np.correlate(a, b)
>>> np.array([20])
我真的不知道如何解释这个结果。我想要的是一个介于 -1 和 1 之间的数字来表示相关性,1 表示数组正相关,-1 表示数组负相关。
我怎样才能得到这个号码?
你用错了函数。您正在寻找 numpy.corrcoef
,它实际上计算相关系数。
a = [1, 2, 3]
b = [2, 3, 4]
>>> np.corrcoef(a, b)
array([[ 1., 1.],
[ 1., 1.]])
by Hooked,这个 returns 来自协方差矩阵的值矩阵。
如果您想要 Pearson 相关系数,可以使用 scipy.stats.stats
中的 pearsonr
。 Hooked's answer here 是此方法的正确实现。
我想计算两个数组之间的相关性。为此,我想使用 NumPy。
我在一个小例子中使用了 numpy.correlate
函数:
import numpy as np
a = [1, 2, 3]
b = [2, 3, 4]
np.correlate(a, b)
>>> np.array([20])
我真的不知道如何解释这个结果。我想要的是一个介于 -1 和 1 之间的数字来表示相关性,1 表示数组正相关,-1 表示数组负相关。
我怎样才能得到这个号码?
你用错了函数。您正在寻找 numpy.corrcoef
,它实际上计算相关系数。
a = [1, 2, 3]
b = [2, 3, 4]
>>> np.corrcoef(a, b)
array([[ 1., 1.],
[ 1., 1.]])
如果您想要 Pearson 相关系数,可以使用 scipy.stats.stats
中的 pearsonr
。 Hooked's answer here 是此方法的正确实现。