前面我们已经讨论了 Pearson 相关系数和 Spearman 秩相关系数,它们可以检测连续变量间的相关性,并且 Spearman 秩相关系数还能够检测有序的离散变量间的相关系数。今天我们再讨论一个能够检测有序变量相关性的系数:Kendall 秩相关系数。这里有序变量既包括实数变量,也包括可以排序的类别变量,比如名次、年龄段等。

Kendall 秩相关系数的定义

Kendall 秩相关系数是一个非参数性质(与分布无关)的秩统计参数,是用来度量两个有序变量之间单调关系强弱的相关系数,它的取值范围是 $[-1,1]$,绝对值越大,表示单调相关性越强,取值为 $0$ 时表示完全不相关。

原始的 Kendall 秩相关系数定义在一致对 (concordant pairs) 和分歧对 (discordant pairs) 的概念上。所谓一致对,就是两个变量取值的相对关系一致;分歧对则是指它们的相对关系不一致。这么说有点难以理解,我们举个例子。

假设我们为很多不同年龄的用户推送了一条社保相关的视频,然后回收了这些用户的播放完成度,如下表所示:

我们想用 Kendall 秩相关系数来分析用户年龄与该社保视频的播放情况是否相关。为此,我们将年龄和播放完成度分别排序后,对样本中取值进行排序和编号,分别得到 年龄序号 和 播放序号。这时,对于样本 $3$ 和样本 $4$,它们的年龄序号是 $[3,4]$,播放序号是 $[2,4]$,虽然序号不同,但是变化趋势是相同的,因此它们是一致的;对于样本 $2$ 和样本 $3$,它们的年龄序号是 $[2,3]$,播放序号是 $[5,2]$,它们的变化趋势是相反的,因此它们是分歧的。

进一步的,我们观察可以发现,当样本已经按年龄升序排列后,对于每个样本,我们可以简单的数一下该样本后续样本中播放序号大于该样本的样本数量,作为该样本引入的一致对数 (该样本之前的样本与该样本也可能一致,但是已经算过一次了),将所有样本引入的一致对数加起来就能得到所有样本的一致对数,记为 $c$。

同样的,对于每个样本,我们可以简单的数一下该样本后续样本中播放序号小于该样本的样本数量,作为该样本引入的分歧对数,累加后得到所有样本的分歧对数,记为 $d$。

则原始的 Kendall 秩相关系数定义为:

其中,$m=\frac{n\cdot (n-1)}{2}$ 表示所有样本两两组合的数量,在变量没有重复取值的情况下,$m=c+d$。定义 $(1)$ 也被称为 Tau-a,从定义也容易看出,它不能处理变量有相同取值的情况。

为了处理变量有相同取值的情况,我们还要将每个变量中相同取值的数量考虑进来,从而得到扩展的定义:

其中,$c$ 在计算的时候只能算 且 的对数,$d$ 也只能算 且 的对数 ();$t_x$,$t_y$ 分别表示变量 $x$,$y$ 取值中序号相同的样本对数排除共同平局的部分 (在下一小节举例说明)。式 通常又被称为 Tau-b,是实际中应用最广泛的定义 (另外还有 Tau-c 的变种这里就不介绍了)。在 scipy 1.3.0 版本的实现中,同时支持式 $(1)$ 和式 $(2)$。

举例说明

首先,我们根据式 $(1)$ 算一下图 $1$ 中年龄与播放的相关度。

将样本按年龄升序排列,将播放完成度按从小到大的顺序编号,如图 $1$ 所示;

分别计算每个样本新引入的一致对数和分歧对数,如图 $1$ 所示,进而算出 $c=40$,$d=5$;

根据式 $(1)$ 得到 $\tau_a=\frac{40-5}{40+5}=0.778$;

因此,年龄与播放社保视频的时长呈现强相关性,基于这个分析我们就可以尝试对更多年龄大一些的用户推送此视频。

在工程实现的时候,用户的年龄通常会被划分成不同的区间,而播放完成度只有超过一定阈值 (如 $0.3$) 我们才算作有效播放。因此,图 $1$ 的数据我们又可以转换成下面的离散情况:

