728x90
반응형
스피어만 상관계수(Spearman's Rank Correlation Coefficient
)는 주어진 데이터 쌍 의 순위를 이용하여 상관관계를 계산합니다. 직접 순위를 정하고 차이를 구하여 계산하는 과정은 아래와 같습니다:
예제 데이터는 다음과 같습니다:
각 데이터를 크기 순서대로 정렬하여 순위를 매깁니다.
데이터 (X) | 순위 Rank(X) | 데이터 (Y) | 순위 Rank(Y) |
---|---|---|---|
10 | 1 | 5 | 1 |
20 | 2 | 15 | 2 |
30 | 3 | 25 | 3 |
40 | 4 | 35 | 4 |
50 | 5 | 45 | 5 |
데이터 (X) | 순위 Rank(X) | 데이터 (Y) | 순위 Rank(Y) | 순위 차이 |
|
---|---|---|---|---|---|
10 | 1 | 5 | 1 | 0 | 0 |
20 | 2 | 15 | 2 | 0 | 0 |
30 | 3 | 25 | 3 | 0 | 0 |
40 | 4 | 35 | 4 | 0 | 0 |
50 | 5 | 45 | 5 | 0 | 0 |
이 뜻은 (X)와 (Y)가 완벽한 양의 단조 관계(Monotonic Relationship
) 를 가지며, (X)가 증가할 때 (Y)도 항상 일정하게 증가한다는 것을 의미합니다.
python
import numpy as np
from scipy.stats import spearmanr
# 데이터 예제
x = np.array([10, 20, 30, 40, 50])
y = np.array([5, 15, 25, 35, 45])
# 스피어만 상관계수 계산
correlation, p_value = spearmanr(x, y)
print("스피어만 상관계수:", correlation)
print("p-value:", p_value)
scipy.stats
의spearmanr
함수를 사용합니다.x
와y
는 두 변수에 대한 데이터입니다.- 결과로 스피어만 상관계수(
correlation
)와 p-value를 출력합니다.
728x90
반응형
'Algorithm' 카테고리의 다른 글
효율적인 데이터 탐색을 위한 검색 알고리즘 정리 (0) | 2025.02.16 |
---|---|
벨만-포드 알고리즘(Bellman-Ford Algorithm) (0) | 2025.02.10 |
AVL 트리(tree)를 활용한 삽입, 삭제 및 검색 (0) | 2025.02.03 |
K-평균(K-Means) 군집(Clustering) 알고리즘 (0) | 2025.01.29 |
라빈-카프 알고리즘(Rabin-Karp Algorithm) : 문자열 검색 알고리즘 (String search algorithm) (0) | 2025.01.29 |