Numpy相关混乱

时间:2015-04-13 18:21:55

标签: python numpy correlation

我想计算2个数组之间的相关性。为此,我想使用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表示数组负相关。

我怎样才能得到这个号码?

1 个答案:

答案 0 :(得分:4)

你使用了错误的功能。您正在寻找实际计算相关系数的numpy.corrcoef

a = [1, 2, 3]
b = [2, 3, 4]

>>> np.corrcoef(a, b)
array([[ 1.,  1.],
       [ 1.,  1.]])
Hooked

As mentioned,它返回协方差矩阵的值矩阵。

如果您需要Pearson相关系数,可以使用pearsonr中的scipy.stats.statsHooked's answer here是此方法的正确实现。