统计学之三大相关性系数(pearson、spearman、kendall)

关注公众号:“程序员成长软技能” ,日拱一卒,功不唐捐!
(转自 微信公众号克里克学苑)
三个相关性系数(pearson, spearman, kendall)反应的都是两个变量之间变化趋势的方向以及程度,其值范围为-1到+1,0表示两个变量不相关,正值表示正相关,负值表示负相关,值越大表示相关性越强。

  1. person correlation coefficient(皮尔森相关性系数)

公式如下:


重点关注第一个等号后面的公式,最后面的是推导计算,暂时不用管它们。看到没有,两个变量(X, Y)的皮尔森相关性系数(ρX,Y)等于它们之间的协方差cov(X,Y)除以它们各自标准差的乘积(σX, σY)。

公式的分母是变量的标准差,这就意味着计算皮尔森相关性系数时,变量的标准差不能为0(分母不能为0),也就是说你的两个变量中任何一个的值不能都是相同的。如果没有变化,用皮尔森相关系数是没办法算出这个变量与另一个变量之间是不是有相关性的。

就好比我们想研究人跑步的速度与心脏跳动的相关性,如果你无论跑多快,心跳都不变(即心跳这个变量的标准差为0),或者你心跳忽快忽慢的,却一直保持一个速度在跑(即跑步速度这个变量的标准差为0),那我们都无法通过皮尔森相关性系数的计算来判断心跳与跑步速度到底相不相关。

我们再拔高一点,来看个更具普遍性的例子吧,其中的计算我们使用广受欢迎的R语言来运行,如果你手边也装了R语言,可以一起来做做看:

假设你现在做了个生物学实验,喜得以下两个变量:
X1=c(1, 2, 3, 4, 5, 6)
Y1=c(0.3, 0.9, 2.7, 2, 3.5, 5)

X1《-c(1, 2, 3, 4, 5, 6)
Y1《-c(0.3, 0.9, 2.7, 2, 3.5, 5)
mean(X1) #平均值
[1] 3.5
mean(Y1)
[1] 2.4
var(X1) #方差
[1] 3.5
var(Y1)
[1] 2.976
sd(X1) #标准差
[1] 1.870829
sd(Y1)
[1] 1.725109
cov(X1,Y1) #协方差
[1] 3.06
cor(X1,Y1,method="pearson") #皮尔森相关性系数
[1] 0.9481367

其值在0.9以上,说明二者非常相关,比如验证了蛋白A表达量的变化,与蛋白B表达量的变化关系很大!拿到这种有统计学论证的结果你可能很开心。

然而,由于实验操作不慎或者处理数据不小心,得到了这样一个变量X2(1,1,1,1,1,1),那么计算X2与Y1之间的皮尔森相关性系数会发生什么呢?

X2《-c(1,1,1,1,1,1)
cor(X2,Y1,method="pearson")
[1] NA
Warning message:
In cor(X2, Y1, method = "pearson") : the standard deviation is zero

R运行会得到一个缺失值(NA),并且代码给你提醒:标准差为零(自己试着计算下X2的标准差是多少),这时候明白上面说的意思了吧!也就是说,X2里面的取值根本没有任何波动,那它与Y1的相关性也就没法用这种方法来计算了。

此外,从上面的公式我们知道,皮尔森相关性系数是协方差与标准差的比值,所以它对数据是有比较高的要求的:

第一, 实验数据通常假设是成对的来自于正态分布的总体。为啥通常会假设为正态分布呢?因为我们在求皮尔森相关性系数以后,通常还会用t检验之类的方法来进行皮尔森相关性系数检验,而 t检验是基于数据呈正态分布的假设的。


第二, 实验数据之间的差距不能太大,或者说皮尔森相关性系数受异常值的影响比较大。比如刚才心跳与跑步的例子,万一这个人的心脏不太好,跑到一定速度后承受不了,突发心脏病,那这时候我们会测到一个偏离正常值的心跳(过快或者过慢,甚至为0),如果我们把这个值也放进去进行相关性分析,它的存在会大大干扰计算的结果的。

  1. spearman correlation coefficient(斯皮尔曼相关性系数)

