본문 바로가기

통계학 기초

상관관계 분석의 기초 정립 [Python 활용]

반응형

 

 

1. 상관관계란? 

 

(1) 개념적 이해

 

상관관계란 두 연속 변수(numeric variable)이 선형 관계에 있는지 분석하는 기법으로 서로 움직이는 방향이 양(+)의 방향인지 혹은 음(-)의 방향인지 판단하는 것이다. 

 

상관관계는 절대로 인과성을 증명하는 것이 아니다. 사회과학에서 인과 관계를 정의할 때는 3가지 조건을 지키는데, 상관관계는 이와는 관련이 없기 때문이다. 

 

사회과학에서 말하는 인과관계 조건은 3가지가 있다. 

첫 번째. 독립변수와 종속변수는 모두 변화가 존재해야 한다는 것 (concomitant variance)

두 번째. 독립변수는 종속변수보다 먼저 변화가 이루어져야 한다는 것 (Time Order)

세 번째. 독립변수와 종속변수 이외에 다른 외생 변수는 변화가 없어야 한다는 것 (Control Extraneous Variables)

 

상관 관계는 증명은 인과성을 증명하지 못 하는 이유가 바로 두 번째와 세 번째에 있다. 두 변수 동시에 변화하거나 수식에서 절대로 변수 간 Time Order를 고려하지 않는다. 또한 두 변수의 변화를 관측하는 것이이지, 외생 변수를 통제하여 결과값에 반영하지 않는다. 따라서 절대로 상관성을 인과성과 혼동하는 일이 없어야 할 것이다. 

 

 

(2) 통계적 정의

상관관계를 통계적으로 정의하면 3가지 관점에서 볼 수 있다. 

 

첫 번째. 두 변수는 선형 관계를 갖는가?

두 번째. 선의 방향은 어떤 방향성을 보이는가? → 음(-) ~ 양(+)

세 번째. 그 관계는 얼마나 강한 기울기를 보이는가 → Correlation Coefficient, -1 ~ 1

 

 

상관관계의 산점도 - 출처: 위키백과

 

 

 

이번 포스트에서는 상관관계를 정의하는 3가지 조건을 어떻게 도출하고, 실무에서 어떻게 활용할 수 있을지에 대해서 실습해보는 것을 목적으로 한다. 

 

 

2. 상관관계 분석의 절차

 

(1) 첫 번째. 정규성 검정(Nomality Test)

 

- 개념적 정의: 정규성 검정이란 두 변수 중 하나의 변수는 정규 분포일 것을 가정

 

1) 정규성 검정에 사용되는 모델

✅ 기본 가설 구성

 - 귀무가설(H0): 변수의 분포는 정규분포를 만족한다. 

 - 대립가설(H1): 변수의 분포는 정규분포를 만족하지 않는다. 

 

정규성 검정에서는 회귀분석과 다르게 대립가설이 기각되고, 귀무가설이 채택되어야 정규성을 만족하는 것이다. 예를 들면, 한 변수의 모델 검증 결과 P-value가 0.05 이하가 나왔다면 그 변수는 정규분포를 따르지 않는 것이다. 따라서 결과해석에 유의할 필요가 있다. 

 

✅ N < 5000이라면? Shapiro-Wilk 정규성 검정 실시

1
2
3
import stats as st
 
st.shaprio(data.variable)
cs

 

 

✅ N ≥ 5000이라면? Anderson-Darling 정규성 검정 실시

1
2
3
import stats as st
 
st.anderson(data.variable, dist = 'norm')
cs

 

 

※ 참고자료

 

실제로 정규성을 모두 만족하는 변수를 실무에서 찾기는 정말 쉽지 않다. 그래서 종종 두 변수가 integer or float이면서 어느 정도 정규성을 보이고, 선형관계가 뚜렷하다면 Peason Correlation Test를 진행하기도 한다. 이것은 실무용 Tip이고 연구 논문에는 적절치 않은 방법이니 참고만하길 바란다. 

 

 

(2) 두 번째. 모델의 선택

 

1) 정규성 만족시 실시하는 모델 - Pearson Correlation Test

 

피어슨 상관계수의 정의 - 출처: 위키백과

 

피어슨 상관계수는 모수적 방법(Parametic method)의 대표적 모델 중에 하나다. 데이터는 백터로 이루어져 있기 때문에 한 번의 계산으로 나오는 숫자는 점 추정치에 불과하다. 따라서 그 계수가 통계적 모델이 있는지 검증해야 한다. 이를 검증하기 위해서는 상관성 계수의 표준 오차(Standard Error, SE)를 계산하여 t-검정통계값을 산출해야 한다. 표준 오차란 통계값이 반복 추출에서 갖는 편차를 나타내는 통계값의 표준편차로 Bootstrap 분석의 기법 중 하나이다. (사실 P-value를 산출하는 모든 모델에서 사용되는 개념이라고 볼 수 있다.)

 



표준오차 산출 식

t-검정통계값

출처: http://strata.uga.edu/8370/lecturenotes/correlation.html

 

 

 

 

2) 정규성 비충족시 사용하는 모델 - Kendall Rank Correlation Test & Spearman Correlation Test

 

두 모델은 비모수적 방법(Non-parametic method)으로 사용하는 모델이다. 해당 모델들에 대해서 간단히 더 알아보자. 

 

2-1) 스피어만 상관계수

스피어만 상관계수 - 출처

스피어만 상관계수는 두 변수가 정규 분포를 따르지 않거나, 순위척도(ordinal scale)인 경우 사용할 수 있다는 장점이 있다. 이러한 변수의 특징 때문에 두 변수간 선형관계를 전제하지 않고, 위의 수식에서 알 수 있다시피 두 변수가 같은 방향으로 움직이는지 판단하는데 중점을 두는 모델이다. 따라서 수치를 해석할 때 이점을 유의해야 한다.

 

 

 

 

2-2) 켄달타우 상관계수 (Kendall Rank Correlation Test)

Kendall Rank Correlation Definition - 출처

 

켄달 타우에서 말하는 Concordant 여부는 두 변수 Scale 상 상하관계가 일치하는가를 나타낸다. 예를 들어 상하관계가 같다면 Concordant Pairs라고 부르고, 그 반대의 경우라면 Discordant Pairs라고 부른다. 예를 들면, 키와 몸무게가 같이 간다면 두 변수는 Concordant라고 부른다. 근데 이 경우 키와 몸무게를 정수가 아닌 순위로 분류하게 된다면 피어슨보다 켄달타우가 더 효과적인 모델일 수 있다는 것이다. 반대로 몸무게와 달리기 속도를 순위로 나타내는데, 상식적으로 두 변수는 반대로 움직이기 때문에 discordant pairs라고 보는 것이다. 

 

Concordant Pairs의 예시 - 키와 몸무게의 순위

항목(순위) 사람A 사람B 사람C
1 2 3
몸무게 1 2 3

 

 

Discordant Pairs의 예시 - 몸무게와 달리기의 순위

항목(순위) 사람A 사람B 사람C
몸무게 1 2 3
달리기 3 2 1

 

 

 

 

3. 다음 단계 - 실제 데이터를 활용한 상관관계 분석 Report 작성

 

 

활용 예정 데이터셋은 Wine Quality를 활용한 데이터셋이다. 다음 Posting에서는 이를 활용하여 3가지 모델을 활용해보고자 한다. 

 

https://www.kaggle.com/datasets/yasserh/wine-quality-dataset?select=WineQT.csv 

 

Wine Quality Dataset

Wine Quality Prediction - Classification Prediction

www.kaggle.com

 

반응형