본문 바로가기
C.W.K.
Stream
Lesson 02 of 06 · published

분포가 실제로 뭐야?

~11 min · distribution, histogram, pmf, pdf, foundations

Level 0통계 초심자
0 XP0/55 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete
"분포는 놀람의 레시피야. 값 하나를 뽑았을 때 가능한 답 각각에 대해 얼마나 놀라야 하는지 알려주거든."

이 단어, 생각보다 큰 의미가 있어

통계 교과서에서 'X의 분포'라고 말할 때, 그건 단순히 값들의 리스트를 뜻하는 게 아니야. 각 값이 얼마나 자주 일어나는지(이산형 X) 또는 값이 얼마나 빽빽하게 모여 있는지(연속형 X)를 묘사하는 완전한 규칙집이야. 분포는 변수의 전체 확률적 자서전이라고 할 수 있어. 평균과 분산은 그 요약본이고, 분포 자체가 전체 이야기야.

두 가지 맛

이산형: 변수가 셀 수 있는 값을 가져. 동전을 10번 던졌을 때 앞면의 수, 한 시간 동안 가게에 들어온 손님 수 같은 거지. 가능한 각 값마다 확률이 있어. 이런 모음을 확률 질량 함수(PMF)라고 불러. 모든 확률의 합은 1이야.

연속형: 변수가 연속적인 범위에서 값을 가져. 사람 키, 내일의 주가 같은 거야. 개별 값 하나하나의 확률은 사실상 0이야 (키는 무한히 세분화될 수 있으니까). 대신 확률을 가지는 건 '범위'야. 이때 밀도를 묘사하는 함수가 확률 밀도 함수(PDF)고, PDF 아래의 면적을 적분하면 1이 돼.

이산형이든 연속형이든 규칙은 같아: 분포는 가능성의 범위에 확률이 어떻게 퍼져 있는지 묘사해.

히스토그램은 경험적 분포야

데이터 그래프에서 흔히 보는 히스토그램은 기저 분포의 유한한 샘플을 통해 근사한 거야. 관측값을 빈(bin)으로 묶고, 각 빈에 몇 개가 들어가는지 세어서 막대 높이로 실제 PMF나 PDF를 추정하는 거지. 샘플이 충분하면 히스토그램은 진짜 분포로 수렴해. 하지만 샘플이 적으면 거짓말을 할 수도 있어.

그 수렴 과정 자체가 '큰 수의 법칙'이고, 다음 트랙에서 그걸로 종 모양을 유도할 거야. 히스토그램에서 분포로 넘어가는 사고방식이 일반인이 추상적인 아이디어에 처음 접하는 지점이야. 대부분은 거기서 멈추지만, 이번 퀘스트의 핵심은 막대그래프 너머의 '분포 자체'를 이해했을 때 무엇을 할 수 있는지야.

'분포'라는 단어를 건너뛸 수 없는 이유

기저 분포를 모르는 요약 통계(평균, 중앙값, 분산)는 엽서 크기의 사진과 같아. 같은 평균이라도 정규분포, 멱법칙, 이봉분포, 긴 꼬리 분포에서 모두 나타날 수 있어. 어떤 모양이 그 평균을 만들었느냐에 따라 내리는 결정은 완전히 달라져. 요약 통계만으로 판단하는 사람은 엽서 한 장으로 세상을 보는 것과 같아.

앞으로 어디로 가는지

다음 세 레슨에서 일반인에게 중요한 세 가지 모양을 소개할 거야: 정규분포(레슨 3), 비대칭 분포(레슨 4), 멱법칙(레슨 5). 그리고 마지막 레슨(6)에서는 '두꺼운 꼬리' 가족을 소개하며 트랙 07의 예고편을 보여줄 거야. 그 후 트랙 03에서 왜 정규분포가 그렇게 자주 나오는지 설명하고, 트랙 07에서는 어디서 정규분포를 가정하면 조용히 망하는지 알려줄게.

Code

다른 세 모양, 같은 평균·python
import numpy as np
rng = np.random.default_rng(5)

# 매우 다른 세 분포에서의 세 샘플, 다 평균 ~100.
N = 10_000
normal_like   = rng.normal(loc=100, scale=15, size=N)
bimodal       = np.concatenate([rng.normal(70, 5, N // 2), rng.normal(130, 5, N // 2)])
power_law     = (rng.pareto(a=1.5, size=N) + 1) * 30   # 두꺼운 꼬리, 평균 ~100

for name, x in [("normal-like", normal_like), ("bimodal", bimodal), ("power-law", power_law)]:
    print(f"{name:>12s}: 평균={x.mean():6.1f}  중앙값={np.median(x):6.1f}  "
          f"std={x.std():6.1f}  max={x.max():7.1f}")

# 셋 다 평균이 100 근처. 평균만으로는 어느 모양이 만들었는지 아무것도 못 알아.
# 중앙값, std, max 가 모양을 조금씩 드러내기 시작해.
# 히스토그램 그림이 전체 이야기를 알려줘.
# 요점: 요약은 엽서. 분포가 사진.

External links

Exercise

본인 인생에서 숫자 세 가지를 골라봐 (예: 월 식비, 월 지하철 탑승 횟수, 월 딥워크 시간). 각각 손으로 분포 모양이 어떨지 대략적으로 그려봐(히스토그램 형태). 그리고 각각에 대해 한 문장으로 답해봐: 한 달 평균이 '전형적인 한 달'을 대표할 수 있을까, 아니면 중앙값이 더 정직할까? 공식이 나오기 전에 먼저 모양들 사이의 차이를 느껴보는 거야.
Hint
비슷한 작은 사건들이 반복되는 횟수(지하철 탑승)는 루틴 주변에서 대략 정규분포에 가까워. 지출은 오른쪽으로 치우친 비대칭 분포(가끔 큰 외식)가 될 가능성이 커. 딥워크 시간은 좋은 주와 나쁜 주로 나뉘어 이봉분포가 될 수도 있어.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고
💛 by 똘이warm

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.