brunch

09. 추론통계 (4)

✨ 추론통계의 세 가지 원리 & Data 실습 [1편]

by HyehwaYim






Intro: 추론통계의 중요한 토대


안녕하세요? 지금까지 우리는 데이터를 있는 그대로 바라보고 해석하는 기술통계, 그리고 수집한 표본을 토대로 모집단의 특성을 추정하고 예측하는 추론통계를 배우고 있습니다. 앞선 두 단원에서는 "미리 보는 HR Analytics Strategies"라는 주제로, HR 데이터 분석 전략과 관련한 기초 지식과 대표적인 통계 검정 방법 10가지를 정리했었습니다. 이 주제와 관련한 2개의 편은 추론통계를 단계적으로 학습하기 전에 HR 데이터 분석의 다양한 방법론을 미리 소개하는 시간이었습니다.


오늘은 추론통계의 중요한 토대를 자세하게 살펴보고자 합니다. 추론통계(Inferential Statistics)는 표본으로부터 모집단의 특성을 추정하고 예측하는 과정으로서, 현재 갖고 있는 데이터 그 너머의 세계를 탐색하는 것과 같습니다. 그런데 이러한 추론이 성립하려면, 반드시 세 가지의 통계적인 약속이 전제되어야 합니다.


추론통계는 단순히 "표본으로부터 전체를 짐작한다."라는 식의 직관만으로 완성되지 않습니다. 그 근거는 통계학적으로 엄밀하게 보장되어야 하며, 이를 보장하는 역할을 하는 것이 중심극한정리, 체비셰프 부등식, 정규분포입니다.


