brunch

You can make anything
by writing

C.S.Lewis

by 권순목 Jul 28. 2021

3.1 기초 통계 분석 (상)

데이터 과학 미니북 - 3. 데이터 분석

3. 데이터 분석


본 장에서는 다양한 데이터 분석 기법을 살펴봅니다. 우선 기초적인 통계 도구들을 이용하여 데이터의 특징을 살펴보는 방법을 소개하고, 다양한 통계 및 머신 러닝 모델을 이용하여 데이터를 분석하는 단계로 나아갑니다.


모델은 지도 학습 모델과 비지도 학습 모델로 분류할 수 있는데, 이 책에서는 우선 지도 학습 모델들에 대해서 다루고, 비지도 학습 모델들을 소개합니다. 머신 러닝 기술을 사용함에 있어 가장 중요한 부분 중 하나라고 할 수 있는, 모델 평가 기법에 대해서도 한 단원을 따로 편성하여 설명합니다.


3.1 기초 통계 분석


3.1.1 단변량 데이터 분석


통계학에서 가장 유명한 데이터 중 하나로 ‘붓꽃 데이터셋(Iris Data Set)’[1]이라는 것이 있습니다. 이 데이터는 서로 다른 품종의 붓꽃에 대하여 꽃받침과 꽃잎 길이와 너비를 측정한 것으로 다음과 같은 5개 변수로 구성됩니다.


꽃받침 길이(Sepal Length), 수치형 변수, centimeters

꽃받침 너비(Sepal Width), 수치형 변수, centimeters

꽃잎 길이(Petal Length), 수치형 변수, centimeters

꽃잎 너비(Petal Width), 수치형 변수, centimeters

품종(Species), 범주형 변수, 세토사/버시칼라/버지니카


[그림 1]은 세 가지 붓꽃 품종을 보여주고 있습니다.


[그림 1] 붓꽃 품종


단변량 데이터 분석은 변수 하나하나를 개별로 분석하는 것을 말하며, 수치형 변수나 범주형 변수 모두 단변량 분석의 대상이 될 수 있지만, 이 책에서는 수치형 변수에 대한 분석만 다루겠습니다. 수치형 변수에 대한 단변량 분석은 그 분포나 기술 통계량을 살펴보는 것을 의미합니다. 예를 들어 꽃받침 너비(Sepal Width)에 대한 분석은 다음과 같이 수행할 수 있습니다.


평균: 3.057

표준 편차: 0.436

중앙값: 3

분포: [그림 2]


[그림 2] 꽃받침 너비 분포


평균, 표준 편자, 중앙값 같은 데이터에서 바로 계산되어 나오는 통계 값들을 기술 통계량(Descriptive Statistic)이라고 부릅니다. 기술 통계량은 이 외에도 매우 다양하며 최소값, 최대값, 최빈값(가장 자주 나오는 값) 등이 널리 쓰입니다.


평균은 가장 널리 쓰이는 기술 통계량이고 여러 가지 측면에서 데이터의 특징을 가장 잘 반영하는 우수한 지표[2]이나, 약점이 없는 것은 아닙니다. 우선 평균은 값을 개수로 나눠주기 때문에 집단의 크기 차이를 무시합니다. 만 명 집단의 평균값과 10명 집단의 평균값이 동일한 가치로 평가될 수 있다는 이야기입니다. 또한 평균은 소수의 이상치(outlier)에 의해 큰 영향을 받을 수 있습니다. 예를 들어 직원이 10명인 회사에서 9명이 연봉 3천만 원을 받고, 한 명이 연봉 2억을 받으면, 평균 연봉은 4700만 원이 되는데, 이것이 그 회사의 연봉 수치를 대변할 수 있는 값인지는 의문입니다. 이런 경우 중앙값이 대안이 될 수 있습니다. 중앙값은 평균과 비슷하나 이상치에 덜 민감하다는 장점을 가진 통계량입니다. 다만 중앙값도 완벽하지는 않아서, 계산 복잡도가 더 높고, 데이터를 전부 반영하지 못한다는 단점이 있습니다. 기술 통계량은 상황에 따라 알맞은 것을 사용하는 것이 좋습니다. 무엇보다 기술 통계량은 예에서와 같이 데이터 분포 같은 추가 데이터로 보강되어야 합니다.


예에서는 히스토그램(Histogram, 도수분포표)으로 데이터의 분포를 추가 데이터로 보여주고 있습니다. 히스토그램은 뒤에 살펴볼 박스 플롯(Box-plot)과 함께 가장 널리 쓰이는 단변량 변수 분포 시각화 도구이며, 해당 변수에 대한 여러 가지 해석을 가능하게 합니다. 꽃받침 길이 변수의 분포는 전형적인 단봉형(히스토그램 상 봉우리가 하나 있는 형태, Unimodal)으로 볼 수 있으며, 평균, 분산 등의 기술 통계량이 좋은 요약 정보가 되는 데이터라고 할 수 있습니다. 다른 예를 하나 더 보겠습니다. 다음은 꽃잎 길이(Petal Length)에 대한 단변량 분석입니다.