斯皮尔曼相关性系数,通常也叫斯皮尔曼秩相关系数。“秩”,可以理解成就是一种顺序或者排序,那么它就是根据原始数据的排序位置进行求解,这种表征形式就没有了求皮尔森相关性系数时那些限制。下面来看一下它的计算公式:

计算过程就是:首先对两个变量(X, Y)的数据进行排序,然后记下排序以后的位置(X’, Y’),(X’, Y’)的值就称为秩次,秩次的差值就是上面公式中的di,n就是变量中数据的个数,最后带入公式就可求解结果。举个例子吧,假设我们实验的数据如下:


带入公式,求得斯皮尔曼相关性系数:ρs= 1-6(1+1+1+9)/635=0.657

也就是说,我们不用管X和Y这两个变量具体的值到底差了多少,只需要算一下它们每个值所处的排列位置的差值,就可以求出相关性系数了。这下理解起来是不是容易多了!还是用上面的数据,下面写下代码实现:

X《-c(11,490,14,43,30,3)
Y《-c(2,75,3,44,7,42)
cor(X,Y,method="spearman")
[1] 0.6571429

而且,即便在变量值没有变化的情况下,也不会出现像皮尔森系数那样分母为0而无法计算的情况。另外,即使出现异常值,由于异常值的秩次通常不会有明显的变化(比如过大或者过小,那要么排第一,要么排最后),所以对斯皮尔曼相关性系数的影响也非常小!

由于斯皮尔曼相关性系数没有那些数据条件要求,适用的范围就广多了。在我们生物实验数据分析中,尤其是在分析多组学交叉的数据中说明不同组学数据之间的相关性时,使用的频率很高。

  1. kendall correlation coefficient(肯德尔相关性系数)

肯德尔相关性系数,又称肯德尔秩相关系数,它也是一种秩相关系数,不过它所计算的对象是分类变量。
分类变量可以理解成有类别的变量,可以分为
无序的,比如性别(男、女)、血型(A、B、O、AB);
有序的,比如肥胖等级(重度肥胖,中度肥胖、轻度肥胖、不肥胖)。
通常需要求相关性系数的都是有序分类变量。

举个例子。比如评委对选手的评分(优、中、差等),我们想看两个(或者多个)评委对几位选手的评价标准是否一致;或者医院的尿糖化验报告,想检验各个医院对尿糖的化验结果是否一致,这时候就可以使用肯德尔相关性系数进行衡量。

由于数据情况不同,求得肯德尔相关性系数的计算公式不一样,一般有3种计算公式,在这里就不繁琐地列出计算公式了,直接给出R语言的计算函数:

还是用cor函数求,这时候把method这个参数设成“kendall”,这时我们假设老师对选手的评价等级---3表示优,2表示中,1表示差:

X《-c(3,1,2,2,1,3)
Y《-c(1,2,3,2,1,1)
cor(X,Y,method="kendall")
[1] -0.2611165

这时候就可以理解为两位老师对选手们的看法是呈相反趋势的,不过这种相反的程度不很大。

关注公众号:“程序员成长软技能” ,日拱一卒,功不唐捐!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容

  • 来源: http://www.douban.com/group/topic/14820131/ 调整变量格式: f...
    MC1229阅读 6,911评论 0 5
  • (转自http://www.douban.com/group/topic/14820131/,转自人大论坛) 调整...
    f382b3d9bdb3阅读 10,343评论 0 8
  • 特征选择 特征选择(排序)对于数据科学家、机器学习从业者来说非常重要。好的特征选择能够提升模型的性能,更能帮助我们...
    hzyido阅读 6,575评论 1 16
  • 期 春风盈十里, 暖阳照心。 燕子归巢, 相与红花亭。 亭上风景独秀, 秀美醉人。 时光如水,...
    北暮无泪阅读 184评论 1 3
  • 史铁生说,人的故乡,并不止于一块特定的土地,而是一种辽阔无比的心情。那么对于归途,又何尝不是一种特定心境? 那一年...
    麻花的腿很长阅读 401评论 0 0