확률질량함수(PMF), 확률밀도함수(PDF), 누적분포함수(CDF)
확률분포를 다룰 때, 자주 헷갈리는 두 개념이 바로 확률질량함수(PMF)와 확률밀도함수(PDF)입니다.
두 개념은 비슷해 보이지만 이산형 변수와 연속형 변수를 구분하여 사용해야 하며, 의미와 사용 방법도 크게 다릅니다.
핵심 차이 요약
항목 | 확률질량함수 (PMF) | 확률밀도함수 (PDF) |
---|---|---|
적용 대상 | 이산 확률 변수 | 연속 확률 변수 |
예시 | 주사위, 동전, 학생 수 | 키, 몸무게, 시간 |
정의 | 특정 값 $x$가 나올 확률을 직접 계산 | 특정 구간 $(a \le X \le b)$에 속할 확률을 계산 |
수식 | $P(X = x)$ | $P(a \le X \le b) = \int_a^b f(x)dx$ |
특징 | 각 값의 확률을 더하면 1 | 전체 면적(적분값)이 1 |
그래프 형태 | 막대 그래프 (discrete bars) | 연속 곡선 (smooth curve) |
- 모두 "확률 분포"를 나타내는 함수인데, 다루는 자료의 종류(이산형 vs 연속형)에 따라 다르게 사용된다.
💡 더 쉽게 이해하기
- PMF (확률질량함수)
- PMF는 말 그대로 "어떤 값이 나올 확률"을 직접 알려줍니다.
- 예: 주사위에서 3이 나올 확률은 P(X = 3) = 1/6
- PDF(확률밀도함수)
- PDF는 특정한 정확한 값의 확률은 0이고, 대신 구간의 확률을 면적으로 계산합니다.
- 예: 어떤 사람의 키가 정확히 175.000000cm일 확률 = 0
- 하지만 174.5cm ~ 175.5cm 사이일 확률은 ∫₁₇₄.₅¹⁷⁵.₅ f(x) dx
확률질량함수(PMF) - 주사위 던지기 예시
- 확률 변수 $X$: 주사위를 던졌을 때 나오는 눈의 수
- 가능한 값: $1, 2, 3, 4, 5, 6$ (이산형)
- 각 값의 확률: $P(X = x) = \frac{1}{6}$
수식 표현
$$
P(X = x) =
\begin{cases}
\frac{1}{6}, & x \in {1, 2, 3, 4, 5, 6} \\
0, & \text{otherwise}
\end{cases}
$$
Python 시각화
위 그래프는 주사위를 던지는 경우를 나타냅니다.
주사위 눈이 나올 수 있는 경우는 각 1부터 6까지가 있고, 각 확률은 $1/6$ 입니다.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5, 6]
prob = [1/6] * 6
plt.bar(x, prob, color='skyblue')
plt.title("PMF: dice")
plt.xlabel("x")
plt.ylabel("P(X = x)")
plt.ylim(0, 0.2)
plt.grid(axis='y', linestyle='--', alpha=0.5)
plt.show()
확률밀도함수(PDF)
확률밀도함수(PDF)는 연속 확률 변수의 분포를 설명하는 함수로,
특정 값이 나올 확률의 밀도를 나타냅니다.
연속형 변수에서는 어떤 한 값을 정확하게 맞출 확률은 항상 0입니다.
하지만, 구간을 지정하면 그 안에 포함될 확률은 존재합니다.
즉, f(x)는 그 지점에서의 "확률의 진하기"라고 볼 수 있습니다.
PDF의 성질
- $f(x) \ge 0$ (모든 x에 대해 음수가 될 수 없음)
- 전체 면적은 1
- $f(x)$는 확률이 아니라 확률 밀도입니다.
→ 따라서 $f(x)$가 2, 3 등 1보다 커질 수도 있습니다.
대한민국 성인 남성의 키 예시(PDF)
- 확률 변수 $X$: 대한민국 성인 남성의 키 (cm)
- 평균 (μ): 173cm
- 표준편차 (σ): 5cm
- 분포: 정규분포 $N(173, 5^2)$
의미
- $f(x)$는 x 근처에서 키가 나올 확률의 밀도를 나타냄
- $P(X = 173) = 0$ → 한 점의 확률은 0
- $P(170 \le X \le 175)$ → 이 구간에 들어올 확률은 존재
Python 시각화
- 파란색 선이 PDF: f(x) 를 나타냅니다.
- f(x)는 해당 x구간에서 얼마나 밀도가 몰려있는지를 나타냅니다.
⚠️ 주의: $f(x)$는 확률이 아님
$f(173) = 0.0798$이라면
173cm에서의 확률 밀도는 0.0798이지만,
정확히 173cm일 확률은 0입니다.
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# 평균과 표준편차
mu = 173
sigma = 5
# x 값: 150cm ~ 195cm
x = np.linspace(150, 195, 1000)
pdf = norm.pdf(x, loc=mu, scale=sigma)
plt.figure(figsize=(10, 5))
plt.plot(x, pdf, color='blue', label='PDF')
plt.fill_between(x, pdf, alpha=0.2)
plt.axvline(mu, color='red', linestyle='--', label='평균 키 173cm')
plt.title("대한민국 성인 남성 키의 확률밀도함수 (PDF)")
plt.xlabel("키 (cm)")
plt.ylabel("밀도 f(x)")
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()
누적분포함수(CDF)란?
누적분포함수(Cumulative Distribution Function, CDF)는
확률변수 $X$가 특정 값 $x$ 이하일 확률을 나타내는 함수입니다.
$$
F(x) = P(X \le x)
$$
예시
PDF 에서 사용한 대한민국 남성의 키 분포를 그대로 사용하겠습니다.
$F(175) = 0.755$ 이라면 → X가 175 이하일 확률이 75.5%
CDF와 PDF의 관계
CDF는 PDF를 적분한 함수입니다.
$$F(x) = \int_{-\infty}^{x} f(t), dt$$
반대로,
PDF는 CDF를 미분한 함수입니다.
$$f(x) = \dfrac{d}{dx} F(x)$$
즉, PDF는 순간적인 변화량,
CDF는 확률이 누적되어 쌓인 총합 개념입니다.
실생활 예시: 대한민국 성인 남성의 키
- 평균: 173cm
- 표준편차: 5cm
- 분포: 정규분포 $N(173, 5^2)$
Python으로 PDF vs CDF 시각화
파란색 선이 PDF(밀도) 고 초록 선이 CDF(누적) 입니다.
PDF 는 순간적인 밀도의 진한 정도를 나타내고,
CDF는 쌓인 누적 확률입니다.
그래서, PDF를 적분하면 CDF, CDF를 미분하면 PDF가 됩니다.
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# 평균과 표준편차
mu = 173
sigma = 5
x = np.linspace(150, 195, 1000)
pdf = norm.pdf(x, loc=mu, scale=sigma)
cdf = norm.cdf(x, loc=mu, scale=sigma)
plt.figure(figsize=(12, 5))
# PDF
plt.subplot(1, 2, 1)
plt.plot(x, pdf, label='PDF', color='blue')
plt.fill_between(x, pdf, alpha=0.2)
plt.title("확률밀도함수 (PDF)")
plt.xlabel("키 (cm)")
plt.ylabel("밀도 f(x)")
plt.grid(alpha=0.3)
plt.legend()
# CDF
plt.subplot(1, 2, 2)
plt.plot(x, cdf, label='CDF', color='green')
plt.title("누적분포함수 (CDF)")
plt.xlabel("키 (cm)")
plt.ylabel("누적 확률 F(x)")
plt.grid(alpha=0.3)
plt.legend()
plt.tight_layout()
plt.show()
2025.04.03 - [Data] - LS 빅데이터 스쿨 / 정규분포와 t분포 / Python
LS 빅데이터 스쿨 / 정규분포와 t분포 / Python
가설검정이란?가설검정(Hypothesis Testing)은 통계학에서 어떤 주장이나 가설이 옳은지를 데이터 기반으로 판단하는 절차입니다. 주어진 데이터로부터 모집단의 특성을 추정하고, 이 추정값을 바탕
kiminchae.tistory.com
'Data > 통계' 카테고리의 다른 글
카이제곱(Chi-Square) 검정 / 범주형 데이터 분석 / 독립성 검정 / 동질성 검정 / 적합도 검정 (1) | 2025.04.07 |
---|---|
정규성 검정 / Shapiro-Wilk / Anderson-Darling / Kolmogorov–Smirnov / Q-Q Plot (0) | 2025.04.04 |
정규분포와 t분포 / Python (0) | 2025.04.03 |
이항 분포 예제로 이해하기 with python (0) | 2025.03.25 |
LS 빅데이터 스쿨 / 확률 변수와 확률 분포 (0) | 2025.03.24 |