Skip to Content
자격증ADsP17. 상관분석

이번 문서의 목표: 두 변수 사이의 관계를 공분산과 상관계수로 수치화하는 방법을 계산 과정까지 직접 손으로 따라가며 이해하고, 피어슨과 스피어만 상관계수를 상황에 맞게 구분하며, 상관과 인과를 혼동하지 않을 수 있다.

두 변수의 관계를 어떻게 숫자로 나타낼까

왜 필요한가

13편에서 다룬 평균·분산은 변수 하나의 특성(중심·퍼짐)을 요약하는 통계량이었다. 하지만 데이터분석에서는 “공부 시간이 늘면 성적도 오르는가?”, “광고비를 늘리면 매출도 느는가?”처럼 변수 둘 사이의 관계를 알고 싶은 경우가 훨씬 많다. 산점도(scatter plot, 두 변수를 x축·y축에 점으로 찍은 그래프)를 그려보면 관계의 대략적인 방향은 눈으로 보이지만, “관계가 얼마나 강한지”를 다른 사람에게 정확히 전달하려면 하나의 숫자로 요약할 방법이 필요하다. 이것이 상관분석(correlation analysis)이다.

쉽게 말하면: 상관분석은 “두 변수가 같이 움직이는 정도”를 하나의 숫자로 요약하는 방법이다.

공분산: 상관계수로 가는 첫 단계

왜 필요한가

두 변수가 함께 움직이는 정도를 재는 가장 원초적인 방법은, 각 변수가 자신의 평균으로부터 얼마나 벗어나 있는지(편차, deviation)를 곱해서 평균 내는 것이다. 이렇게 만든 지표가 공분산(covariance)이다.

쉽게 말하면: 공분산은 “두 변수가 평균보다 큰 쪽/작은 쪽으로 같이 움직이면 양수, 반대로 움직이면 음수”가 되는 지표다.

정의

공분산(covariance, 기호 Cov(X,Y)Cov(X, Y) 또는 SXYS_{XY})은 두 변수 XX, YY의 편차를 곱한 값들의 평균이다.

Cov(X,Y)=i=1n(xixˉ)(yiyˉ)n1Cov(X, Y) = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{n-1}
  • xix_i, yiy_i: ii번째 관측치의 XX, YY
  • xˉ\bar{x} (엑스 바), yˉ\bar{y} (와이 바): XX, YY의 표본평균
  • nn: 관측치 개수
  • n1n-1: 표본에서 분산·공분산을 구할 때 쓰는 자유도(degree of freedom) 보정값 (13편 참고)

공분산의 부호는 직관적으로 해석된다. XX가 평균보다 클 때 YY도 평균보다 크면(둘 다 양의 편차, 곱하면 양수) 공분산이 양수 쪽으로 커지고, XX가 평균보다 클 때 YY는 평균보다 작으면(부호가 반대, 곱하면 음수) 공분산이 음수 쪽으로 커진다.

자주 틀리는 점

자주 틀리는 함정 (45회 기출): “공분산은 단위의 영향을 받지 않고, 상관계수는 단위의 영향을 받는다”처럼 둘의 성질을 뒤바꿔 서술하는 보기가 나온다. 실제로는 반대다. 공분산은 두 변수의 원래 단위(예: cm, kg)를 그대로 곱한 값이라 단위에 따라 크기가 크게 달라진다. 키를 cm 대신 m로 바꾸면 공분산 값 자체가 100분의 1로 줄어들어 버려서, 공분산만으로는 “관계가 얼마나 강한지”를 다른 데이터셋과 비교할 수 없다. 이 문제를 해결하기 위해 표준화한 것이 바로 다음에 다룰 상관계수이며, 상관계수는 단위와 무관하게 항상 -1에서 1 사이의 값을 갖는다.

피어슨 상관계수

왜 필요한가

공분산의 “단위에 의존한다”는 단점을 없애려면, 공분산을 각 변수의 표준편차로 나누어 단위를 지워버리면 된다. 이렇게 표준화한 지표가 피어슨 상관계수(Pearson correlation coefficient)다. 통계에서 “상관계수”라고만 하면 대개 이 피어슨 상관계수를 가리킨다.

쉽게 말하면: 피어슨 상관계수는 공분산에서 단위를 지워버려서, 어떤 데이터든 -1(완벽한 음의 직선 관계)부터 +1(완벽한 양의 직선 관계)까지 같은 잣대로 비교할 수 있게 만든 숫자다.