평균: 3.758

표준 편차: 1.765

중앙값: 4.35

분포: [그림 3]


[그림 3] 꽃잎 길이 분포


이 변수의 분포는 앞서 살펴본 것과 많이 다릅니다. 이런 분포를 두봉우리(히스토그램 상 봉우리가 두 개 있는, Bimodal) 형태라고 합니다. 이런 데이터의 경우는 평균, 분산 등의 기술 통계 지표의 의미가 다소 퇴색된다고 할 수 있습니다. 히스토그램에서 보면, 평균 3.7과 유사한 값을 가지는 데이터는 몇 건 되지 않습니다. 또한 히스토그램에서 최빈값은 대략 1.5 정도로 볼 수 있는데, 이 또한 이 데이터를 대표하는 값이라고 보기 어렵습니다. 데이터가 이런 형태인 경우 기술 통계량은 주의해서 사용해야 합니다.


왜 이러한 데이터가 발생하는 것일까요? 전부 그런 것은 아니지만, 서로 다른 특성을 가진 두 개 이상의 집단을 하나로 묶어버린 결과로 이러한 데이터가 나타날 때도 있습니다. 꽃잎 길이 분포 데이터에 품종을 표시해서 다시 그려보면 [그림 4]와 같습니다. 히스토그램에서 막대의 색깔이 붓꽃의 각 품종입니다. 이 그림에서 우리는 꽃잎 길이 분포라는 데이터가 두봉우리형이 된 것은 서로 다른 품종의 데이터를 묶어 놨기 때문이고, 사실 각 품종별로는 모두 단봉형 데이터라는 것을 알 수 있습니다. 이런 경우 기술 통계량도 각 집단별로 따로 계산하여 사용하는 것이 향후 분석에 더 도움이 될 수 있습니다.


[그림 4] 꽃잎 길이 분포 + 품종


3.1.2 다변량 데이터 분석


다변량 데이터 분석이란 측정값 하나에 여러 개 변수가 있을 때, 이 변수들 사이의 연관 관계까지 살피면서 데이터를 분석하는 과정을 일컫는 것으로 매우 다양한 기법들이 있습니다. 이 책에서는 맛보기로 가장 기초적이고 대표적인 다변량 분석이라 할 수 있는 연속형 수치 변수들 사이의 상관 관계 분석만 다루겠습니다.


연속형 변수 두 개가 있을 때, 한 변수가 증가할 때 다른 변수도 같이 증가한다면 양의 상관 관계가 있다고 하며, 한 변수가 증가할 때 다른 변수는 감소한다면 음의 상관 관계가 있다고 합니다. 상관 관계는 상관 계수(Correlation Coefficient)로 계산할 수 있는데, 두 변수 A와 B가 있을 때 상관 관계는 다음과 같은 수식으로 계산됩니다.



σ_AB: A, B 변수 사이의 공분산

σ_A: A 변수의 표준 편차

σ_B: B 변수의 표준 편차


상관 계수는 -1과 1 사이의 값을 가지며, -1에 가까우면 강한 음의 상관관계, 1에 가까우면 강한 양의 상관관계가 있다고 하고, 0에 가까우면 상관 관계가 없다고 합니다. [그림 5]는 꽃받침 길이와 꽃잎 너비 두 변수의 값을 2차원 그래프에 점으로 표시한 것으로, 이러한 도표를 산포도(Scatter-plot)라고 합니다. 이 그림에서는 산포도 위에 추가적으로 직선이 하나 그려져 있는데, 이것은 두 변수의 관계를 나타내는 일종의 추세선입니다. 추세선의 기울기가 양인 것은 두 변수의 상관 관계가 양인 것을 의미합니다. 이 두 변수의 상관 계수는 실제로 0.818로 상당히 강한 양의 상관 관계라고 할 수 있습니다.


[그림 5] 산포도: 꽃받침 길이 x 꽃잎 너비


두 변수의 산포도 모양이 어떠한가에 따라 상관 계수가 결정된다고 할 수 있습니다. [그림 6][3]은 여러 가지 산포도 모양과 그에 따른 상관 계수 값을 보여주고 있으니 참고할 만합니다.


[그림 6] 산포도와 상관 계수


[그림 6]의 세 번째 줄은 전부 상관 계수가 0인 산포도 7개를 보여주고 있는데, 이것은 상관 계수로는 측정되지 않는 두 변수 사이의 모종의 관계가 있을 수 있음을 의미합니다.


보통 상관 관계 분석은 데이터의 모든 연속형 변수에 대하여 수행하며, 그 결과는 다음과 같이 상관 계수를 계산한 표로 나타내기도 하는데, 이런 표를 상관 관계 행렬(Correlation Matrix)이라고 하며, 여러 다변량 분석 모델에서 기초 자료로 사용됩니다.


[표 1] 붓꽃 데이터 변수들의 상관 관계 행렬


