2020-04-18 08:15:56

피어슨 상관계수와 스피어만 상관계수가 이론적으로 무엇인지에 대해서는 이 글에서 자세히 다루진 않겠습니다. 두 상관계수에 대한 이론적인 내용은 이전 글을 참고해주세요. 이 글에서는 파이썬에서 어떻게 두 상관계수를 구할 수 있는지에 초점을 맞추겠습니다. 

 

피어슨 상관계수와 스피어만 상관계수를 구하기 위해서 저는 scipy 패키지의 stats 모듈 내의 pearsonr 함수와 spearmanr 함수를 이용하겠습니다. 각각 10개의 숫자를 담고 있는 1차원 배열을 2개 만든 후에, 두 배열의 상관계수가 얼마인지를 출력해보겠습니다. 

 

 

위 예제에서 알 수 있듯이 pearsonr 함수와 spearmanr 함수는 모두 두 개의 값을 반환해줍니다. 첫번째 반환값은 상관계수이고, 두번째 반환값은 p-value입니다. 

 

두 배열 간의 피어슨 상관계수는 0.959가 나왔고, 스피어만 상관계수는 0.994가 나왔네요. 상관계수값이 +1이면 완벽한 양의 상관관계를 갖는 것이기 때문에 0.959와 0.994도 상당히 강한 양의 상관관계를 나타내는 값들입니다. 

 

 

<참고자료>

[1] https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html, SciPy.org, "scipy.stats.pearsonr"

[2] https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.spearmanr.html, SciPy.ort, "scipy.stats.spearmanr"