我正在使用Python库scipy来计算两个浮点数组的Pearson相关性。即使数组不同,系数的返回值也始终为1.0。例如:

[-0.65499887  2.34644428]
[-1.46049758  3.86537321]

我以这种方式调用例程:
r_row, p_value = scipy.stats.pearsonr(array1, array2)
r_row的值始终为1.0。我究竟做错了什么?

最佳答案

Pearson's correlation coefficient衡量通过线性回归拟合数据的程度。如果仅为其提供两个点,则一条直线正好穿过两个点,因此您的数据完全适合一条直线,因此相关系数恰好为1。

关于python - Scipy:Pearson的相关性总是返回1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16063839/

10-12 22:50