斯皮尔曼等级相关系数衡量变量间的单调关系,是非参数统计方法。

定义

其中 是两变量等级之差。

与Pearson的区别

特性PearsonSpearman
关系类型线性单调
分布假设正态分布
异常值敏感

计算步骤

  1. 将数据转换为等级(排名)
  2. 计算等级差的平方和
  3. 代入公式计算

Python 实现

from scipy import stats
import numpy as np
 
x = np.array([1, 2, 3, 4, 5])
y = np.array([5, 6, 7, 8, 7])
rho, p_value = stats.spearmanr(x, y)

应用场景

  • 非线性但单调的关系
  • 有异常值的数据
  • 有序分类变量相关性
  • 特征选择