데이터의 분포와 해석

PDF, CDF, 정규분포와 표준정규분포

by Yimhyehwa



1. Learning Focus


지금까지 우리는 데이터를 이해하는 가장 기초적인 도구들을 차근차근 쌓아왔습니다. 모집단과 표본의 차이를 구분했고, 평균과 중앙값과 같은 데이터의 중심 경향을 측정하는 방법을 통해 "Data Set의 중심(가운데)"를 읽는 법을 배웠습니다. 또한 분산과 표준편차를 통해 데이터가 얼마나 흩어져 있는지를 구체적으로 파악하는 방법도 익혔습니다. 특히 표본 분산을 계산할 때 왜 굳이 n-1로 나누어야 하는지, 즉 불편추정량이 필요한 이유까지 확인하였습니다.


이 모든 학습 과정은 "데이터 포인트의 한 점, 한 점이 어떻게 움직이는가?"를 이해하기 위한 기본기를 다지는 일이었습니다. 하지만 실제 분석에서는 단일한 평균이나 표준편차만으로 충분하지 않습니다. 우리가 정말 알고 싶은 것은 조금 다른 데 있을 겁니다. 앞의 단원에서 예로 들었던 "A회사의 직원 40명에 대한 출근 소요시간 Data Set"을 생각해보면 '출근 소요시간이 40분 이상 걸릴 확률은 어느 정도일까?', '대분의 직원은 어느 구간대에 출근 시간이 몰려 있을까?', '직원의 출근 소요시간 데이터를 볼 때, 전형적인 패턴이 존재하는가?'와 같은 질문들입니다.


이제부터는 데이터를 하나의 값이 아니라, 하나의 패턴이라고 할 수 있는 분포(Distribution)로 바라보는 관점이 필요합니다. 이 단원에서는 직장인의 출근 소요시간 데이터를 가지고 데이터의 분포를 어떻게 읽고 해석해야 할 것인지를 다루겠습니다. 우리는 먼저 데이터를 연속적인 곡선으로 바라보게 해주는 확률밀도함수(PDF)의 개념을 이해할 것입니다. 그리고 특정 시점(구간)까지 누적된 확률을 의미하는 누적분포함수(CDF)로 시야를 확장할 것입니다. 마지막으로 실제 많은 자연·사회 현상을 설명하는 데 핵심적인 정규분포와 표준정규분포로 연결하여 데이터 분석의 중요한 틀을 완성해 보겠습니다. 희망하건대, 이 단원을 통해 "데이터가 말하고자 하는 전체 그림"을 그리고 읽는 능력이 길러지는 시간이 되었으면 좋겠습니다.


2. Data Set: A회사 직원들의 출근 소요시간


앞서 다뤘던 A회사의 직원 40명에 대한 Data Set을 다시 살펴보겠습니다. 40개의 데이터는 아래와 같이 흩어져 있습니다.


[ A회사의 Data Set: 직원들의 출근 소요시간 ]


image.png


[ Data Description & Box Plot ]


이 Data Set에 대해서 통계 프로그램(Jamovi)을 이용하여 분석한 결과를 정리하면 다음과 같습니다.


image.png


위 그림과 같이 직원들의 출근 소요시간은 24~55분(Minimum & Maximum)이고, 평균은 37.6분, 중앙값은 37.0분, 그리고 분산과 표준편차는 각각 52.99, 7.37분입니다. 평균이 중앙값보다 조금 높게 나타나는 것으로 볼 때, 이 데이터를 작은 값부터 큰 값의 순으로 정렬한 분포를 추정해 본다면, "왼쪽으로 데이터가 치우치고, 오른쪽으로 꼬리가 길게 형성되어 있는 형태"를 보일 수 있습니다. 참고로, 데이터를 좌우로 나눴을 때 어느 쪽에 치우쳐 있는지를 측정하는 통계 개념을 '왜도'(Skewness)라고 합니다. 이 왜도의 값이 0에 가까울수록 정규분포와 같이 좌우 대칭에 가깝습니다. 실제 이 Data Set의 왜도 값은 0.33 정도로 나오는데, 보통 왜도 값이 ±2 이내이면 '정규분포에 가깝다'고 판단합니다. 따라서 이 Data Set의 분포는 정규분포에 근사한다고 볼 수 있습니다.


오른쪽 그림은 전체 데이터를 크기 순으로 정렬하여 상자 (수염)그림(Box Plot)을 도출한 결과입니다. 사분위수 3(Q3)은 42.25, 사분위수 1(Q1)은 32.0으로, IQR은 10.3입니다. 따라서 이 데이터의 중간 50%의 범위는 [32 ~ 42.25 ]입니다.


3. 확률밀도함수(PDF)와 누적분포함수(CDF)


[ 개념의 이해 ]


image.png


Data Set에 기초적인 분석을 마쳤으니, 이제 확률밀도함수와 누적분포함수의 개념을 알아보겠습니다. 먼저 확률밀도함수(PDF, Probability Density Function)입니다. 확률밀도함수란, "데이터 분포의 밀도에 관한 측정값"입니다. 즉, "값이 얼마나 자주 등장하는가?"(어느 데이터 포인트에서 가장 많이 몰려 있는가?)를 보여주는 값입니다.