정의

피어슨 상관계수(기호 rr, 혹은 모집단 기준으로 ρ\rho “로”)는 공분산을 두 변수 표준편차의 곱으로 나눈 값이다.

r=Cov(X,Y)SXSY=i=1n(xixˉ)(yiyˉ)i=1n(xixˉ)2i=1n(yiyˉ)2r = \frac{Cov(X, Y)}{S_X \cdot S_Y} = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2} \cdot \sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}}
  • Cov(X,Y)Cov(X, Y): XXYY의 공분산
  • SXS_X, SYS_Y: XX, YY 각각의 표본표준편차
  • 분모의 두 제곱근 부분: 각 변수의 편차 제곱합의 제곱근(표준편차를 계산하는 과정과 같은 형태)

피어슨 상관계수 rr은 언제나 -1 이상 +1 이하의 값을 갖는다. 이는 수학적으로 코시-슈바르츠 부등식(Cauchy-Schwarz inequality)에서 유도되는 성질이지만, ADsP 수준에서는 “표준화된 지표라서 반드시 이 범위 안에 갇힌다”는 결과만 기억하면 충분하다.

rr의 값해석
+1에 가까움강한 양의 선형 관계 (한 변수가 늘면 다른 변수도 거의 정비례해서 는다)
0에 가까움선형 관계가 거의 없음
-1에 가까움강한 음의 선형 관계 (한 변수가 늘면 다른 변수는 거의 정비례해서 준다)

계산·적용: 편차표로 손수 계산하기

5명의 학생을 대상으로 주간 공부 시간(시간)과 시험 점수(점)를 조사했다고 하자.

학생공부 시간 xix_i시험 점수 yiy_i
A250
B460
C670
D875
E1095

먼저 각 변수의 평균을 구한다.

xˉ=2+4+6+8+105=6\bar{x} = \frac{2+4+6+8+10}{5} = 6 yˉ=50+60+70+75+955=70\bar{y} = \frac{50+60+70+75+95}{5} = 70

이제 각 관측치의 편차 (xixˉ)(x_i - \bar{x}), (yiyˉ)(y_i - \bar{y})와 그 곱, 그리고 각 편차의 제곱을 빠짐없이 표로 정리한다.

학생xixˉx_i - \bar{x}yiyˉy_i - \bar{y}(xixˉ)(yiyˉ)(x_i-\bar{x})(y_i-\bar{y})(xixˉ)2(x_i-\bar{x})^2(yiyˉ)2(y_i-\bar{y})^2
A-4-208016400
B-2-10204100
C00000
D2510425
E42510016625
합계00210401150

편차의 합이 항상 0이 되는 것은 평균의 정의상 당연한 결과이므로, 이 줄이 0으로 맞아떨어지는지 확인하면 중간 계산이 맞았는지 검산할 수 있다.

이제 이 합계 값들을 상관계수 공식에 대입한다.

r=21040×1150r = \frac{210}{\sqrt{40} \times \sqrt{1150}}

406.325\sqrt{40} \approx 6.325이고 115033.912\sqrt{1150} \approx 33.912이므로, 분모는 6.325×33.912214.56.325 \times 33.912 \approx 214.5가 된다.

r=210214.50.979r = \frac{210}{214.5} \approx 0.979

검산: 계산된 r0.979r \approx 0.979는 -1과 1 사이에 잘 들어오는 값이므로 계산이 타당한 범위 안에 있다고 확인할 수 있다(만약 계산 결과가 1.3이나 -2처럼 범위를 벗어났다면, 편차나 제곱합 계산 과정에서 실수가 있었다는 뜻이다).

결과 해석

r0.979r \approx 0.979는 1에 아주 가까운 값이므로, 공부 시간과 시험 점수 사이에 매우 강한 양의 선형 관계가 있다고 해석한다. 즉 이 5명의 데이터에서는 공부 시간이 늘어날수록 시험 점수도 거의 비례해서 늘어나는 경향이 뚜렷하다.

R에서는 이 계산을 cor(x, y) 함수 한 줄로 처리할 수 있다.

x <- c(2, 4, 6, 8, 10) y <- c(50, 60, 70, 75, 95) cor(x, y) # 기본값이 피어슨 상관계수

스피어만 상관계수

왜 필요한가

