有序分类变量的相关系数

  统计/机器学习 描述性统计    浏览次数:8467        分享
3

数值变量的相关系数是皮尔逊相关系数,那如果是有序分类变量呢,也可以用皮尔逊相关系数吗?


 

LeBron   2017-04-12 12:22



   2个回答 
9

当然也可以用Pearson $\rho$。

但是针对于有序分类变量,另外一个很适用的叫做Kendall $\tau$,也叫做肯达尔秩相关系数。与皮尔逊系数类似,肯达尔秩相关系数的范围也是-1到1。-1表示完全负相关,1表示完全正相关。公式为

$$\tau=2\frac{有序对的个数-逆序对的个数}{n(n-1)}$$

对于样本$A=\{a_1,a_2,\cdots, a_n\}$与样本$B=\{b_1,b_2,\cdots,b_n\}$。如果存在一对$(i,j)$,当$a_ i \lt a_j $时,$b_i \lt b_j$;或者当$a_i>a_j$时,$b_i\gt b_j$;这样的一对就称作有序对。反过来就是一个逆序对。


比如样本$A=\{1, 3, 5\}$,$B=\{4 , 6, 3\}$

有序对为

$a_1 < a_2$,$b_1 < b_2$

逆序对为

$a_1 < a_3$,$b_1 > b_3$

$a_2 < a_3$,$b_2 > b_3$

所以上面两个数列的Kendall $\tau$为

$$\tau=2\frac{1-2}{3\times2}=-\frac{1}{3}$$



PS,感谢s3040608090发现笔误,现在已经更正。


SofaSofa数据科学社区DS面试题库 DS面经

弼码温   2017-11-25 00:31

谢谢解答,长知识了。不过我想请教一下举例中的符号是否写反了?a1=1, a2=3不是应该是小于吗,还是我理解有误。 - s3040608090   2017-12-29 20:51
我也感觉大小于号写反了 - 0101RG   2017-12-30 01:23
抱歉抱歉,有碍大家观瞻了,现在已经更正了 - 弼码温   2017-12-30 14:37
7

除了弼码温提到的Kendall $\tau$,另一个也许更常用的是Spearman秩相关系数,也称为Spearman $\rho$。

对于两组样本,先对它们取序。

$A=(1, 2, 5, 3, 7)$,$B=(2, 10, 50, 11, 20)$这两组数,取序之后的结果为

$A'=(1, 2, 4, 3, 5)$,$B'=(1, 2, 5, 3, 4)$,然后再对$A'$和$B'$求正常的皮尔逊相关系数

$$\frac{\text{Cov}(A', B')}{\sigma_{A'}\sigma_{B'}}$$

$A'$和$B'$的皮尔逊相关系数就是$A$和$B$的Spearman秩相关系数。


SofaSofa数据科学社区DS面试题库 DS面经

木子周   2017-12-30 14:20



  相关讨论

一个连续变量和一个二元变量的相关系数怎么求?

相关系数中的效率指啥?

如果x是等级变量, y是连续变量 相关分析是不是用speaman

Python计算两个数组的相关系数

为啥计算pearson相关系数和线性回归的coef不同呢

回归中自变量和因变量的相关系数和回归系数(斜率)有什么关系?

两个变量不相关但是也不独立

如何对两个名义分类变量的关联性进行可视化展示?

序列的autocorrelation(自相关系数)的计算公式

相关系数的p值是怎么算的?

  随便看看

两个独立的正态随机变量的乘积服从什么分布?

非方阵的逆是什么

roc auc小于0.5是什么情况?

怎么理解图像识别里的dice系数?

模型调参时常用到的Grid Search是什么意思?