可以发现,年龄段序号和有效播放序号存在大量的重复数据,因此我们基于式 $(2)$ 来计算:

将样本按年龄段升序排列,相同的年龄段按是否有效播放排序,对年龄段和是否有效播放进行编号,如图 $2$ 所示;

计算每个样本引入的一致对数和分歧对数,如图 $2$ 所示 (例如样本 $4$ 与 样本 $8\sim 10$ 一致),进而算出 $c=21$,$d=0$;

计算公共平局的数量 $t_c$,公共平局是指 $a_i=a_j$ 且 $b_i=b_j$ 的情况 (例如样本 $1\sim 3$ 互为平局,样本 $4,5,7$ 互为平局,样本 $8,9$ 互为平局),根据图 $2$ 易知:$t_c=\frac{3\cdot (3-1)}{2}+\frac{3\cdot (3-1)}{2}+\frac{2\cdot (2-1)}{2}=7$;

计算只在年龄段平局的数量 $t_x=\frac{3\cdot (3-1)}{2}+\frac{4\cdot (4-1)}{2}+\frac{2\cdot (2-1)}{2}-t_c=10-7=3$;

计算只在有效播放平均局的数量 $t_y=\frac{6\cdot (6-1)}{2}+\frac{4\cdot (4-1)}{2}-t_c=21-7=14$;

根据式 $(2)$ 得到 $\tau_b=\frac{21}{\sqrt{(21+3)(21+14)}}=0.725$;

对比发现,离散化后,我们发现这两个因素之间仍然是强相关的。

附示例的 python 代码

1

2

3

4

5

6

7

8

9

10>>>from scipy.stats import kendalltau

>>>import numpy as np

>>>x=[1,2,3,4,5,6,7,8,9,10]

>>>y=[1,5,2,4,3,7,6,8,9,10]

>>>kendalltau(x,y)

(0.7777777777777779, 0.0017451191944018172)

>>>x=[1,1,1,2,2,2,2,3,3,4]

>>>y=[1,1,1,1,1,1,2,2,2,2]

>>>kendalltau(x,y)

(0.72456883730947197, 0.0035417200011750309)

其中,kendalltau 返回的第二个结果是 p-value,其具体含义可参考官方文档。

Take-awaysKendall 秩相关系数可以用于度量有序变量间相关性,只要求变量取值之间可比,对变量的分布和数据的距离不作假设;

能用 Pearson 相关系数和 Spearman 秩相关系数的地方都能用 Kendall 秩相关系数,但是 Spearman 和 Kendall 秩相关系数要对数据排序,复杂度远高于 Pearson 相关系数,因此能用 Pearson 相关系数的时候优先考虑 Pearson 相关系数;

Kendall 秩相关系数依赖一致对和分歧对的计数,这里需要注意数据中是否有重复取值的情况,来选择使用 Tau-a 还是 Tau-b 进行计算。

