Python-实现numpy.corrcoef

时间:2019-02-02 01:00:53

标签: python-3.x numpy vector correlation

我有两个向量,想要找到它们之间的相关性。
方法#1:我可以基于here使用Python numpy.corrcoef(a, b)
我想知道如何实现它。
方法2:我尝试使用here所述的点函数来实现它。但是,值不相同。

示例:
a = [1,4,6]
b = [1,2,3]

方法1:
np.corrcoef(a, b)[0][1]
结果是:0.99339927

方法2:
np.dot(a, b) / math.sqrt(np.dot(a, a) * np.dot(b, b))
其结果是:0.9912011825893757

1 个答案:

答案 0 :(得分:2)

const string = 'add "first item" and subtract "third course", disregard "the final power".'; const quotes = string.match(/\"(.*?)\"/g).map(e => e.split("\"")[1]); console.log(quotes);根据the manual返回Pearson相关系数。

因此,我们应该首先减去样本均值来归一化每个向量:

numpy.corrcoef

产生a = np.array([1,4,6]) b = np.array([1,2,3]) a = a - np.mean(a) b = b - np.mean(b) np.dot(a, b) / math.sqrt(np.dot(a, a) * np.dot(b, b))