机器学习数学基础:32.斯皮尔曼等级相关
斯皮尔曼等级相关教程
一、定义与原理
斯皮尔曼等级相关系数(Spearman’s rank - correlation coefficient),常用ρ\rhoρ表示,是一种非参数统计量,用于衡量两个变量的等级之间的关联程度。它基于变量的秩次(排序后的位置)进行计算,不依赖于数据的分布形态,能有效处理非线性关系和非数值型的有序数据。取值范围在−1-1−1到111之间,ρ =1\rho \ = 1ρ =1表示完全正相关,即一个变量的等级增加时,另一个变量的等级也严格增加;ρ =−1\rho \ = - 1ρ =−1表示完全负相关;ρ =0\rho \ = 0ρ =0表示不存在等级相关关系。
二、适用场景
- 数据为定序数据:如比赛名次、成绩等级、满意度排序等,例如分析不同餐厅在美食评选中的排名和顾客推荐率排名的关系。
- 数据分布未知或不满足正态分布:当无法确定数据是否服从正态分布,或者明确知道数据不服从正态分布时,斯皮尔曼等级相关系数是很好的选择。
- 变量间为非线性关系:只要两个变量之间存在单调变化趋势(不一定是线性),都可以用它来衡量相关性,比如植物生长时间和植株高度的关系(可能是先慢后快再趋于平稳的非线性增长) 。
三、计算步骤
斯皮尔曼等级相关系数计算
- 数据排序:分别对两个变量的数据进行排序,确定每个数据在各自变量中的等级。若存在相同数值,通常取平均等级。例如,有三个数据333,333,555,它们的等级分别为1.51.51.5((1+2)÷2(1 + 2)\div2(1+2)÷2),1.51.51.5,333。
- 计算等级差:对于每一对数据,计算它们的等级差did_{i}di。
- 计算等级差的平方:得到di2d_{i}^{2}di2,并对所有的di2d_{i}^{2}di2求和,得到∑di2\sum d_{i}^{2}∑di2。
- 计算相关系数:根据公式ρ =1−6∑di2n3−n\rho \ = 1-\frac{6\sum d_{i}^{2}}{n^{3}-n}ρ =1−n3−n6∑di2(nnn为样本数量)计算斯皮尔曼等级相关系数。
t检验步骤
- 建立假设
- 原假设H0H_0H0:总体的斯皮尔曼等级相关系数ρ =0\rho \ = 0ρ =0,即总体中两个变量之间不存在等级相关关系。
- 备择假设H1H_1H1:总体的斯皮尔曼等级相关系数ρ≠0\rho\neq 0ρ=0,即总体中两个变量之间存在等级相关关系。
- 计算t统计量:在斯皮尔曼等级相关的t检验中,可使用公式t =rRn−21−rR2t\ =\frac{r_{R}\sqrt{n - 2}}{\sqrt{1 - r_{R}^{2}}}t =1−rR2rRn−2(这里rRr_{R}rR表示计算得到的斯皮尔曼等级相关系数,nnn为样本数量)。此公式与积差相关系数(如Pearson相关系数)检验中t统计量的计算形式相同,这样做是因为在一定条件下,基于等级数据计算出的相关系数的抽样分布近似于t分布。
- 确定临界值:根据给定的显著性水平α\alphaα(常用的有0.050.050.05、0.010.010.01等)和自由度df =n−2df \ = n - 2df =n−2,查阅ttt分布表得到临界值tα/2(n−2)t_{\alpha/2}(n - 2)tα/2(n−2)。
- 做出决策
- 如果∣t∣>tα/2(n−2)\vert t\vert>t_{\alpha/2}(n - 2)∣t∣>tα/2(n−2),则拒绝原假设H0H_0H0,认为总体中两个变量之间存在等级相关关系。
- 如果∣t∣≤tα/2(n−2)\vert t\vert\leq t_{\alpha/2}(n - 2)∣t∣≤tα/2(n−2),则不能拒绝原假设H0H_0H0,即没有足够证据表明总体中两个变量之间存在等级相关关系。
四、实例演示
斯皮尔曼等级相关系数计算实例
研究666名学生的语文成绩排名和英语成绩排名的相关性,数据如下:
| 学生编号 | 语文成绩排名XXX | 英语成绩排名YYY | did_{i}di(等级差) | di2d_{i}^{2}di2(等级差的平方) |
|---|---|---|---|---|
| 1 | 2 | 3 | -1 | 1 |
| 2 | 4 | 2 | 2 | 4 |
| 3 | 1 | 1 | 0 | 0 |
| 4 | 3 | 4 | -1 | 1 |
| 5 | 5 | 5 | 0 | 0 |
| 6 | 6 | 6 | 0 | 0 |
计算∑di2 =1+4+0+1+0+0 =6\sum d_{i}^{2}\ =1 + 4+0 + 1+0 + 0 \ = 6∑di2 =1+4+0+1+0+0 =6,n =6n \ = 6n =6。
代入公式可得:
ρ =1−6×663−6 =1−36216−6 =1−36210≈0.83 \begin{align*} \rho&\ =1-\frac{6\times6}{6^{3}-6}\\ &\ =1-\frac{36}{216 - 6}\\ &\ =1-\frac{36}{210}\\ &\approx0.83 \end{align*} ρ =1−63−66×6 =1−216−636 =1−21036≈0.83
结果表明,这666名学生的语文和英语成绩排名有较强的正相关关系。
t检验实例
针对上述例子,假设显著性水平α =0.05\alpha \ = 0.05α =0.05。
- 已知rR≈0.83r_{R} \approx 0.83rR≈0.83,n =6n \ = 6n =6,计算ttt统计量:
t =0.836−21−0.832 =0.83×21−0.6889 =1.660.3111≈2.97 \begin{align*} t&\ =\frac{0.83\sqrt{6 - 2}}{\sqrt{1 - 0.83^{2}}}\\ &\ =\frac{0.83\times2}{\sqrt{1 - 0.6889}}\\ &\ =\frac{1.66}{\sqrt{0.3111}}\\ &\approx2.97 \end{align*} t =1−0.8320.836−2 =1−0.68890.83×2 =0.31111.66≈2.97 - 自由度df =n−2 =6−2 =4df \ = n - 2 \ = 6 - 2 \ = 4df =n−2 =6−2 =4,查ttt分布表得t0.025(4) =2.776t_{0.025}(4)\ = 2.776t0.025(4) =2.776。
- 因为∣2.97∣>2.776\vert 2.97\vert> 2.776∣2.97∣>2.776,所以拒绝原假设H0H_0H0,可以认为在总体中,学生的语文成绩排名和英语成绩排名之间存在等级相关关系。
五、注意事项
- 只反映等级相关:它衡量的是变量等级之间的关联,并非原始数据值之间的精确关系。
- 对单调关系敏感:只能检测单调的相关关系,若变量间关系复杂非单调,可能无法准确反映相关性。
- 样本数量影响:样本数量过少可能导致结果不稳定,一般建议样本量n≥10n\geq 10n≥10 。
- t检验前提:虽然斯皮尔曼等级相关的t检验形式与积差相关类似,但在使用时要注意其基于等级数据的特点,以及样本数据对近似t分布条件的满足程度。当样本量较小时,t检验结果的准确性可能会受到一定影响。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)