广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python肯德尔系数相关性数据分析示例
  • 659
分享到

python肯德尔系数相关性数据分析示例

python肯德尔系数相关性python 数据分析 2023-02-15 12:02:37 659人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录前言一、定义二、使用条件三、计算公式及代码示例1.Tau-a2.Tau-b前言 相关性分析算是很多算法以及建模的基础知识之一了,十分经典。关于许多特征关联关系以及相关趋势都可以

前言

相关性分析算是很多算法以及建模的基础知识之一了,十分经典。关于许多特征关联关系以及相关趋势都可以利用相关性分析计算表达。其中常见的相关性系数就有三种:person相关系数,spearman相关系数,Kendall's tau-b等级相关系数。各有各自的用法和使用场景。当然关于这以上三种相关系数的计算算法和原理+代码我都会在我专栏里面写齐全。目前关于数学建模的专栏已经将传统的机器学习预测算法、维度算法、时序预测算法和权重算法写的七七八八了,有这个需求兴趣的同学可以去看看。

一、定义

Kendall(肯德尔)系数的定义:n个同类的统计对象按特定属性排序,其他属性通常是乱序的。同序对(concordant pairs)和异序对(discordant pairs)之差与总对数(n*(n-1)/2)的比值定义为Kendall(肯德尔)系数。

与斯皮尔曼秩相关相似的是,肯德尔相关也是一种秩相关系数,是基于数据对象的秩(rank)来进行两个(随机变量)之间的相关关系(强弱和方向)的评估。所分析的目标对象应该是一种有序的类别变量,比如名次、年龄段、肥胖等级(重度肥胖,中度肥胖、轻度肥胖、不肥胖)等。

不同的是,斯皮尔曼相关是基于秩差(比如说,小明在班级中的历史成绩排名为10,英语成绩排名为4,那么在这个班级的学生的历史成绩和英语成绩的斯皮尔曼相关分析中,小明的成绩的贡献就是(10-4=6) )来进行相关关系的评估;而肯德尔相关则是基于样本数据对之间的关系来进行相关系数的强弱的分析,数据对可以分为一致对(Concordant)和分歧对(Discordant)。

kendall相关系数的计算公式如下:

假如我们设一组8人的身高和体重在那里A的人是最高的,第三重,等等:

注意,A最高,但体重排名为 3 ,比体重排名为 4,5,6,7,8 的重,贡献5个同序对,即AB,AE,AF,AG,AH。同理,我们发现B、C、D、E、F、G、H分别贡献4、5、4、3、1、0、0个同序对,因此,同序对数

P = 5 + 4 + 5 + 4 + 3 + 1 + 0 + 0 = 22.

异序对数 Q=28-22 (总对数减去同序对数为异序对数)

因而R=((22-6)/28)=0.57。这一结果显示出强大的排名之间的规律,符合预期。 我们看到,有一些相关的两个排名之间的相关性,可以使用肯德尔头系数,客观地衡量对应。

  • 如果两个排名之间的一致性是完美的(即两个排名相同),则系数的值为1。
  • 如果两个排名之间的分歧是完美的(即,一个排名与另一个排名相反),则系数具有值-1。
  • 如果X和Y是独立的,那么我们期望系数近似为零。

二、使用条件

在适用肯德尔相关分析前首先要检查数据是否满足以下基本假设,满足了这些基本假设才能确保你所得到的相关分析结果是有效的。

  • 变量数据是有序的( ordinal) 或者是连续的(continuous). 有序尺度(Ordinal scales )的数据通常用于用数值的方式来衡量非数值的概念,比如说,满意度,幸福度等等,还有像成绩排名啊、比赛名次啊之类的。而连续尺度的数据就勿需解释了,常见的温度啊、体重啊、收入啊等等都(或严格、或近似)算是连续尺度的数据。
  • 两个变量的数据之间应该遵循单调关系( monotonic relationship)。 简而言之就是,其中一个变量的值增大,另一个也增大,这个称为正相关;或者一个变量的值增大,另一个就变小,这个称为负相关。当然,这个单调关系是一个统计意义上的,或者说一种趋势上的,而非严格的单调。如下如所示。左图和中图都呈现一种近似单调的关系,而右图则不是,因为右图的左半部分和右半部分的趋势是相反的。

三、计算公式及代码示例

肯德尔系数有两个计算公式,一个称为Tau-c,另一个称为Tau-b。两者的区别是Tau-b可以处理有相同值的情况,即并列排位(tied ranks)。

1.Tau-a

from scipy.stats.stats import kendalltau
import numpy as np
import matplotlib.pyplot as plt
dat1 = np.array([1,2,3,4,5,6,7,8])
dat2 = np.array([3,4,1,2,5,7,8,6])
fig,ax = plt.subplots()
ax.scatter(dat1,dat2)
kendalltau(dat1,dat2)

2.Tau-b

在以上Tau-a的计算中假定原始数据中不存在并列排位。当原始数据中存在并列排位时,则用以下公式能够给出更准确的分析结果。

代码是一致的只不过使用数学运算不一致,具体我不展开了,更多关于python肯德尔系数相关性的资料请关注编程网其它相关文章!

--结束END--

本文标题: python肯德尔系数相关性数据分析示例

