18

从我使用的 sciPy 库中:scipy.stats.stats import pearsonr 来计算两个数组的相关系数,我得到的值是:(0.80751532276005755, 0.19248467723994242)。

我以为我只会在 -1 到 +1 的范围内得到一个值,所以我不确定如何解释这两个结果。这是我的两个数组:

x = [50,500,1500,2500]
y = [17, 6, 6, 194]

我做到了:

pearsonr(x,y)

谢谢

4

1 回答 1

32

pearsonr()返回一个由相关系数和相应的 p 值组成的二元组:

  • 相关系数的范围可以从 -1 到 +1。
  • 零假设是两个变量不相关。p 值是一个介于 0 和 1 之间的数字,表示如果原假设为真,您的数据出现的概率。

如需进一步讨论,请参阅http://www.eecs.qmul.ac.uk/~norman/blog_articles/p_values.pdf

我以为我只会在 -1 到 +1 的范围内得到一个值

如果您只需要相关系数,只需忽略元组的第二个元素(p 值):

corrxy = pearsonr(x,y)[0]

值得一提的是,还有numpy.corrcoef(),它计算相关矩阵(没有 p 值)。

于 2012-11-30T22:57:55.947 回答