위 그림의 왼쪽을 보면 마트 입구를 기준으로 사람들이 줄을 서 있는 모습을 그래프로 보여주고 있습니다. 여기서 그래프는 꼬리와 봉우리로 구분이 되는데, 마트 입구 앞쪽에 있는 공간에서는 사람들이 듬성듬성 간격을 두고 서 있기 때문에 꼬리 부분을 차지하고 있습니다. 반면, 입구 뒷쪽의 중앙 구간에 있는 공간에서는 사람들이 비교적 빽빽하게 몰려 있기 때문에 봉우리를 이루고 있습니다.


따라서 PDF는 "데이터의 분포를 꼬리와 봉우리로 시각화하여 데이터의 밀도가 높은 구간과 그렇지 않은 구간"을 보여줍니다. PDF의 그래프를 이해할 때 유의할 점은 '한 점에서의 높이'가 밀도를 의미할 뿐, 그것이 확률을 의미하는 것은 아니란 점입니다. 왜냐하면, 확률은 '면적'(막대그래프의 높이와 특정 구간의 가로폭을 곱한 값)을 계산해야 하기 때문에 특정 지점에서의 PDF가 높다고 하여 그 값 자체가 확률이 되는 것이 아니기 때문입니다.


반면 누적분포함수(CDF, Cumulative Distribution Function)"데이터 분포에서 누적된 확률을 측정하는 값"입니다. CDF를 간단히 정의하면 "F(x)=P(X≤x)"입니다. 즉, 어떠한 값을 기준으로 그 값보다 작거나 같은 데이터가 차지하는 비율을 의미하며, "데이터 포인트 x까지의 확률을 모두 더한 것"을 나타냅니다. 위 그림의 오른쪽을 보면 가장 작은 키의 사람부터 가장 큰 키의 사람이 왼쪽에서 오른쪽으로 정렬되어 있습니다.


가장 키가 작은 사람을 첫 번째 데이터라고 하면, 이보다 작은 데이터가 없습니다. 이를 CDF로 옮겨 보면, 왼쪽 아래에서 0 근처에서 시작할 것입니다. 그리고 가장 키가 큰 사람을 마지막 데이터라고 하면, 모든 데이터가 그보다 작거나 같을 것이므로 CDF로 옮길 경우 오른쪽 마지막 부분에서 1(100%)에 가까워집니다. 이러한 원리를 고려할 때, 모든 CDF는 왼쪽에서 0 근처, 오른쪽에서 1근처이고, 중앙값 근처에서 가장 가파르게 나타날 것이므로 결국 CDF는 전체적으로 S자 모양(S-shape)을 갖게 됩니다.


PDF의 모양과 CDF의 모양을 연결하여 보면, PDF가 높은 지점에서는 데이터의 밀도가 높다는 뜻이고, 이는 데이터가 빠른 속도로 쌓여 Peak를 달성하는 구간이기 때문에 CDF의 경사도 가파른 형태로 나타납니다. 이렇게 CDF의 경사가 가장 가파르게 나타나는 곳이 평균 부근입니다. 반면, 데이터 포인트가 낮은 구간이나 높은 구간에서는 데이터의 밀도가 낮기 때문에 데이터가 쌓이는 속도도 낮아져 CDF의 경사가 완만해집니다.


[ A회사의 데이터 분포: PDF & CDF ]


image.png


위 그래프는 A회사의 40개 데이터를 Excel에서 한 열에 옮긴 후, [norm.dist(x,mean,stdev.p,false)] 함수를 적용하여 확률밀도함수(PDF)를 시각화하였고, [norm.dist(x,mean,stdev.p,true)] 함수를 적용하요 누적분포함수(CDF)를 시각화한 것입니다.


PDF 그래프를 보면, A회사의 직원들의 출근 소요시간은 36~37분 구간대에 가장 몰려 있음을 알 수 있습니다. 그리고 전체 출근 소요시간의 범위가 오른쪽으로 다소 긴 꼬리를 보이고 있어, 극단적으로 높은 값들(52~55분)이 일부 있음을 알 수 있습니다.


한편, CDF 그래프를 통해 우리는 특정 지점 이하의 데이터 비율(확률)을 찾을 수 있습니다. 예를 들어, 출근 소요시간 데이터에서 37분 이하 범위에서 데이터 비율은 약 48%, 그리고 40분 이하 범위에서 데이터 비율은 약 62%를 차지하고 있습니다. 참고로 이 데이터 분포는 Data Set을 정규분포라고 가정하고, S자 곡선을 도출한 상태에서 CDF 값을 계산한 것입니다. 따라서 실제 값은 달리 나올 수 있습니다(예를 들어, 이 40개의 데이터에서 중앙값에 해당하는 37분 이하의 데이터는 40개 중 21개로 전체 대비 52.5%입니다. 그리고 40분 이하의 데이터는 40개 중 26개로 전체 대비 65%를 차지하고 있습니다).


4. 정규분포와 표준정규분포


[ 개념의 이해 ]