피어슨 상관계수는 두 가지 전제가 있을 때 잘 작동한다. 첫째, 두 변수가 연속형(수치형) 자료여야 하고, 둘째, 둘 사이의 관계가 직선(선형) 에 가까워야 한다. 그런데 설문조사의 만족도 순위(1위, 2위, 3위, …)처럼 순서만 의미 있는 서열척도 자료이거나, 관계가 곡선이지만 한쪽이 늘면 다른 쪽도 꾸준히 느는(또는 꾸준히 주는) 단조(monotonic) 관계라면 피어슨 상관계수로는 그 관계를 제대로 잡아내지 못한다. 이럴 때 쓰는 것이 순위 기반의 스피어만 상관계수(Spearman correlation coefficient)다.

쉽게 말하면: 스피어만 상관계수는 원래 값 대신 “몇 등인지”라는 순위(rank)로 바꿔서 상관관계를 계산하는 방법이다.

정의

스피어만 상관계수(기호 ρs\rho_s 또는 rsr_s)는 두 변수의 원래 값을 각각 순위로 변환한 뒤, 그 순위에 피어슨 상관계수 공식을 그대로 적용한 값이다. 동점(순위가 같은 관측치)이 없다는 가정 하에서는 다음과 같은 간단한 공식으로도 계산할 수 있다.

ρs=16i=1ndi2n(n21)\rho_s = 1 - \frac{6\sum_{i=1}^{n} d_i^2}{n(n^2-1)}
  • did_i: ii번째 관측치에서 두 변수의 순위 차이(XX의 순위 − YY의 순위)
  • nn: 관측치 개수

피어슨과 스피어만의 차이

두 상관계수를 헷갈려서 서로 바꿔 쓰는 문항이 반복 출제되므로, 아래 표로 명확히 대조해 기억해야 한다.

구분피어슨 상관계수스피어만 상관계수
사용하는 값관측치의 원래 값관측치를 순위(rank)로 바꾼 값
적합한 척도등간척도·비율척도(연속형 수치)서열척도 이상(순위 정보만 있어도 계산 가능)
포착하는 관계직선(선형) 관계단조(monotonic) 관계 — 직선이 아니어도 한 방향으로 꾸준히 증가·감소하면 잡아낸다
이상치(outlier)에 대한 민감도민감함 (극단값 하나가 결과를 크게 흔든다)상대적으로 강건함(robust) — 순위로 바꾸는 과정에서 극단값의 영향이 줄어든다
값의 범위-1 이상 1 이하-1 이상 1 이하

기출에서는 “스피어만 상관분석에 가장 부적절한 척도는 무엇인가”를 묻는 문항이 나온 적이 있는데, 정답은 순서 자체가 없는 명목척도(nominal scale, 성별·혈액형처럼 이름만 구분하는 척도)다. 서열척도·등간척도·비율척도는 모두 순위로 변환할 수 있으므로 스피어만 상관계수 계산이 가능하지만, 명목척도는 “1등, 2등” 같은 순서 개념 자체가 없어서 순위로 바꿀 수 없다.

상관계수의 해석 범위와 주의할 성질

정의

상관계수를 해석할 때 절대적인 기준표는 없지만, 일반적으로 다음과 같은 대략적인 구간을 참고한다(연구 분야마다 조금씩 다르게 쓰이므로 절대적 기준은 아니다).

| r|r|의 범위 | 일반적 해석 | |---|---| | 0.00.2 | 상관관계가 거의 없다 | | 0.20.4 | 약한 상관관계 | | 0.40.6 | 뚜렷한(중간) 상관관계 | | 0.60.8 | 강한 상관관계 | | 0.81.0 | 매우 강한 상관관계 |

상관계수에는 한 가지 중요한 성질이 있다. 두 변수 각각에 상수를 더하거나 양수를 곱해도 상관계수는 변하지 않는다. 예를 들어 XXYY의 상관계수가 0.5일 때, (X+0.3)(X+0.3)(Y+0.2)(Y+0.2)의 상관계수도 그대로 0.5다. 이는 상관계수를 계산하는 과정에서 각 변수가 자신의 평균으로부터의 편차로 바뀌기 때문인데, 모든 관측치에 같은 상수를 더하면 평균도 똑같이 그 상수만큼 늘어나서 편차 자체는 전혀 변하지 않기 때문이다. 반대로 어느 한쪽에만 음수를 곱하면 관계의 방향이 뒤집혀 상관계수의 부호가 반대로 바뀐다(예: (X)(-X)YY의 상관계수는 원래 상관계수에 -1을 곱한 값이 된다).

상관과 인과의 구분

왜 필요한가

