乐趣区

关于python:统计科学之聊聊你知道和不知道的相关性系数

01

这一篇咱们来聊聊大家平时比拟罕用的相关系数。相关系数是用来度量两个变量之间相关性大小的一个量化指标。比方你要判断啤酒和尿布之间是否有相关性,就能够计算这两个变量的相关系数,通过相关系数来判断两者的相关性大小。相关系数次要有三种:Pearson 相关系数、Spearman 秩相关系数和 Kendall τ 相关系数。皮尔逊 (Pearson) 相关系数大家应该都晓得,也应该有用到过。然而秩相干 (Spearman) 系数和 τ 相干 (Kendall) 系数大家或者不晓得。咱们这一篇就来聊聊这三个系数。

02

第一个讲的是大家相熟的皮尔逊相关系数,在讲皮尔逊相关系数前,咱们先讲一下另外一个概念,协方差。协方差是用来示意两个变量总体的误差,而方差是用来只示意一个变量的误差。协方差的公式如下:

协方差除了示意两个变量总体的误差以外还用来示意两个变量之间的相关性,为什么协方差能够示意两个变量之间的相关性呢?咱们须要从协方差的公式动手。通过下面公式中咱们能够看出,协方差等于两个变量各自与均值之差的乘积和。

如果变量 X 与其均值的大小关系与变量 Y 完全一致,即变量 X 和 Y 的值要么同时大于均值要么同时小于均值,那这个时候失去的协方差全为负数,且协方差值达到最大;如果变量 X 与其均值的大小关系与变量 Y 刚好相同,即变量 X 大于其均值的时候变量 Y 刚好小于其均值,这个时候失去的协方差全为正数,且协方差值达到最小;如果变量 X 与其均值的大小关系与 Y 变量 Y 值局部统一,两者的乘积会有正有负,这个时候失去的协方差值就是介于最大值和最小值之间。X 和 Y 变量的三种状况如下图所示:

协方差比拟容易受到量纲的影响,什么是量纲呢,就是单位,比方年龄和身高就不是一个单位,当 X 和 Y 变量的量纲之间的差异很大时,就会对协方差后果产生很大影响。下图中,左右两边的 X 和 Y 的趋势根本都统一,然而因为量纲不同(看纵坐标值),所以最初算进去的协方差会相差很大。

下表为上图中用到的数据集,感兴趣的同学能够依据公式本人计算下:

那对于下面这种不同量纲的影响咱们该怎么办呢?明明趋势统一,然而算进去的协方差值会相差很大。什么起因导致的,咱们就用什么办法解决。协方差差异很大的起因次要是因为量纲不同的起因引起的,那咱们针对变量进行去量纲解决就行,怎么去量纲呢?就是在协方差的根底上再除以各自变量的标准差,这样就能够打消不同量纲的影响,具体公式如下:

下面这个公式就是相关系数的公式,也就是咱们罕用的皮尔逊相关系数,这个系数的取值在 [-1,1] 之间,当值大于 0 阐明两个变量是正相干,且值越靠近于 1,相干水平越强;当值小于 0 阐明两个变量是负相关,且值越靠近于 -1,相干水平越强。

协方差不仅会受量纲的影响,还会受到异样值的影响,如果有异样值会拉高或拉低平均值,导致最初算进去的后果会有偏差。

03

讲完了皮尔逊相关系数,咱们再来看看秩相干 (Spearman) 系数。

咱们后面讲过皮尔逊系数容易受到异样值的的影响,过高和过低的值都会导致最初的后果有偏差,那有没有一种办法能够防止这种状况呢?答案就是咱们这节要讲的秩相干 (Spearman) 系数,为什么这个能够防止异样值的影响呢?是因为这种办法没有应用变量的绝对值,而是应用了变量中绝对值呈现的程序,程序就是将所有的变量值从小到大进行排序编号就行,是不是很无效。秩相干 (Spearman) 系数的公式如下:

04

秩相干 (Spearman) 系数是用变量外面各值对应的程序来代替原变量值的,还有另外一种相似的秩相关系数,叫做 Kendall τ 秩相关系数。这种相关系数的办法也是利用变量值呈现的程序,然而与 Spearman 相关系数略有不同。具体求取办法为:先将变量 X 进行升序排列,而后再对变量 Y 从第一个开始,顺次往后进行两两比拟,最初看随着 X 的增大变量 Y 增大的值有多少,升高的有多少,通过增大的个数和升高的个数的比拟来断定两个变量的相关性。

如下图所示,当咱们对变量 X 进行升序排列当前,咱们对变量 Y 从第一个值开始进行两两比拟,一共须要比拟的组合有:(1,3)、(1,6)、(1,2)、(1,5)、(1,4)、(3,6)、(3,2)、(3,5)、(3,4)、(6,2)、(6,5)、(6,4)、(2,5)、(2,4)、(5,4),而后咱们看这外面大于的组合有多少,小于的组合有多少。

如果随着 X 的增大变量 Y 增大的值越多,升高的值越少,阐明两个变量之间越正相干;如果随着 X 的增大变量 Y 增大的值越少,升高的值越多,阐明两个变量之间越负相关;如果随着 X 的增大变量 Y 增大的值与升高的值的数量比拟靠近,阐明两个变量之间相关性比拟弱。

05

以上就是对于三种不同相关系数的一个简略介绍,平时大家应该对第一种皮尔逊相关系数理解比拟多,然而严格意义上后两种要比第一种更加通用,而且实用场景更多一些,尤其是对异样值的影响。

当然了,咱们在应用这些办法的过程中必定是不须要去本人手动计算的,大家只须要明确其中的原理即可。这些相关性系数的求取在 Python 中都是有现成的函数供大家应用。df.corr()大家应该有人应用过,不晓得你有没有看过这个函数外面的参数,这个函数外面有一个 method 参数,该参数有三个值可选:‘pearson’, spearman’,‘kendall’,别离对应咱们下面的三种系数的求取。

本文就讲到这里,大家能够去应用起来啦。

退出移动版