总第181篇/张俊红

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’,分别对应我们上面的三种系数的求取。

本文就讲到这里,大家可以去使用起来啦,我们下周再见。

你还可以看:

聊聊置信度与置信区间

统计学的假设检验

聊聊你知道和不知道的相关性系数相关推荐

  1. python相关性系数_聊聊你知道和不知道的相关性系数

    这一篇我们来聊聊大家平常比较常用的相关系数.相关系数是用来度量两个变量之间相关性大小的一个量化指标.比如你要判断啤酒和尿布之间是否有相关性,就可以计算这两个变量的相关系数,通过相关系数来判断两者的相关 ...

  2. ES6 你可能不知道的事 – 基础篇

    ES6 你可能不知道的事 – 基础篇 转载 作者:淘宝前端团队(FED)- 化辰 链接:taobaofed.org/blog/2016/07/22/es6-basics/ 序 ES6,或许应该叫 ES ...

  3. ai的弹窗点了都不响应_【评价集合】拼多多评价,你所不知道的点都在这里!...

    对于在拼多多开店的商家们来说,评价是消费者对于商品的好坏程度的一个评分,评价的高低不仅仅会影响到商品的销量,更会影响转化率以及权重!所以为了店铺商品的长远发展打算!各位商家在求取出评.好评的道路上不断 ...

  4. 统计学三大相关性系数:pearson,spearman,kendall

    目录 person correlation coefficient(皮尔森相关性系数-r) spearman correlation coefficient(斯皮尔曼相关性系数-p) kendall ...

  5. 互联网人群画像和你所不知道的真相

    作为新时代互联网营销的关键部分,人群画像引起了诸多兴趣,近年颇为风靡.几乎所有的互联网广告供应商都不约而同的强调,他们有足够精确的人群画像数据,确保能够找到广告主真正的受众.但是事情果真如此吗?人群画 ...

  6. HTTP请求转发那些事:你可能不知道的Hop-by-hop Headers和End-to-end Headers

    本文分享自华为云社区<HTTP请求转发那些事:你可能不知道的Hop-by-hop Headers和End-to-end Headers>,作者:蜉蝣与海. 引子 最近看到F5官方发布的公告 ...

  7. 南京地铁交通部署工程竣工时那些我们不知道的数字,你知道吗?

    做数据分析未必要用Python,今天分享一个仅用基础的办公软件 Excel 进行项目分析的南京地铁的Case. 来看看当年我们不知道的那些数字吧. 文章目录 项目背景 地铁线路建设时间 地铁地图 地铁 ...

  8. 微软产品经理:你不能不知道的 6 个 Web 开发者工具

    使用开发者工具是开发人员的日常,但多数人往往只使用其中的一小部分,很多功能其实都无人问津.在微软 Edge 项目部担任开发者工具首席产品经理的 Christian Heilmann 认为,开发者工具正 ...

  9. Microsoft Edge:你不能不知道的6个Web开发者工具

    微软产品经理:你不能不知道的6个Web开发者工具 作者|Christian Heilmann 译者|核子可乐 策划|燕珊 多数开发者只有实在没有办法(在谷歌.Stack Overflow 乃至其他社交 ...

最新文章

  1. 在思科模拟器下搭建WWW、DNS、FTP、Email服务
  2. 了解下Lua 环境安装
  3. 无人驾驶技术排名:百度居中游,苹果特斯拉垫底 | 行业
  4. 给CentOS添加第三方源
  5. springboot打包时加入本地jar打包
  6. 【收藏】SAP记账码
  7. Android 拉起小程序页面进行传值
  8. Eclipse+Maven配置
  9. Tomcat启用HTTPS协议配置过程
  10. PHP的性能大坑--strtotime函数
  11. Socket API: setsockopt(), recvmsg(), sendmsg()函数
  12. 由内鬼事件看企业的内部安全威胁
  13. Controller中servletFileUpload.parseRequest(request)解析为空
  14. 升讯威周报与工时统计系统 V3
  15. 山海演武传·黄道·第一卷 雏龙惊蛰 第四章 异兽
  16. 文件夹批量重命名不会操作?快来看看吧
  17. PostgreSQL string_to_array函数应用
  18. 实测发现,微软 Win11 并不比 Win10 更快
  19. 在线正则表达式测试器(JavaScript)
  20. Linux2--修改root密码,文件操作

热门文章

  1. extjs入门(06) 按钮占两行
  2. Error creating bean with name ‘userController‘: Unsatisfied dependency expre
  3. 图片裁剪功能集成优化
  4. DRBD的安装与配置
  5. 【VMCloud云平台】Demo应用搭建(二)
  6. PLSQL developer 连接64位oracle 11.2G
  7. 九个月可以做成什么事?
  8. 分享Silverlight/WPF/Windows Phone一周学习导读(06月13日-06月18日)
  9. 实录:menu.1st配置错误导致从多路径启动失败
  10. Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之12.Servlet基础(2)