우리가 앞서 다룬 직장인들의 출근 소요시간에 관한 데이터처럼 현실의 많은 데이터는 평균 주변에 몰리고, 양쪽 끝의 데이터는 적어지는 분포를 갖고 있습니다. 키(Height), 시험 점수, 제조 공정의 오차, 조직의 업무 소요시간 평균, 고객 만족도 점수의 평균 데이터 등이 대표적인 예입니다. 이러한 모양을 수학적으로 가장 잘 설명하는 분포가 바로 정규분포(The normal distribution)입니다. 정규분포는 좌우가 대칭인 종 모양(Bell-shape)을 갖고 있습니다. 정규분포가 중요한 이유는 ① 자연·사회·일반 비즈니스 현상이 이 모양을 많이 따르고 있다는 점, ② 평균과 표준편차만 알면 전체 곡선을 만들 수 있다는 점, ③ 신뢰구간, t-test, 회귀 분석과 같은 통계적 추론이 정규성을 가정하고 있다는 점입니다.


정규분포가 원재료라면 표준정규분포(The standard normal distribution)는 규격화된 제품이라고 할 수 있습니다. 표준정규분포는 서로 다른 정규분포를 가진 데이터들을 동일한 잣대로 비교하기 위해 '표준화'를 통해 하나로 통일한 분포라고 할 수 있습니다. 여기서 표준화란 모든 정규분포를 '동일한 기준의 척도'로 바꾸는 작업으로, 표준화 공식은 [z=(x-μ)/σ]입니다. 이를 통해 표준정규분포는 무조건 평균이 0, 표준편차가 1인 정규분포가 됩니다.


간단한 예로 [160, 165, 170, 175, 180]의 Data Set이 있다고 가정해 보겠습니다. 이 Data Set의 평균은 170이고, 표준편차는 약 7.07입니다. 이 Data Set에 대해서 표준화 공식을 적용하면 다음과 같습니다.


160 변환: (160-170)÷7.07=(-)1.414

165 변환: (165-170)÷7.07=(-)0.707

170 변환: (170-170)÷7.07=0

175 변환: (175-170)÷7.07=0.707

180 변환: (180-170)÷7.07=1.414


이렇게 모든 데이터를 변환하면 새로운 Data Set인 [-1.414, -0.707, 0, 0.707, -1.414]가 나옵니다. 이렇게 변환된 결과물로서의 데이터를 'z값(z-score)'라고 하며, 이 결과물들에 대한 평균과 표준편차를 계산하면 평균이 0, 표준편차가 1이 나옵니다.


[ 표준편차에 따른 종 모양의 변화 ]


image.png https://www.scribbr.com/statistics/standard-deviation/


정규분포에서 표준편차는 종의 '뚱뚱함' 또는 '홀쭉함'을 결정하는 수치입니다. 위 그래프는 세 직군 그룹에 대한 직무 만족도 점수의 분포를 보여주고 있는데, 평균이 같더라도 표준편차가 다르면 그래프의 모양이 확연히 달라진다는 것을 보여주고 있습니다. 위 그림에서 표준편차가 작을수록 데이터가 평균 근처에서 아주 촘촘하게 모여 있으며, 그래프는 위로 뾰족하고 홀쭉한 모양을 띠고 있습니다. 반면, 표준편차가 클수록 데이터가 평균에서 멀리까지 넓게 퍼져 있으며, 그래프는 옆으로 퍼진 완만한 산 모양을 띠고 있습니다.


[ 정규분포의 대원칙: 68-95-99.7% Rule ]


image.png


데이터의 산포(1) 편에서 데이터의 분포가 정규분포를 따른다면, 평균±1 표준편차의 범위에서 전체 데이터의 68%가 포함된다는 경험칙을 소개한 바가 있습니다. 이를 좀 더 확장하면 평균±2 표준편차 범위에서는 전체 데이터의 95.4%, 그리고 평균±3 표준편차 범위에서는 전체 데이터의 99.7%를 포함하게 됩니다. 이러한 통계학의 경험칙을 [68-95-99.7% Rule]이라고 합니다.


우리가 예로 든 직장인의 출근 소요시간에 대한 Data Set을 살펴볼까요? 평균은 37.6이고, 표준편차는 7.3이었습니다. 따라서 평균±1 표준편차는 [30.3 44.9] 범위입니다. 전체 40개 데이터 중 30.3 이하의 데이터 비율은 18%, 44.9 이하의 데이터 비율은 83%입니다. 따라서 [30.3 44.9] 범위에 있는 데이터 비율은 65%(=83%-18%)입니다.


평균±2 표준편차는 [23 52.2] 범위입니다. 전체 40개 데이터 중 23 이하의 데이터 비율은 0%, 52.2 이하의 데이터 비율은 95%입니다. 따라서 [23 52.2] 범위에 있는 데이터 비율은 98%(=98%-0%)입니다. 평균±3 표준편차의 경우 [15.7 59.5] 범위입니다. 여기서 59.5 이하에 모든 데이터가 포함되므로, 따로 계산할 필요가 없이 해당 범위에 있는 데이터 비율은 100%가 됩니다.







월, 화, 수, 목, 금, 토, 일 연재