중심극한정리(Central Limit Theorem, CLT)란 표본의 크기가 충분히 크면, 표본평균의 분포는 정규분포에 근사한다는 것입니다. 체비셰프 부등식(Chebyshev's Inequality)은 데이터의 분포 형태를 모르더라도, 평균으로부터 일정 거리 이내에 존재할 확률을 하한으로서 보장한다는 것입니다. 정규분포(Normal Distribution)는 통계학의 기본 틀로서 대부분의 자연, 사회적인 현상이 따르는 확률 분포를 말합니다.


이 세 가지 전제는 서로 긴밀하게 연결되어 있습니다. 체비셰프 부등식은 모든 분포에서 적용이 가능한 최소 보장의 원칙을 제공하고, 중심극한정리는 표본이 커질수록 정규분포로 수렴한다는 것을 설명합니다. 마지막으로 정규분포는 그 두 가지의 원리를 실질적인 계산과 검정의 틀로 실현하고 있습니다.


즉, 체비셰프 부등식은 이론적인 안정망, 중심극한정리는 표본의 안정적인 수렴 근거, 정규분포는 실제 추정 및 검정의 수학적인 기반을 담당하고 있습니다. 이제부터 이 세 가지 원리를 순서대로 살펴보겠습니다. "표본이 어떻게 모집단을 대표할 수 있는가?"라는 추론통계의 논리적 근거를 구체적으로 이해해 보도록 하겠습니다.



01. 중심극한정리(Central LImit Theorem, CLT)


추론통계의 가장 근본이 되는 원리는 중심극한정리입니다. 이 정리는 "표본이 충분히 크면, 표본평균의 분포는 정규분포에 가까워진다."는 사실을 수학적으로 증명했습니다. 즉, 데이터가 원래 어떠한 분포를 가지고 있든 간에, 표본평균의 분포는 일정한 조건 아래에서 정규분포 형태로 수렴한다는 것입니다.


(1) 의미

중심극한정리_의미.png


중심극한정리란, 모집단에서 크기가 n인 표본을 무작위로 여러 번 추출하여 각 표본의 평균을 계산한다고 할 때, 이렇게 얻은 표본평균들의 분포가 점차 정규분포로 근사한다는 이론입니다. 즉, 표본의 크기 n이 커질수록 표준오차는 작아지고, 그만큼 표본평균이 모집단의 평균에 더 근접하게 분포된다는 뜻입니다. 따라서 표본의 크기가 클수록 더 안정적인 추정이 가능해집니다.


(2) 직관적인 이해


중심극한정리를 시각적으로 떠올려 봅시다. 예를 들어, 회사 전체 직원 2,000명의 평균 연봉 μ를 알고 싶지만, 모든 직원을 전수 조사할 수 없는 상황이기에 50명씩 무작위로 뽑아서 평균을 계산한다고 가정합시다. 이 과정을 수백 번 반복하게 되면, 각 표본평균이 하나의 분포를 형성하게 됩니다. 그 결과, 표본평균의 분포는 점차 종 모양의 정규분포 형태로 수렴합니다. 이는 실제 데이터의 모양(왜도가 있거나 꼬리가 길어도)과 상관없이 나타나는 현상입니다. 결국, CLT는 "부분의 평균은 전체의 평균으로 수렴한다."라는 통계학적인 보증서와 같다고 할 수 있습니다. 위 식에서 표준오차(SE)는 σ/√n 이므로, 표본이 두 배로 커지면, 오차는 √2배 줄어듭니다. 즉, 표본의 크기가 커질수록 모집단 평균을 더 정밀하게 추정할 수 있게 되는 것입니다.


(3) 표본의 크기


그렇다면, "표본의 크기"는 얼마나 커야 중심극한정리가 나타날까요? 일반적으로 표본의 크기가 30개 이상이면, 중심극한정리가 실질적으로 성립한다고 봅니다. 이 기준은 경험적으로 정해진 것으로, 데이터의 분포가 지나치게 왜곡되지 않았다면 n이 30만 넘어도 표본평균의 분포는 충분히 정규분포에 가깝게 됩니다. 즉, 30개 이상의 표본이면 정규분포에 근사한다는 가정이 가능하다는 것이 CLT의 실무적인 활용 기준입니다.


02. 체비셰프 부등식(Chebyshev's Inequality)


중심극한정리는 "표본이 충분히 크면 정규분포에 가까워진다."라는 사실을 알려줬지만, 현실의 데이터는 항상 정규분포를 따르지 않습니다. 때로는 분포가 비대칭이거나, 꼬리가 길거나, 극단값이 많이 존재하기도 합니다.


그렇다면 데이터의 분포 형태를 전혀 모를 때, 평균으로부터 얼만 떨어진 값들이 어느 정도 비율로 존재하는지를 예측할 수 있는 방법이 없을까요? 이를 가능하게 하는 개념이 바로 체비셰프의 부등식입니다.


(1) 개념


체비셰프 부등식은 모든 확률분포에 적용이 가능한 원리입니다. 여기서 그 원리란 데이터가 어떠한 모양의 분포를 가지든 관계없이, 평균으로부터 일정한 거리(k배의 표준편차, σ) 이내에 포함될 확률을 수학적으로 보장한다는 것입니다. 체비셰프 부등식을 두 가지 수식으로 표현하면 다음과 같습니다.


체비셰프부등식_수식모두포함.png


첫 번째 수식은 다음과 같습니다.

P(|X − μ| ≥ kσ) ≤ 1/k²

이는 "확률변수 X가 평균 μ로부터 k배 이상의 표준편차만큼 벗어날 확률은 최대 1/k² 이하"임을 뜻합니다.


이를 반대로 정리하면 두 번째 수식과 같습니다.

P(|X − μ| < kσ) ≥ 1−1/k²

즉, 확률변수 X가 평균으로부터 ±kσ 이내에 존재할 확률은 최소 (1−1/k²) 이상이라는 의미입니다. 이 공식은 데이터의 분포를 전혀 모르는 경우에도, 평균 주변에 일정 비율 이상의 데이터가 포함되어 있음을 보장합니다.


만약에 k=2라면, 어떻게 될까요? 즉, 어떠한 확률변숫값이 평균으로부터 ±2 표준편차 안에 포함될 확률은 75%가 되는 것이고, ±2 표준편차 밖에 있을 확률은 25%가 되는 것입니다.


정규분포라면 실제로는 약 95% 안에 들어가지만, 체비셰프 부등식은 어떠한 확률변수에 대한 데이터 분포에서 꼬리 쪽이 아무리 두껍다고 하더라도(즉, 데이터가 평균 주변에 몰려 있지 않고, 좌우 양쪽 끝으로 많이 퍼져 있는 경우라도) 최소한 75%는 보장해 줄 수 있다는 보호막인 셈입니다.


(2) 데이터 실습으로 체비셰프 부등식 이해하기(Excel)


체비셰프 부등식을 직관적으로 이해하기 위해 200명의 연봉 데이터를 활용해 보겠습니다. 아래는 그 일부를 캡처한 자료입니다. Engineering, Sales, Operation 부서에 속해 있는 직원들의 연봉액(원)을 나타냅니다. E열에 있는 <Z_score>, F열과 G열에 있는 <PDF>, <CDF>는 다음에 있을 정규분포에 대한 설명을 위해 미리 계산한 값입니다.

체비셰프부등식샘플.png


체비셰프 부등식을 활용하기 위한 첫 번째 단계는 표본의 평균과 표준편차를 구하는 것입니다. Excel을 통해 평균과 표준편차를 구해보겠습니다. 우선 평균은 [=average(D3:D202)]를 적용합니다. 이렇게 계산한 평균 연봉은 56,345,400원입니다. 다음으로 표준편차는 [=stdev.s(D3:D202)]를 적용합니다. 이렇게 계산한 연봉 데이터의 표준편차는 8,709,911원입니다. 이 데이터는 실제 모집단의 일부를 대표한다고 가정합니다.


이제 표준편차의 배수인 k값을 2로 설정하여, [평균±2 표준편차]를 계산해 보겠습니다. 우선, [평균+2 표준편차]는 [=56,345,400+(2*8,701,909)=73,749,238원]입니다. 그리고 [평균-2 표준편차]는 [=56,345,400-(2*8,701,909)=38,941,562원]입니다.


전체 연봉 데이터 200개 중에서 38,941,562원 이상부터 73,749,238원 이하인 데이터의 개수를 구해보겠습니다. Excel에서 [=countifs(D3:D202,">=38,941,562",D3:D202,"<=73,749,238")]을 적용하면, 190개가 나옵니다. 즉, 전체의 95.0%가 [평균±2 표준편차] 범위 안에 포함되는 것입니다. 동시에 이 연봉 데이터 분포가 정규분포에 근사하고 있음을 보여주는 결과이기도 합니다.


체비셰프 부등식 자체는 특정한 분포 형태를 전제로 하지 않습니다. 즉, 정규분포가 아니더라도 모든 분포에서 평균으로부터 ±2 표준편차 범위 안에는 최소한 75% 이상의 데이터가 포함된다는 것을 수학적으로 보장하고 있을 뿐입니다. 따라서 체비셰프 부등식은 정규성이 확인되지 않은 데이터라도 최소한의 신뢰 가능한 데이터 범위를 제시할 수 있는 중요한 개념이라고 할 수 있습니다. 반면, 정규분포를 따를 경우 이 비율이 약 95%로 더 높아집니다.


03. 정규분포(The Normal Distribution)


정규분포는 평균을 중심으로 좌우가 대칭인 종(Bell) 모양을 나타냅니다. 정규분포는 데이터가 평균 주변에 몰려 있고, 평균에서 멀어질수록 급격하게 줄어드는 경향을 반영합니다. 사람의 키, 지능지수, 연봉, 조직문화 만족도, 생산성 수치, 시험 점수 등 우리가 접하게 되는 다양한 변수들이 이러한 패턴을 따릅니다. 통계학의 거의 모든 기반에는 정규분포가 있고, 자연현상과 사회현상의 대부분이 이러한 형태로 나타납니다.


(1) 정규분포의 구조


정규분포는 평균(μ)을 중심으로 좌우 대칭이며, 표준편차(σ)에 의해 폭과 형태가 결정됩니다. 즉, 평균과 표준편차는 아래의 의미를 갖고 있습니다.


μ: 데이터 분포의 중심(데이터의 평균 위치)

σ: 데이터 분포의 퍼짐 정도(데이터의 흩어짐)


평균이 커지면, 분포의 전체가 오른쪽으로 이동하고, 표준편차가 커지면 종 모양의 폭이 넓어집니다. 반대로 표준편차가 작아지면, 중앙에 더 뾰족하게 몰리게 됩니다.


(2) 데이터 표준화 및 표준정규분포

:: Standardization & Standard Normal Distribution


현실의 데이터는 단위와 범위가 제각각입니다. 예를 들어 시험 점수의 경우 100점을 만점으로, 연봉의 경우 만 원 단위로, 근속연수는 연 단위로 표시가 됩니다. 이처럼 서로 다른 단위(Scale)의 데이터를 비교하려면, 단위를 없애고, 공통된 기준으로 변환해야 합니다. 이때 사용하는 방법이 표준화(Standardization)입니다.


데이터를 표준화하면, Z-점수(Z-score)로 변환됩니다. Z값은 다음의 식으로 계산합니다.


Z = (X − μ) / σ

X는 개별 관측값,

μ는 평균,

σ는 표준편차입니다.


즉, Z값은 개별 데이터가 평균으로부터 몇 표준편차만큼 떨어져 있는가를 나타냅니다. Z가 0이면, 평균과 같고, Z가 1이면 평균보다 1 표준편차 높은 위치에 있습니다.


이렇게 Z값으로 변환된 데이터의 분포를 표준정규분포(Standard Normal Distribution)라고 합니다. 이때, 평균은 0이고, 표준편차는 1로 통일됩니다.


Z ~ N(0, 1)


이 변환을 통해 서로 다른 데이터라도 동일한 기준에서 비교할 수 있게 됩니다.


예를 들어 한국에 있는 어느 고등학교의 남학생 키를 조사하기 위해, 100명의 표본을 추출한 결과, 평균이 170cm[μ]였고, 표준편차가 6cm[σ]였다고 가정해 봅시다. 이러한 평균과 표준편차를 토대로 이 고등학교 남학생 키에 대한 데이터를 표준화하는 작업을 해 봅시다. 우선 평균과 동일하게 170cm인 데이터의 Z값은 0이 됩니다. 다음으로 176cm인 데이터의 경우 [Z=(176-170)/6=1]이 됩니다. 즉, Z=1인 데이터는 평균보다 1 표준편차 높은 키를 의미하는 것입니다.


또 다른 예로, 연봉이 7,000만 원인 직원의 Z값이 +1.5라면, 그 직원의 연봉은 평균보다 1.5 표준편차 높은 위치에 있다는 것을 의미합니다. 반대로 Z값이 -1이라면, 평균보다 1 표준편차 낮은 위치에 있는 것입니다. 이러한 표준화는 HR 데이터 분석에서 유용하게 활용될 수 있습니다. 여러 부서의 성과 점수를 비교한다거나 평가 결과의 상대적인 위치를 해석할 때, Z값은 객관적인 공통의 척도를 제공할 수 있습니다.


(3) 정규분포의 경험칙 [68-95-99.7 Rule]


정규분포의경험칙.png


정규분포의 중요한 특징 중 하나는 평균을 중심으로 표준편차의 단위만 알아도 모집단이 대부분 어느 구간에 있을지 예측할 수 있다는 점입니다. 위 그림을 살펴보면 직관적으로 이해할 수 있습니다. 즉, [μ±1σ] 까지는 확률 면적이 68.2%, [μ±2σ] 까지는 확률 면적이 95.4%, [μ±3σ] 까지는 확률 면적이 99.7%입니다.


예를 들어, 평균이 5,600만 원이고, σ=800만 원이라면, [μ±1σ]은 4,800~6,400만 원입니다. 이 구간에는 모집단 데이터의 약 68.2%가 포함되어 있습니다. 그리고 [μ±2σ]라면, 4,000~7,200만 원입니다. 이 구간에서 모집단 데이터의 약 95.4%가 포함되어 있다는 뜻입니다.


(4) 정규분포를 읽는 두 가지: PDF와 CDF


정규분포는 우리가 수집한 표본을 바탕으로 언뜻 불규칙하게 보이는 데이터 분포의 패턴을 발견하기 위해 평균과 표준편차라는 개념을 이용하여 데이터를 표준화하는 과정입니다. 이러한 Z-분포를 만들기 위해서는 Z값을 도출해야 하며, 지금까지 Z값을 도출하는 방법을 살펴보았습니다.


Z값을 도출하게 되면, 우리는 정규분포의 두 가지 핵심 축을 이해하게 됩니다. 하나는 확률밀도함수(Probability Density Function, PDF)이고, 다른 하나는 누적분포함수(Cumulative Distribution Function, CDF)입니다.


확률밀도함수(PDF)는 특정한 Z값의 근처에 데이터가 얼마나 밀집되어 있는지를 나타냅니다. 평균(μ)의 부근에서 PDF 값이 가장 높고, ±2σ 이상으로 떨어질수록 급격하게 낮아집니다. 누적분포함수(CDF)는 특정한 Z값 이하에 포함된 데이터의 비율(면적)을 의미합니다. Z값이 커질수록 CDF는 0에서 1로 증가합니다.


즉, PDF는 "특정 지점의 높이(밀도)", CDF는 "특정 지점까지의 누적된 비율(면적)"을 의미합니다.


✨ HR 데이터를 통한 정규분포 실습(Excel)

정규분포실습2.png


위 Table은 직원 200명의 연봉 데이터 각각에 대해서 Z값, PDF, CDF를 구한 것으로, 일부 데이터를 캡처한 자료입니다.


[Z_score]는 200명의 연봉 데이터에 대하여 평균과 표준편차를 구한 다음, 개별 연봉 데이터에 대응하여 계산한 값입니다. 평균은 average 함수를 적용하여 56,345,400원으로 계산되었고, 표준편차는 stdev.s 함수를 적용하여 8,701,909원으로 계산되었습니다. 평균과 표준편차를 구했으니, 각 개인의 연봉을 표준화하는 과정을 몇 가지 예로 살펴보겠습니다.


[E091] 직원의 경우 연봉이 55,630,000원입니다. 따라서 Z값은 다음과 같습니다.

Z_E091=(55,630,000-56,345,400)/8,701,909=(-)0.0822XX....

[E098] 직원의 경우 연봉이 56,370,000원입니다. 따라서 Z값은 다음과 같습니다.

Z_E098=(56,370,000-56,345,400)/8,701,909=(+)0.0028XX....


두 직원의 연봉은 모두 평균으로부터 ±1 표준편차 이내의 값입니다.


[PDF] 값은 개별 연봉에 대응하는 Z값에 대하여, [norm.s.dist(z,false)] 함수를 적용합니다. 위 Table을 보면, 개별 연봉 값들이 모두 평균 주변에 몰려 있는 값들로 PDF 값이 대부분 0.38~0.39의 구간을 형성합니다. 지금 이 표에는 보이지 않지만, 실제 연봉 데이터에서 평균과의 편차가 큰 값들은 이보다 훨씬 낮은 값들을 형성하고 있음을 확인할 수 있을 겁니다.


예를 들어 평균±2 표준편차 범위의 값들인 경우에는, PDF 값이 0.11~0.12 구간을 형성하고 있습니다. 개별 연봉 값에 대응하는 PDF 값을 구하였다면, [Salary] 열과 [PDF] 열 지정한 후, [Chart]에서 [분산형]을 선택하면, 다음과 같이 PDF 분포를 도출할 수 있습니다.


PDF.png

[CDF] 값은 개별 연봉에 대응하는 Z값에 대하여, [norm.s.dist(z,true)] 함수를 적용합니다. 위 Table을 보면, 개별 연봉 값들이 커질수록 CDF 값이 커지는 경향을 볼 수 있습니다. 앞서 다뤘던 것처럼, CDF는 정규분포에서 왼쪽부터 해당 Z값까지의 확률(면적)을 의미합니다.


따라서 개별 연봉 값들이 커질수록 Z값이 오른쪽으로 위치하게 될 것이고, 이에 해당 Z값까지 포함된 데이터의 비율이 높아질 수밖에 없습니다. 아래는 CDF에 대한 직관적인 이해를 돕기 위해 개별 연봉인 [Salary] 열과 [CDF] 열을 지정한 후, [Chart]에서 [분산형]을 선택하였을 때 도출되는 분포입니다.


CDF_제대로.png










keyword