Python에서 spearman 순위 상관 관계를 계산하는 방법
통계에서 상관관계는 두 변수 사이의 관계의 강도와 방향을 나타냅니다. 상관 계수 값의 범위는 -1에서 1까지이며 다음과 같이 해석됩니다.
- -1: 두 변수 사이의 완벽한 음의 관계
- 0: 두 변수 사이에 관계가 없습니다.
- 1: 두 변수 사이의 완벽한 양의 관계
특별한 유형의 상관 관계를 Spearman 순위 상관 이라고 하며, 이는 두 순위 변수 간의 상관 관계를 측정하는 데 사용됩니다. (예를 들어, 수업 내 과학 시험 점수 대비 학생의 수학 시험 점수 순위)
이 튜토리얼에서는 Python에서 두 변수 간의 Spearman 순위 상관 관계를 계산하는 방법을 설명합니다.
예: Python의 Spearman 순위 상관 관계
특정 수업에 속한 10명의 학생의 수학 시험 점수와 과학 시험 점수를 포함하는 다음과 같은 pandas DataFrame이 있다고 가정합니다 .
import pandas as pd #createDataFrame df = pd. DataFrame ({'student': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], 'math': [70, 78, 90, 87, 84, 86, 91, 74, 83, 85], 'science': [90, 94, 79, 86, 84, 83, 88, 92, 76, 75]})
수학과 과학 점수 사이의 Spearman Rank 상관 관계를 계산하려면 scipy.stats 에서 Spearmanr() 함수를 사용할 수 있습니다.
from scipy. stats import spearmanr
#calculate Spearman Rank correlation and corresponding p-value
rho, p = spearmanr(df[' math '], df[' science '])
#print Spearman rank correlation and p-value
print (rho)
-0.41818181818181815
print (p)
0.22911284098281892
결과에서 Spearman 순위 상관관계는 -0.41818 이고 해당 p-값은 0.22911 임을 알 수 있습니다.
이는 과학과 수학 시험 점수 사이에 음의 상관관계가 있음을 나타냅니다.
그러나 상관관계의 p-값은 0.05 이상이므로 통계적으로 유의한 상관관계는 없습니다.
다음 구문을 사용하여 상관 계수 또는 p-값을 간단히 추출할 수도 있습니다.
#extract Spearman Rank correlation coefficient
spearmanr(df[' math '], df[' science '])[0]
-0.41818181818181815
#extract p-value of Spearman Rank correlation coefficient
spearmanr(df[' math '], df[' science '])[1]
0.22911284098281892
추가 리소스
R에서 Spearman 순위 상관 관계를 계산하는 방법
Excel에서 Spearman 순위 상관관계를 계산하는 방법
Stata에서 Spearman 순위 상관 관계를 계산하는 방법