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 순위 상관 관계를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다