numpy相关混淆

JNe*_*ens 1 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])
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何解释这个结果。我想要的是一个介于-1和1之间的数字以表示相关性,其中1表示数组是正相关的,而-1表示数组是负相关的。

我如何获得这个号码?

mir*_*ulo 5

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

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

>>> np.corrcoef(a, b)
array([[ 1.,  1.],
       [ 1.,  1.]])
Run Code Online (Sandbox Code Playgroud)

正如 Hooked 所提到的,这将从协方差矩阵返回值矩阵。

如果需要皮尔逊相关系数,可以使用pearsonrscipy.stats.statsHooked的答案是此方法的正确实现。

  • 如何解释这个矩阵?不可能有一个电话号码吗? (2认同)