편 상관관계 분석
특정 변수의 영향을 제거한 상태에서 두 변수 간의 순수한 상관관계를 파악하기 위해서는 편 상관관계 분석이라는 기법을 사용해야 한다.
편 (부분) 상관계수
특정 두 변수의 순수한 상관관계를 확인하고자 할 때 이 두 가지 변수에 영향을 미칠 수 있는 제3의 변수를 통제하거나 효과를 제거한 후 특정 두 변수의 순수한 상관관계를 파악하기 위한 분석기법이다. 예를 들면, 고객들의 객단가와 만족도가 0.8 이상의 매우 높은 상관관계가 있다고 하더라도, 이 두 가지 변수의 상관관계에 방문 횟수가 영향을 미친다고 판단될 경우, 방문 횟수를 통제한 상태에서 객단가와 만족도에 대한 순수한 상관관계를 파악해보아야 한다.
이론적으로 편 상관계수는 제 3의변수 (z)를 통제해야 하기 때문에 분석하고자 하는 두 변수 x, y 각각 z에 의해 선형적으로 설명되는 부분을 제거하고 남은 잔차들 간의 상관계수를 구해야 한다. 즉, x를 종속변수로 하고 z를 독립변수로 하는 단순 회귀분석에서의 잔차와, y를 종속변수로 하고 z를 독립변수로 하는 단순 회귀분석에서의 잔차를 구한 후, 이 두 잔차들 간의 상관계수를 구하면 두 변수 x, y 사이의 편 상관계수가 된다. 그러나, 편 상관계수는 편의상 아래와 같이 두 변수들 간의 상관계수를 이용하여 단순히 구할 수 있다.
실습
앞선 Correlation Analysis (Pearson) 실습에서 총 구매금액과 방문빈도, 구매 카테고리 수 간에 유의한 상관관계를 가지고 있고, 특히 구매금액과 방문 빈도는 매우 높은 상관관계가 있다는 것을 알았다. 그러나 구매금액과 방문 빈도 간의 상관관계는 구매 카테고리 수에 의해 영향을 받을 수도 있어 구매 카테고리 수를 통제한 상태에서 매출액과 방문 빈도 간의 순수한 상관관계를 파악해볼 필요음에 다음과 같이 가설을 수립해보았다.
편 상관관계 분석 과정
편 상관관계 분석의 경우도 피어슨 상관계수를 이용하면 된다. 총 구매금액과 방문빈도 간의 상관관계가 구매 카테고리 수에 의해 영향을 받는지 연관성을 확인해 봐야 한다.
#1. 모듈 및 데이터 탑재
import pandas as pd
from pingouin import partial_corr
df = pd.read_csv('data.csv',sep=',', encoding='CP949')
df1 = df[['총_구매금액','방문빈도','구매_카테고리_수']]
#2. 편 상관계수 출력
partial_corr(data=df1, x='총_구매금액', y='방문빈도', covar='구매_카테고리_수')
piggouin 패키지는 Pandas와 Numpy를 기반으로 한 다양한 통계 기능을 제공하는 패키지로 상관분석, 분산분석, 베이즈 분석, 회귀 분석 등을 지원한다.
n은 데이터 개수, r은 상관계수, CI95%는 신뢰구간, p-val는 p-value를 의미한다.
편 상관관계 분석결과 구매 카테고리 수를 통제한 상태에서 총 구매금액과 방문 빈도 간의 상관계수는 0.583로 도출되었다. 따라서 총 구매금액과 방문 빈도 간의 상관관계는 여전히 유의하다고 볼 수 있으나, 구매 카테고리 수를 통제하지 않은 상태에서의 총 구매금액과 방문 빈도와의 상관계수인 0.631보다는 약해졌다고 볼 수 있다.
따라서 방문빈도가 고객들의 총 구매금액에 많은 영향을 주는 변수임에는 분명하지만 고객들의 구매 다양성을 나타내는 구매 카테고리 수를 전혀 고려하지 않는다면 방문빈도와 매출액 간의 관계는 생각보다 크지 않다고 해석할 수 있다.
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
댓글