본문 바로가기
Statistics Analysis

Correlation Analysis (Spearman)

by Nowkeeh Ahc

순서형 변수의 상관관계 분석

 순서형 변수의 상관관계 분석은 서열 척도로 이루어진 변수들 간의 상관관계를 검정하기 위한 분석기법이다. 예를 들어 고객들의 구매액 기준 순위와 거래기간 기준 순위는 상관관계가 있을까? 혹은 고객들의 방문 빈도 기준 순위와 구매액 기준 순위는 상관관계가 얼마나 높을까 등과 같은 문제는 순서형 변수의 상관관계 분석 기법을 통해 파악할 수 있다.

 

스피어만 서열 상관계수

 서열척도로 이루어진 변수들의 상관 관계 분석은 주로 Spearman 서열 상관관계 분석을 통해 수행한다. 스피어만 서열 상관계수는 원래의 자료 값 대신에 자료 값들의 순위 (rank)를 이용하여 상관계수를 구하는데, 두 수치형 변수 간의 상관계수는 다음과 같이 주어진다.

 x값들의 순위를 R_{1},...R_{n} 이라고 하고, y 값들의 순위를 S_{1},... S_{n}이라고 하면, 스피어만 서열 상관계수는 다음과 같이 정의된다.

 

 예를들어 (x, y)로 주어지는 자료가 (1.5,10), (2.3,15), (3,13)이라면, x값들 1.5, 2.3, 3에 대한 순위는 1, 2, 3이 되며, y값들 10, 15, 13에 대한 순위는 1, 3, 2가 된다. 따라서, 순위자료 (1,1), (2,3), (3,2)를 이용하여 통상적인 상관계수를 구하면 스피어만의 순위 상관계수가 얻어진다.

 스피어만의 서열 상관계쑤는 피어슨 상관계수와 마찬가지로 -1에서 1 사이의 값을 가지며, 상관계수가 1이면 두 변수의 서열이 완벽히 일치하다는 의미이고 -1 값을 가질 경우 두 변수의 서열이 완전히 반대라는 의미로 해석할 수 있다.

 

실습

 A 기업의 고객들의 객단가가 높은 고객 100명과 방문빈도가 높은 고객 100명을 선별하여 이벤트를 기획하고자 할 때 두 변수를 기준으로 순위를 선정하였을 때 선별된 고객들이 동질적이라면 두 가지 기준으로 고객을 추출하지 않아도 될 것이기 때문에 이를 위해 가설을 다음과 같이 수립해 보았다.

 

서열 척도의 상관관계 분석 과정

 스피어만 상관계수를 이용하면 된다. 객단가 순위와 방문 빈도 매출액의 순위 변수 간에 연관성을 확인하였다.

#1. 모듈 및 데이터 탑재
import pandas as pd
from scipy import stats
df = pd.read_csv('data.csv',sep=',', encoding='CP949')
df1 = df[['객단가','방문빈도']]

#2. 스피어만 상관계수 출력
stats.spearmanr(df1['객단가'],df1['방문빈도'])

 spearmanr() 함수는 파라미터로 수치형 데이터가 올 경우 자동으로 서열 척도로 변환하여 상관계수를 출력한다.

out

 고객들의 객단가와 방문빈도를 서열화한 후 스피어만 서열 상관관계 분석을 실시한 결과 두 변수 간의 상관관계는 -0.498로 확인되었다. 두 서열 변수 간의 상관관계는 존재하지만, 음의 상관관계가 있는 것을 알 수 있다. 방문 빈도가 높은 고객이 오히려 객단가 수준에서는 더 떨어진다는 것을 의미한다.


This post was written based on what I read and studied the book below.

http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9791195511754

댓글