本文链接: https://www.lsjlt.com/news/196204.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python肯德尔系数相关性数据分析示例
    目录前言一、定义二、使用条件三、计算公式及代码示例1.Tau-a2.Tau-b前言 相关性分析算是很多算法以及建模的基础知识之一了,十分经典。关于许多特征关联关系以及相关趋势都可以...
    99+
    2023-02-15
    python肯德尔系数相关性 python 数据分析
  • 肯德尔(Kendall)相关系数概述及Python计算例
    目录 1. 何谓相关(correlation) 2. 肯德尔相关  3. 肯德尔相关的假设 4. 计算公式及代码示例 4.1 Tau-a 4.2  Tau-b          1. 何谓相关(correlation)         相...
    99+
    2023-09-16
    python scipy.stats 概率统计 相关系数
  • python皮尔逊相关性数据分析分析及实例代码
    目录前言数值类型皮尔逊系数使用场景皮尔逊相关系数(Pearson correlation)1.定义2.线性关系判定3.正态检验1.KS检验4.计算代码前言 相关性分析算是很多算法以...
    99+
    2023-02-15
    python皮尔逊相关性 python 数据分析
  • 数学建模:相关性分析学习——皮尔逊(pearson)相关系数与斯皮尔曼(spearman)相关系数
    目录 前言 一、基本概念及二者适用范围比较 1、什么是相关性分析 2、什么是相关系数 3、适用范围比较 二、相关系数 1.皮尔逊相关系数(Pearson correlation) 1、线性检验 2、正态检验 3、求相关系数 2、斯皮尔曼相关...
    99+
    2023-08-31
    python pandas 数据分析
  • 相关分析——皮尔逊相关系数、t显著性检验及Python实现
    一、相关分析 (1)衡量事物之间或称变量之间线性相关程度的强弱,并用适当的统计指标表示出来的过程。 (2)比如家庭收入和支出、一个人所受教育程度与其收入、子女身高和父母身高的相关性。 二、相关系数 (1)衡量变量之间相关程度的一个量值。 (...
    99+
    2023-09-25
    python 数据分析
  • Python数据分析Numpy中常用相关性函数
    目录摘要:一、股票相关性分析二、多项式三、求极值的知识摘要: NumPy中包含大量的函数,这些函数的设计初衷是能更方便地使用,掌握解这些函数,可以提升自己的工作效率。这些函数包括数组...
    99+
    2022-11-11
  • 关系数据库和nosql的示例分析
    小编给大家分享一下关系数据库和nosql的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!NoSQL概念随着web2.0的...
    99+
    2022-10-19
  • 如何用Python对数据进行相关性分析
    这期内容当中小编将会给大家带来有关如何用Python对数据进行相关性分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在进行数据分析时,我们所用到的数据往往都不是一维的,而这些数据在分析时难度就增加了不少...
    99+
    2023-06-16
  • Python数据分析Numpy中常用相关性函数是什么
    今天小编给大家分享一下Python数据分析Numpy中常用相关性函数是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。摘要...
    99+
    2023-06-30
  • 【100天精通Python】Day57:Python 数据分析_Pandas数据描述性统计,分组聚合,数据透视表和相关性分析
    目录 1 描述性统计(Descriptive Statistics) 2 数据分组和聚合 3 数据透视表 4 相关性分析 1 描述性统计(Descriptive Statistics)         描述性统计是一种用于汇总和理解数据集...
    99+
    2023-09-10
    信息可视化 python pandas
  • mongodb与sql关系型数据比较的示例分析
    这篇文章给大家分享的是有关mongodb与sql关系型数据比较的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。摸索了几天,大体也初步算入了mongodb的门,仔细一想,m...
    99+
    2022-10-18
  • 详解Python进行数据相关性分析的三种方式
    目录相关性实现NumPy 相关性计算SciPy 相关性计算Pandas 相关性计算线性相关实现线性回归:SciPy 实现等级相关排名:SciPy 实现等级相关性:NumPy 和 Sc...
    99+
    2022-11-10
  • MySQL与Oracle数据类型对应关系的示例分析
    这篇文章将为大家详细讲解有关MySQL与Oracle数据类型对应关系的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MySQL与Oracle两种数据库在工作中,都...
    99+
    2022-10-18
  • thinkphp5.0修改器和数据完成关系的示例分析
    小编给大家分享一下thinkphp5.0修改器和数据完成关系的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!密码加密时遇到的问题今天遇到密码md5加密的问...
    99+
    2023-06-14
  • Python进行数据相关性分析的三种方式是什么
    本文小编为大家详细介绍“Python进行数据相关性分析的三种方式是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python进行数据相关性分析的三种方式是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。相...
    99+
    2023-06-30
  • python跨库检查数据一致性的示例分析
    python跨库检查数据一致性的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。因为最近上线了samza实时流平台,实时从源数据端实时传输数据到数据仓库,于是就需要检...
    99+
    2023-06-03
  • ADO.NET开发数据库无关性应用程序的示例分析
    这期内容当中小编将会给大家带来有关ADO.NET开发数据库无关性应用程序的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。数据库无关性(DB Independ),指应用程序运行不依赖于某一数据库(如...
    99+
    2023-06-17
  • NumPy中的线性关系与数据修剪压缩实例分析
    这篇文章主要介绍“NumPy中的线性关系与数据修剪压缩实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“NumPy中的线性关系与数据修剪压缩实例分析”文章能帮助大家解决问题。摘要总结股票均线计算...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作