다변량에 대한 상관 관계 분석 결과는 [그림 7]과 같이 여러 변수 짝(Pair)의 산포도와 상관 계수를 동시에 나타낸 도표로 표현하기도 합니다. 이러한 표는 데이터 전체가 어떻게 분포되고 어떠한 관계로 엮여 있는지 잘 보여주기 때문에 많은 데이터 과학자들이 애용하는 도표이며, 보통 페어 플롯(Pair-plot)이라고 불립니다.


[그림 7] 붓꽃 데이터 페어 플롯


[그림 7] 페어 플롯에는 우리가 앞서 살펴본 꽃받침 길이(SL)와 꽃잎 너비(PW) 산포도를 포함하여 모든 연속 변수 짝의 산포도 및 상관 계수가 나타나 있습니다.[4] SL, PW 짝은 양의 상관 관계를 가지고, SW, PL 짝은 음의 상관 관계를 가지는 것을 확인할 수 있습니다. 또한 데이터가 전체적으로 변수들 사이에 상관 관계가 높다는 것을 알 수 있습니다. 이것은 향후 모델이 어떤 성능을 내느냐에 중요한 근거로 작용하게 됩니다. 예컨대 변수들 사이에 상관 관계가 높은 데이터는 군집 분석 모델이나 차원 축소 모델의 성능이 높습니다.


상관 관계 분석 결과를 해석함에 있어 주의할 점은 상관 관계는 인과 관계가 아니라는 것입니다. 상관 관계를 통해 A, B 변수가 강한 양의 상관 관계가 있다는 것이 밝혀지면 보통 A값이 B값이 커지는 원인이라는 식의 해석을 내리기 쉬운데, 상관 관계 분석 결과는 그런 논리의 근거가 될 수 없습니다. 그런 논리의 근거는 외부 변인을 모두 통제한 가운데 엄격한 통계적 절차를 거친 실험(Experiment)을 통해서만 얻을 수 있습니다.


상관 관계 분석 결과로 꽃받침 너비(SW), 꽃잎 길이(PL) 변수 사이에는 음의 상관 관계가 있는 것이 확인되었는데요, 이를 두고 “꽃받침 너비가 길어지기 때문에 꽃잎 길이는 짧아진다”라고 하는 것은 실제로 잘못된 결론입니다. 꽃받침 너비와 꽃잎 길이의 상관 관계는 경우에 따라 양의 상관 관계로 볼 수도 있습니다. 아니 이건 또 무슨 소리인가 싶으시면 다음 [그림 8]을 보시면 알 수 있습니다.


[그림 8] 붓꽃 데이터 페어 플롯 + 품종 별 색칠


[그림 8][그림 7]의 산포도를 품종 별로 다른 색깔로 그리고, 상관 계수 또한 품종 별로 따로 계산한 결과입니다. 이 결과에 따르면 꽃받침 너비(SW), 꽃잎 길이(PL) 변수 짝은 양의 상관 관계이고, 따라서 인과 관계에 대한 가정도 양의 관계로 해야 합니다. 여기서 짚고 넘어가야 할 것은, 인과 관계를 함부로 해석하려는 것이 문제이지, 상관 관계 분석 결과 자체에는 아무 문제가 없다는 사실입니다. [그림 7][그림 8]은 모두 올바로 처리된 상관 관계 분석 결과이며, 어떤 목적으로 사용되는가에 따라 각각의 효용이 있습니다.


한 가지만 더 말씀드리고 상관 관계에 대한 이야기를 끝내겠습니다. 앞에서 보았듯이 꽃받침 너비(SW)와 꽃잎 길이(PL)에 대한 해석은 품종을 따로 했느냐 묶어서 했느냐에 따라서 완전히 반대의 결과가 나옵니다. 이런 식으로 서로 다른 특성의 집단을 한데 묶음으로써, 또는 중요한 변수를 분석에서 빠뜨림으로써, 실제와 반대되는 결론을 도출하게 되는 것을 심슨의 역설(Simpson’s Paradox)이라고 합니다. 여기서는 ‘품종’이라는 변수를 고려하지 않고, 꽃받침 너비(SW)와 꽃잎 길이(PL) 사이에 음의 인과 관계가 있다고 결론 내리게 되면 심슨의 역설에 빠지게 되는 것입니다. 심슨의 역설은 그 개념이 발견된 이래 데이터 과학자들에게 함부로 인과 관계를 내리면 안 된다는 것을 계속해서 상기시켜주고 있습니다.



[1] 붓꽃 데이터셋 https://en.wikipedia.org/wiki/Iris_flower_data_set

[2] 평균(Mean)은 여러 가지 분포에 대하여 전역 최소 분산 불편향 추정량(Uniformly Minimum-Variance Unbiased Estimator, UMVUE)이라고 통계 교과서에 나옵니다.

[3] 상관 계수 [그림 6] https://en.wikipedia.org/wiki/Pearson_correlation_coefficient

[4] 그림에서 몇몇 상관 계수는 뒤에 별(*)로 강조되어 있는데, 이것은 R 등 통계학 도구에서 전통적으로 사용되는 중요한 변수를 강조하는 방법입니다. 별이 많을수록 통계적으로 유의미하다는 뜻입니다.


이전 08화 2.3 데이터 엔지니어링
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari