Kendall's tau是数学统计中一个常用的系数,用来描述两个序列的相关系数。如果两个序列完全一致,则Kendall's tau值为1,两个毫不相关的序列的Kendall's tau值为0,而两个互逆的序列的Kendall's tau系数为-1.
具 体的计算方式为: 1 - 2 * symDif / (n * (n -1)),其中n为排列的长度(两个序列的长度相同),symDif为对称距离。对称距离的计算方式如下: 对于两个给定的序列S1 = {a,b,c,d}; S2 = {a, c, b, d}. 分别找出两个序列的二元约束集。在这个例子中S1的所有二元约束集为{(a,b), (a,c), (a,d), (b,c), (b,d), (c,d)}, S2的所有二元约束集为{(a,c), (a,b), (a,d), (c,b), (c,d), (b,d)},比较两个二元约束集,其中不同的二元约束有两个(b,c)和(c,b),所以对称距离为2。代入上面的计算公式可以得到这两个序列的相关系 数为: 
1 - 2 * 2 / (4 * 3)  = 2 / 3 = 0.667
这是一个很有用的参数,可以用来比较两个序列的相似性,例如可以用于搜索引擎的排序结果的好坏。比较一个序列与一个类似标准答案的排序序列的相似性(人工评价),得出排序序列的有效性。
计算的代码如下:
# coding=gb2312#author:  Chao Deng
#Date:      2012-4-20def cal_kendall_tau(list_1 , list_2):length = len(list_1)if length != len(list_2):return -1set_1 = set()set_2 = set()for i in range(length):for j in range(i+1,length):set_1.add( (list_1[i],list_1[j]) )set_2.add( (list_2[i],list_2[j]) )count = len(set_1 & set_2)return float(count)*2 / ((length-1)*length)if __name__ == '__main__':list_1 = ['a','b','c','d']list_2 = ['c','b','a','d']list_3 = list_1[:]list_3.reverse()print 'sim of 1&2 : %s' % cal_kendall_tau(list_1,list_2)print 'sim of 1&3 : %s' % cal_kendall_tau(list_1,list_3)

Kendall's tau相关推荐

  1. Kendall's tau相似程度指标

    Kendall's tau相似程度指标 两个序列,例如S1 = {a, b, c, d}. S2 = {a, c, b, d},如何度量它们的相似程度,有很重要的应用背景,在投票决策.表达式搜索.to ...

  2. 统计学三大相关系数——Kendall τ(tau)

    参考链接:http://blog.sina.com.cn/s/blog_69e75efd0102wmd2.html

  3. r语言kendall协和系数_列联表篇之十一:有序数据的Kendall协和系数

    上一篇<列联表篇之十:属性相同双向有序表的Kappa分析>中提到,"Fleiss' Kappa(也包含Cohen's Kappa)可以用于二分类数据或名义尺度的评价,但不适用与顺 ...

  4. 统计基础:4.2_相关分析之Pearson、Spearman、Kendall

    常用的相关分析系数 一.Spearman Rank相关系数 1.1 Pearson相关系数的定义 1.2 python实现pearson相关系数 二.Spearman秩相关系数 2.1 Spearma ...

  5. 在线作图丨如何画一个优美的相关性热图

    相关性热图 相关性分析是通过计算两种因子之间的相关性(Spearman.Pearson.Kendall's Tau系数等),将获得的数值矩阵通过热图直观展示.通过颜色变化反映二维矩阵或表格中的数据信息 ...

  6. 搜索和其他机器学习问题有什么不同?

    本文首发于 vivo互联网技术 微信公众号 作者:Doug Turnbull 译者:林寿怡 目录: 一.衡量搜索的好坏 二.用机器学习生成 ranking 函数 三.单文档 机器学习排序 (point ...

  7. 《R语言实战》第7章

    # 第七章 基本统计分析 # 本章内容 # 描述性统计分析 # 频数表和列联表 # 相关系数和协方差 # t检验 # 非参数统计# 7.1 描述性统计分析 # 本节中,我们将关注分析连续型变量的中心趋 ...

  8. python假设税前工资和税率如下_Python来做假设检验

    对于任何一个频率派的数据科学家而言,日常做数据分析难免还是会用到一些假设检验方法做一个数据探索和相关性.差异性分析,并且这也是做后续统计模型(机器学习类预测模型可以略过)预测的第一步. 这篇博文目的就 ...

  9. CVPR 2021 | 基于随机标签的神经架构搜索

    本文转自旷视研究院. 今日分享一篇来自旷视被收录为 CVPR2021 的论文『Neural Architecture Search with Random Labels』.详情如下: 论文名称:Neu ...

最新文章

  1. 通过Matrix进行二维图形仿射变换
  2. 逐步加深的异步操作(上)
  3. 微服务采用何种远程调用方式?
  4. 电脑打字手指正确姿势_写字坐姿不正确的难题,已被家长攻克,果然高手在民间...
  5. 怎么发现RAC环境中#39;library cache pin#39;等待事件的堵塞者(Blocker)?
  6. class循环获取 Undefined var str = '';
  7. C#netdxf库读、写、绘制CAD的dxf文件
  8. 老机首选:龙行天下GHOST XP SP2万能预装系统软件自选安装终结版 201007
  9. Firefox选择哪个IE TAB
  10. 上课笔记-机器学习(4)-泰坦尼克号沉没乘客存活分析
  11. 卸载xmanager失败导致后续安装失败,打开软件一直提示xmanager 5.msi找不到
  12. google dapper论文
  13. 企业微服务治理的解决思路
  14. 过度在意别人的看法,是因为缺少自我
  15. 2022第一周学习记录
  16. python按列名删除某列_python-根据熊猫中的列名删除多个列
  17. Android直播解决方案
  18. 总结1-mysql—JDBC-Servlet
  19. 4万字 全面解读数据中台、数据仓库、数据湖等概念!建议收藏!
  20. .ps文件(ghostscript转换pdf)

热门文章

  1. 113资讯网:在线伪原创程序
  2. Vue 中如何使用 SweetAlert
  3. 创建学生选课成绩的数据库的语句
  4. ASUS VivoBook S15 外接麦克风的使用方法
  5. CTO俱乐部大数据晚宴-有趣
  6. 预制发票,相关屏幕增强及bapi 增强
  7. 自学实践前后端项目4 MMall商城 2
  8. 《机器学习实战》之十一——使用Apriori算法进行关联分析
  9. vue 项目运行报错 multiple chunks emit assts to the same filename js/401.js(chunks 401 and 401)
  10. android自定义相机打开闪光灯,Android surfaceview 自定义相机 拍照(闪光灯、先后摄像头)...