皮尔逊相关系数

  |  

摘要: 皮尔逊相关系数

【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:算法题刷刷
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


皮尔逊相关系数是一种反映两个变量之间线性相关程度强弱的统计量,绝对值越大,相关性越强。

关于两个变量间相关性的度量的评价标准,可以看这篇文章,两列数据的相关性和独立性的度量

Person 相关系数不是强关联的,也不具备鲁棒性,但是它计算很快,并且有置信区间。

计算公式

Python代码

  • 两个变量 x, y 的相关系数, np.corrcoef
1
corr = np.corrcoef(x, y)

结果 corr 大致会长下面这样

1
2
array([[1.        , 0.03025546],
[0.03025546, 1. ]])

斜对角线上的数值代表两个量的相关系数值, r = corr[1][0]

  • 两个变量相关系数及其显著性水平 p 值, scipy.stats.pearsonr

其中 p 值与皮尔逊相关显著性检验有关

1
2
3
corr = scipy.stats.pearsonr(x, y)
r = corr[0]
p = corr[1]
  • 多个变量的相关系数矩阵, df.cor
1
corr = df.corr()

corr 可以把上三角 mask 掉之后进一步画相关系数热力图,参考 相关系数矩阵热力图

corr 的值与相关性的经验

pearson 相关系数衡量的是线性相关关系。若 r = 0,只能说 x 与 y 之间无线性相关关系,不能说无相关关系。相关系数的绝对值越大,相关性越强:相关系数越接近于 1 或 -1,相关度越强,相关系数越接近于 0,相关度越弱。

对于 x, y 之间的相关系数 r:

  • (0, 1): x 和 y 正相关关系
  • (-1, 0): x 和 y 负相关关系
  • 1: x 和 y 完全正相关
  • -1: x 和 y 完全负相关
  • 0: x 和 y 不相关
  • 0.8-1.0 极强相关
  • 0.6-0.8 强相关
  • 0.4-0.6 中等程度相关
  • 0.2-0.4 弱相关
  • 0.0-0.2 极弱相关或无相关

Share