肯德尔秩相关系数matlab,常用的特征选择方法之 Kendall 秩相关系数相关推荐

  1. Pearson皮尔逊,Kendall肯德尔和Spearman斯皮尔曼三种相关分析方法的异同

    在SPSS软件相关分析中,pearson(皮尔逊),kendall(肯德尔)和spearman(斯伯曼/斯皮尔曼)三种相关分析方法有什么异同      两个连续变量间呈线性相关时,使用Pearson积 ...

  2. 特征筛选6——肯德尔相关系数筛选特征(单变量筛选)

    肯德尔系数主要是用来判断两个有序序列的相关性 大致的计算流程: 对x与y先进行排序,得到不同的值对应的顺序 x与y配对计算,判断他们的顺序的一致对 (x的顺序与y的顺序相同) 和分歧对 (x的顺序与y ...

  3. 相关性分析-皮尔森、斯皮尔曼肯德尔相关性系数

    def person_func(x,y):"""1. person correlation coefficient(皮尔森相关性系数)皮尔逊相关系数通常用r或ρ表示,度量 ...

  4. 斯皮尔 皮尔森 肯德尔_统计学-三大相关性系数 | 生物统计学基础系列课

    原标题:统计学-三大相关性系数 | 生物统计学基础系列课 什么是生物统计学 生物统计学是一种很有用的工具,正确使用这一工具可以使科学研究更加有效,使科学研究可以更加高效的开展.因此,它是每位生物科学工 ...

  5. 统计学三大相关系数之肯德尔(kendall)相关性系数

    肯德尔相关性系数,又称肯德尔秩相关系数,它也是一种秩相关系数,不过它所计算的对象是分类变量. 分类变量可以理解成有类别的变量,可以分为 无序的,比如性别(男.女).血型(A.B.O.AB): 有序的, ...

  6. 医咖会免费SPSS教程学习笔记—肯德尔协同系数检验

    1.适用情形 超过两位的观察者观察连续变量或者有序分类变量 2.假设条件 3.实操 分析-非参数检验-相关样本-在"目标"下选择"自动比较实测数据和假设数据"- ...

  7. 肯德尔系数怎么分析_Kendall Rank(肯德尔等级)相关系数

    1.简介 在统计学中,肯德尔相关系数是以Maurice Kendall命名的,并经常用希腊字母τ(tau)表示其值.肯德尔相关系数是一个用来测量两个随机变量相关性的统计值.一个肯德尔检验是一个无参数假 ...

  8. 皮尔森、斯皮尔曼,肯德尔相关系数的理解

    pandas中的corr()方法可使用如下方法,检测特征间的关系 皮尔森相关系数(线性相关) 计算公式:两个连续变量(X,Y)的pearson相关性系数(Px,y)等于(X, Y)的协方差cov(X, ...

  9. 三大统计学相关系数(pearson皮尔森、spearman斯皮尔曼、kendall肯德尔)

    目录 1 person correlation coefficient(皮尔森相关性系数) 2 spearman correlation coefficient(斯皮尔曼相关性系数) 3 kendal ...

  10. 斯皮尔 皮尔森 肯德尔_一起来学应用统计学(全部)(二)持续更新

    应用统计基本内容(简略版) 描述统计:统计图表,集中趋势(平均数,中数,众数),离散趋势(极差,离均差,平均差,方差,标准差,差异系数,z分数) 数学基础(概率论基础,抽样分布理论) 推断统计:参数估 ...

最新文章

  1. perl XML创建XML文件
  2. 那个曾经为美国NASA开发火星大脑的AI公司,现在和华为合作了
  3. 简说创业公司的技术选型,从BearyChat的开发说起
  4. intrigue more
  5. python进阶之学习笔记_干货 | Python进阶系列之学习笔记(四)
  6. 蔡司三坐标_蔡司三坐标测针的安装指南
  7. centos 7.0防火墙导致vagrant端口映射失败
  8. Hive中生成随机唯一标识ID的方法
  9. python非法语句是_python 如何优雅的处理大量异常语句?
  10. 2020直播电商研究报告
  11. Bootstrap3 插件的事件
  12. 【Python】安装IPython和IPthon Notebook
  13. ccf 推荐会议和期刊
  14. html5动漫人物小部件制作,虚拟动漫人物制作器app
  15. 《originpro8》怎么拟合曲线
  16. URDF文件导入Simscape后生成slx文件
  17. html 输出helloworld,以及基本结构详解
  18. 洛谷 B2006 地球人口承载力估计
  19. 【备战NOIP】专题复习1-动态规划-背包问题
  20. 算法5:线性DP与区间DP

热门文章

  1. 【男保姆式】教你打开第一个微信小程序
  2. 第一次学游泳技巧_第一次学游泳怎么浮起来
  3. 【算法练习】POJ - 3683 Priest John's Busiest Day (2-SAT)
  4. 36氪:超级表格想把企业协作做得“轻”一点
  5. 解决:vue组件顶部留有空白问题
  6. 正睿OI补题(二分与分治)
  7. Ledger Nano X初始化使用教程
  8. Web 字体 font-family 浅谈
  9. MPI_Bcast函数的用法
  10. BJFU_数据结构习题_256病毒感染监测