상관분석에서 가장 자주, 그리고 가장 치명적으로 저지르는 실수는 “두 변수의 상관계수가 높게 나왔으니 한 변수가 다른 변수의 원인이다”라고 단정하는 것이다. 이 오류를 피하는 것이 상관분석 결과를 올바르게 활용하는 핵심이다.

쉽게 말하면: “같이 움직인다”(상관)와 “한쪽이 다른 쪽을 일으킨다”(인과)는 전혀 다른 이야기다.

정의

상관(correlation)은 두 변수가 통계적으로 함께 움직이는 정도를 나타낼 뿐, 어느 쪽이 원인이고 어느 쪽이 결과인지에 대해서는 아무것도 말해주지 않는다. 인과(causation)는 한 변수의 변화가 실제로 다른 변수의 변화를 일으킨다는, 더 강한 주장이다. 상관관계가 높다고 해서 반드시 인과관계가 있는 것은 아니며, 이를 혼동하는 것을 상관과 인과의 오류(correlation-causation fallacy)라 부른다.

상관관계는 높지만 인과관계가 없는 대표적인 이유는 다음과 같다.

  1. 제3의 변수(교란변수, confounding variable)의 존재: 두 변수 모두에게 영향을 주는 숨은 변수가 따로 있는 경우다. 예를 들어 “아이스크림 판매량”과 “익사 사고 건수”는 여름철에 함께 늘어나 강한 양의 상관을 보이지만, 아이스크림이 익사를 일으키는 것이 아니라 “기온”이라는 제3의 변수가 두 변수 모두를 밀어올리는 것이다.
  2. 우연한 상관(허구적 상관, spurious correlation): 아무 관련이 없는 두 변수가 표본에서 우연히 비슷한 패턴을 보이는 경우다.
  3. 역의 인과관계: 원인과 결과를 반대로 착각하는 경우다. “운동을 많이 하는 사람이 건강하다”는 상관에서, 실제로는 “건강한 사람이라서 운동을 많이 할 체력이 된다”는 반대 방향의 인과가 섞여 있을 수 있다.

자주 틀리는 점

자주 틀리는 함정 (45회 기출): 회귀분석·상관분석 결과에서 유의미한 관계가 확인됐다는 이유만으로 “한 변수가 다른 변수 변동의 원인이라고 단정할 수 있다”는 보기가 오답으로 나온다. 관찰 데이터에서 얻은 상관관계나 회귀계수의 통계적 유의성은 두 변수 사이에 통계적 연관성이 있다는 근거는 되지만, 인과관계를 증명하지는 못한다. 인과관계를 주장하려면 무작위 실험 설계나 별도의 인과추론 방법이 추가로 필요하다.

핵심 정리

  • 공분산은 두 변수의 편차를 곱해 평균 낸 값이지만 단위에 영향을 받아 그 자체로 관계의 강도를 비교하기 어렵다.
  • 피어슨 상관계수는 공분산을 표준편차로 나누어 표준화한 값으로, 항상 -1 이상 1 이하이며 직선(선형) 관계의 강도와 방향을 나타낸다.
  • 스피어만 상관계수는 원래 값 대신 순위를 사용해 단조 관계를 측정하며, 서열척도 자료나 이상치가 있는 자료에 적합하다.
  • 상관계수는 각 변수에 상수를 더하거나 양수를 곱해도 값이 변하지 않지만, 한쪽에 음수를 곱하면 부호가 뒤집힌다.
  • 상관관계가 높다고 해서 인과관계가 성립하는 것은 아니며, 제3의 변수나 우연, 역의 인과 가능성을 항상 함께 검토해야 한다.

마무리 복습

문제 14지선다
공분산과 상관계수의 관계에 대한 설명으로 가장 적절한 것은?
문제 24지선다
어떤 데이터에서 피어슨 상관계수를 계산했더니 1.35라는 값이 나왔다. 가장 적절한 판단은?
문제 34지선다
다음 중 스피어만 상관계수를 사용하기에 가장 적절한 상황은?
문제 44지선다
변수 X와 Y의 피어슨 상관계수가 0.6일 때, (X+5)와 (Y+3)의 상관계수는 얼마인가?
문제 64지선다
아이스크림 판매량과 익사 사고 건수 사이에 강한 양의 상관관계가 나타났다. 이에 대한 가장 적절한 해석은?
문제 54지선다
다음 중 상관계수의 범위와 해석에 대한 설명으로 옳지 않은 것은?

참고 자료

Last updated on