定义#
斯皮尔曼等级相关用排名衡量两个变量的单调关系强弱。它先把每个变量的原始数值换成名次,再对这两组名次算普通的相关系数,所以只关心「谁排在谁前面」,不关心具体差多少。
这带来两个好处:它不要求两个变量呈线性关系,只要方向一致(单调)就能捕捉到;而且因为极端值被压缩成一个名次,它对异常值远比皮尔逊相关系数稳健。代价是丢掉了数值的幅度信息。在因子研究里,用因子值排名和未来收益排名算出来的等级相关,就是常说的信息系数。
公式#
在没有并列名次的情况下:
其中 是第 对观测值的两个名次之差, 是样本量。出现相同数值时用平均等级法:把这几个位次的名次取平均后共同赋值(例如并列第 3、4 名都记作 3.5)。
算一笔账#
两个变量各 5 个观测:,。
给 排名(从小到大),两个 5 并列占据第 1、2 位,各记 1.5,于是名次是 5、4、1.5、3、1.5。 没有并列,名次是 5、4、1、3、2。
名次差 为 0、0、+0.5、0、−0.5,平方和 。
代入公式:。名次几乎完全一致,只有并列造成的一点点错位。
常见问题#
什么时候该用它而不是普通的相关系数?#
数据不服从正态分布、存在明显异常值,或者你相信两者的关系是单调但不一定是直线时,用等级相关更稳妥。反过来,如果你关心的就是「涨 1% 带动多少」这种幅度关系,皮尔逊相关系数更合适。
需要多少样本才算可靠?#
样本太少时名次相关很容易偶然变得很高。一般建议至少 5 个观测才算得动,20 个以上结果才比较稳定;同时看它给出的 p 值,判断这个数字是不是碰巧。
数据里有相同的值怎么办?#
用平均等级法,把并列的几个位次的名次取平均后一起赋给它们。也有取最小、最大或随机分配的做法,但平均等级最常用,也最不容易引入方向性偏差。