TL;DR

  • Spearman 순위상관계수는 두 변수의 원값을 순위로 바꾼 뒤 계산하는 상관계수다.
  • 선형 관계가 아니라 단조 관계를 측정하므로, 값의 간격보다 순서가 중요한 데이터나 비선형 단조 관계에 적합하다.

Spearman 순위상관계수

Spearman 순위상관계수 또는 는 두 변수의 원값 자체가 아니라 각 관측치의 순위(rank) 를 비교한다. 계산 관점에서는 를 각각 순위 변수 , 로 변환한 뒤, 그 순위들에 Pearson 상관계수를 적용한 것이다.

동점이 없는 경우에는 두 순위 차이 를 이용해 다음 식으로 계산할 수 있다.

여기서 번째 관측치에서 순위와 순위의 차이다. 동점이 있으면 평균 순위 등을 사용한 뒤, 일반적인 “순위에 대한 Pearson” 공식으로 계산하는 편이 안전하다.


무엇을 측정하는가

Spearman은 두 변수 사이의 단조성(monotonicity) 을 측정한다. 단조 관계란 한 변수가 증가할 때 다른 변수가 대체로 한 방향으로만 움직이는 관계다.

  • 양의 단조 관계: 가 커질수록 도 커지는 경향
  • 음의 단조 관계: 가 커질수록 는 작아지는 경향
  • 비단조 관계: 증가했다가 감소하거나, 감소했다가 증가하는 등 방향이 바뀌는 관계

단조 관계는 반드시 직선일 필요가 없다. 로그, 지수, 포화 곡선처럼 원값 기준으로는 비선형이어도 순위가 일관되게 보존되면 Spearman 값은 높게 나올 수 있다.


해석

Spearman 범위에 있다.

의미
완전한 양의 단조 관계. 두 변수의 순위가 동일
양의 단조 관계
순위 기준 단조 관계 없음
음의 단조 관계
완전한 음의 단조 관계. 한쪽 순위가 다른 쪽 순위의 역순

Spearman은 값의 간격을 버리고 순서만 사용한다. 따라서 “얼마나 많이 증가했는가”보다 “더 큰 값이 더 큰 순위로 유지되는가”를 묻는 지표다.


언제 적합한가

Spearman 순위상관계수는 다음 상황에서 유용하다.

  • 변수 중 하나 이상이 순서형(ordinal) 데이터다.
  • 관계가 선형이라기보다 단조적이라고 보는 것이 자연스럽다.
  • 원값의 스케일, 단위, 비선형 변환보다 상대적 순위가 더 중요하다.
  • 이상치가 Pearson 값을 과도하게 흔들 가능성이 있다.
  • 정규성 가정이 약하거나, 분포 모양이 상관 해석의 핵심이 아니다.

예를 들어 모델 평가에서 자동 평가 점수와 사람 평가 점수의 순위 일관성을 보고 싶다면 Spearman이 자연스럽다. 반대로 두 점수의 원값 차이와 선형 비례 관계가 중요하다면 Pearson 상관계수가 더 직접적이다.


한계와 주의점

비단조 관계는 포착하지 못한다

U자형 관계처럼 명확한 구조가 있어도 증가 방향과 감소 방향이 섞이면 Spearman 값은 낮을 수 있다. Spearman은 “관계가 있는가” 전체가 아니라 “순위가 한 방향으로 보존되는가”를 본다.

크기 정보가 사라진다

순위 변환은 값 사이의 간격을 제거한다. 은 순위만 보면 같은 구조다. 따라서 실제 거리나 차이의 크기가 중요한 문제에서는 Spearman만으로 부족하다.

동점이 많으면 해석이 약해진다

값이 많이 묶이는 이산 점수나 Likert 척도에서는 동점 순위가 많아진다. 동점 처리는 구현체가 평균 순위 등을 사용해 보정하지만, 순위 정보 자체가 줄어들기 때문에 계수의 분해능이 낮아질 수 있다.

작은 표본의 p-value는 조심해야 한다

Spearman의 계수 자체는 비모수적이지만, p-value 근사는 표본 수에 민감하다. SciPy 문서는 큰 표본에서는 p-value가 더 정확하고, 작은 표본에서는 permutation test를 고려하라고 안내한다.


구현

from scipy import stats
 
res = stats.spearmanr(x, y)
print(res.statistic, res.pvalue)

scipy.stats.spearmanr는 Spearman 순위상관계수와 “순위 상관이 없다”는 귀무가설에 대한 p-value를 반환한다. 입력이 상수 배열이면 순위 변동이 없으므로 상관계수가 정의되지 않는다.


Connections

  • Pearson 상관계수 — Spearman은 순위 변수에 Pearson을 적용한 특수한 상관계수로 볼 수 있다.
  • [[Pearson vs Spearman 상관계수]] — 선형 관계와 단조 관계 중 무엇을 측정할지 결정하는 비교 노트 후보.
  • [[상관계수]] — 두 변수 간 연관성의 방향과 강도를 요약하는 상위 개념 후보.
  • BERTScore — 자동 평가 지표와 사람 평가의 순위 일관성을 볼 때 Spearman을 사용할 수 있다.