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)
켄달 타우에서 말하는 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
'통계학 기초' 카테고리의 다른 글
베이지안 기초4. 실전 A/B Test 코드 구현하기[Python] (0) | 2022.06.07 |
---|---|
베이지안 기초3. 베이지안을 활용한 A/B Test 예시[Python] (0) | 2022.04.26 |
베이지안 기초2. 베이지안 Classification의 이해 (0) | 2022.04.15 |
베이지안 기초1. 기초 개념 및 예시를 통한 완벽 이해 (0) | 2022.04.07 |
상관관계 분석의 실습 [Python 활용] (0) | 2022.04.01 |