1 개요
결합분포와 주변분포에서 결합분포가 두 변수의 동시적 확률 구조를 완전히 기술한다는 것을 보았다. 그러나 실무에서는 종종 한 변수의 값을 관측한 상태에서 다른 변수에 대해 추론해야 한다.
실무적 질문 예시: - 키가 73인치인 사람의 체중은 어떻게 분포하는가? - 약물 투여량이 50mg일 때 반응 변수의 기대값은 얼마인가? - 오늘 비가 온다는 정보가 있을 때, 내일 비가 올 확률은 얼마인가?
이러한 질문에 답하는 도구가 조건부분포(conditional distribution)이다. 그리고 한 변수를 관측해도 다른 변수의 분포가 전혀 변하지 않는 특별한 경우가 독립(independence)이다 (Casella & Berger, 2002, Ch.4).
이 포스트의 핵심:
- 조건부분포: \(f(y|x) = f(x, y) / f_X(x)\) – 관측 정보에 의한 불확실성 갱신
- 독립성: \(f(x, y) = f_X(x) f_Y(y)\) – 관측이 정보를 주지 않는 경우
- 독립의 결과: 기댓값의 곱셈, MGF의 곱셈, 정규분포 합의 정규성
2 조건부분포 (Conditional Distribution)
2.1 이산 경우
이산 이변량 확률벡터 \((X, Y)\) 에서 \(f_X(x) > 0\) 인 \(x\) 에 대해:
\[ f(y|x) = P(Y = y | X = x) = \frac{f(x, y)}{f_X(x)} \]
이것은 사건의 조건부 확률 \(P(A|B) = P(A \cap B) / P(B)\) 를 분포 수준으로 확장한 것이다. 고정된 \(x\) 에 대해 \(f(y|x)\) 는 \(y\) 의 합법적인 PMF이다:
\[ \sum_y f(y|x) = \frac{\sum_y f(x, y)}{f_X(x)} = \frac{f_X(x)}{f_X(x)} = 1 \]
2.2 연속 경우
연속 이변량 확률벡터 \((X, Y)\) 에서 \(f_X(x) > 0\) 인 \(x\) 에 대해:
\[ f(y|x) = \frac{f(x, y)}{f_X(x)} \]
연속인 경우 \(P(X = x) = 0\) 이므로 사건의 조건부 확률 정의를 직접 사용할 수 없다. 그러나 PDF의 비율로 조건부 PDF를 정의하면, 이산 경우와 동일한 형태가 된다 (Casella & Berger, 2002, Ch.4).
2.3 예시: 지수분포에서의 조건부분포
\(f(x, y) = e^{-y}\) , \(0 < x < y < \infty\) 에서 \(Y|X = x\) 의 조건부 PDF를 구한다 (Casella & Berger, 2002, Example 4.2.4).
먼저 주변분포: \(f_X(x) = \int_x^{\infty} e^{-y} dy = e^{-x}\) ( \(x > 0\) )
따라서:
\[ f(y|x) = \frac{e^{-y}}{e^{-x}} = e^{-(y - x)}, \quad y > x \]
\(X = x\) 가 주어지면, \(Y\) 는 위치 모수가 \(x\) 인 지수분포를 따른다. \(x\) 의 값에 따라 \(Y\) 의 조건부분포가 달라진다.
직관적으로, 이 모형은 두 전구의 순차적 사용��로 해석할 수 있다 (Casella & Berger, 2002, Ch.4). \(X\) 는 첫 번째 전구가 꺼지는 시점, \(Y = X + Z\) 는 두 번째 전구가 꺼지는 시점이다. 첫 번째 전구가 \(x\) 시점에 꺼졌다는 정보가 주어지면, 두 번째 전구의 잔여 ��명 \(Y - x\) 는 독립적인 지수분포를 따른다.
3 조건부 기댓값과 조건부 분산
3.1 조건부 기댓값
\(f(y|x)\) 는 합법적인 PDF/PMF이��로, 이를 사용하여 기댓값을 정의할 수 있다:
\[ E[g(Y)|x] = \int_{-\infty}^{\infty} g(y) \, f(y|x) \, dy \quad \text{(연속)} \]
\[ E[g(Y)|x] = \sum_y g(y) \, f(y|x) \quad \text{(이산)} \]
핵심: \(E[Y|X]\) 는 \(X\) 의 함수이며, 따라서 그 자체가 확률변수이다. \(X = x\) 일 때 \(E[Y|X]\) 의 값은 \(E[Y|x]\) 이다.
위 예시에서:
\[ E[Y|X = x] = \int_x^{\infty} y \, e^{-(y-x)} \, dy = 1 + x \]
따라서 \(E[Y|X] = 1 + X\) 이다. \(X\) 가 커질수록 \(Y\) 의 조건부 기대값도 커진다.
3.2 조건부 분산
\[ \text{Var}(Y|x) = E[Y^2|x] - (E[Y|x])^2 \]
위 예시에서 \(\text{Var}(Y|x) = 1\) 로, \(x\) 값에 관계없이 일정하다. 그러나 이것은 특수한 경우이며, 일반적으로 조건부 분산은 \(x\) 에 따라 달라질 수 있다.
비교: \(Y\) 의 주변분포�� 감마 \(\text{Gamma}(2, 1)\) 로 \(\text{Var}(Y) = 2\) 이다. \(X = x\) 를 관측하면 분산이 2에서 1로 줄어든다. 조건부 정보가 불확실성을 감소시킨다는 직관이 여기에서 확인된다.
4 독립성 (Independence)
4.1 정의
이변량 확률벡터 \((X, Y)\) 에서 \(X\) 와 \(Y\) 가 독립이란, 모든 \(x \in \mathbb{R}\) , \(y \in \mathbb{R}\) 에 대해:
\[ f(x, y) = f_X(x) \, f_Y(y) \]
독립이면 조건부분포가 주변분포와 같아진다:
\[ f(y|x) = \frac{f(x, y)}{f_X(x)} = \frac{f_X(x) f_Y(y)}{f_X(x)} = f_Y(y) \]
\(X = x\) 를 아는 것이 \(Y\) 에 대한 아무런 추가 정보도 주지 않는다.
4.2 독립성 판별: 분리 보조정리
\(X\) 와 \(Y\) 가 독립인 것은, 다음과 동치이다: \(x\) 만의 함수 \(g(x)\) 와 \(y\) 만의 함수 \(h(y)\) 가 존재하여
\[ f(x, y) = g(x) \, h(y) \quad \text{모든 } x, y \text{ 에 대해} \]
이 보조정리의 실용적 가치: 주변분���를 먼저 구할 필요 없이, 결합 PDF/PMF가 \(x\) 만의 함수와 \(y\) 만의 함수의 곱으로 분리되는지만 확인하면 독립 여부를 판별할 수 있다.
4.3 예시: 독립 판별
\(f(x, y) = \frac{1}{384} x^2 y^4 e^{-y - x/2}\) , \(x > 0\) , \(y > 0\) 에서 (Casella & Berger, 2002, Example 4.2.8):
\[ g(x) = x^2 e^{-x/2} \, I_{(0, \infty)}(x), \quad h(y) = \frac{y^4 e^{-y}}{384} \, I_{(0, \infty)}(y) \]
로 놓으면 \(f(x, y) = g(x) h(y)\) 이므로, \(X\) 와 \(Y\) 는 독립이다. 주변분포를 적분으로 구할 필요가 없다.
4.4 지지 집합에 의한 비독립 판별
독립이면 결합 PDF/PMF가 양수인 영역이 직적(cross-product) \(A \times B\) 형태여야 한다. 즉, \(x\) 조건과 \(y\) 조건을 별도로 확인할 수 있어야 한다 (Casella & Berger, 2002, Ch.4).
\(f(x, y) = e^{-y}\) , \(0 < x < y < \infty\) 에서 양수 영역은 \(\{(x, y) : 0 < x < y\}\) 이다. \(x\) 와 \(y\) 가 결합된 조건( \(x < y\) )이 있으므로 직적이 아니며, 따라서 \(X\) 와 \(Y\) 는 독립이 아니다.
- 양수 영역이 직적인가? (아니면 즉시 비독립)
- 결합 PDF/PMF가 \(g(x) h(y)\) 로 분리되는가? (보조정리 4.2.7)
- 위 두 조건이 모두 만족되면 독립
5 독립성의 결과
5.1 사건��� 독립
\(X\) 와 \(Y\) 가 독립이면:
모든 \(A, B \subset \mathbb{R}\) 에 대해 \(P(X \in A, Y \in B) = P(X \in A) \, P(Y \in B)\)
\(g(x)\) , \(h(y)\) 가 각각 \(x\) , \(y\) 만의 함수이면 \(E[g(X) h(Y)] = E[g(X)] \cdot E[h(Y)]\)
(b)의 중요한 특수 경우: \(g(X) = X\) , \(h(Y) = Y\) 로 놓으면:
\[ E[XY] = E[X] \cdot E[Y] \]
��라서 \(\text{Cov}(X, Y) = E[XY] - E[X]E[Y] = 0\) 이다. 독립이면 무상관이다. 그러나 다변량 확률변수 개요에서 언급했듯이, 역은 성립하지 않는다.
5.2 적률생성함수의 곱
\(X\) 와 \(Y\) 가 독립이고 각각의 MGF가 \(M_X(t)\) , \(M_Y(t)\) 이면, \(Z = X + Y\) 의 MGF는:
\[ M_Z(t) = M_X(t) \, M_Y(t) \]
���명은 한 줄이다: \(M_Z(t) = E[e^{tZ}] = E[e^{t(X+Y)}] = E[e^{tX} e^{tY}] = E[e^{tX}] \cdot E[e^{tY}]\) (독립에 의해 마지막 등호 성립).
5.3 응용: 독립 정규 확률변수의 합
\(X \sim N(\mu, \sigma^2)\) 와 \(Y \sim N(\gamma, \tau^2)\) 가 독립이면:
\[ Z = X + Y \sim N(\mu + \gamma, \, \sigma^2 + \tau^2) \]
증명: \(M_Z(t) = M_X(t) M_Y(t) = \exp((\mu + \gamma)t + (\sigma^2 + \tau^2)t^2/2)\) 이고, 이것은 \(N(\mu + \gamma, \sigma^2 + \tau^2)\) 의 MGF이다.
이 결과가 왜 중요한가: 독립 정규 확률변수의 합이 다시 정규분포를 따른다는 것은, 정규분���가 합산에 대해 닫혀 있다(closed under convolution)는 의미이다. 이 성질 덕분에 표본평균 \(\bar{X}\) 의 분��를 바로 구할 수 있고, z-검정과 t-검정이 가능해진다.
6 독립 vs 무상관: 왜 구분이 중요한가
| 성질 | 독립 | 무상관 |
|---|---|---|
| 정의 | \(f(x, y) = f_X(x) f_Y(y)\) | \(\text{Cov}(X, Y) = 0\) |
| 강도 | 모든 형태의 ���계가 없음 | 선형 관계만 없음 |
| 독립 \(\Rightarrow\) 무상관 | 항상 성립 | – |
| 무상관 \(\Rightarrow\) 독립 | 일반적으로 불성립 | – |
| 무상관 \(\Rightarrow\) 독립인 경우 | 다변량 정규분포 | – |
반례: \(X \sim N(0, 1)\) , \(Y = X^2\) 이면 \(\text{Cov}(X, Y) = E[X^3] = 0\) 이지만 \(Y\) 는 \(X\) 에 의해 완전히 결정된다. 무상관이 독립을 보장하지 않는 대표적인 예시이다.
다변량 정규분포에서만 무상관과 독립이 동치이다. 이것이 정규 가정이 통계학에서 그토록 편리한 이유 중 하나이다.
7 응용 분야
| 분야 | 개념 | 구체적 활용 |
|---|---|---|
| 베이지안 추론 | 조건부분포 | 사후분포 \(\propto\) 가능도 \(\times\) 사전분포 |
| 회귀분석 | \(E[Y|X]\) | 조건부 기대값 = 회귀함수 |
| 머신러닝 | 독립 가정 | 나이브 베이즈: \(f(\mathbf{x}|y) = \prod_j f(x_j|y)\) |
| 실험설계 | 독립성 | 처치 배정과 반응의 독립 (무작위화) |
| 시계열 | 조건부 독립 | 마르코�� 성질: \(f(x_t | x_{t-1}, \ldots) = f(x_t | x_{t-1})\) |
| 검정 통계량 | MGF 곱 | 독립 정규 합의 분포로 검정 통��량 유도 |
| 신뢰구간 | 조건부 분산 | 예측 구간: $(Y |
8 코드 예시
8.1 Step 1: 순수 Python 구현 (원리 이해)
이산 결합 PMF에서 조건부 PMF를 유도하고, 독립 여부를 판별한다.
# Casella Example 4.2.6 기반
# 독립이 아닌 결합 PMF
joint = {
(10, 1): 1/10, (10, 2): 1/5, (10, 3): 1/5,
(20, 1): 1/10, (20, 2): 1/10, (20, 3): 3/10,
}
# 주변분포 계산
marginal_x = {}
marginal_y = {}
for (x, y), p in joint.items():
marginal_x[x] = marginal_x.get(x, 0) + p
marginal_y[y] = marginal_y.get(y, 0) + p
print("주변분포:")
print(f" f_X: {dict(sorted(marginal_x.items()))}")
print(f" f_Y: {dict(sorted(marginal_y.items()))}")
# 조건부분포 f(Y|X=10)
print("\n조건부분포 f(Y|X=10):")
for (x, y), p in sorted(joint.items()):
if x == 10:
cond = p / marginal_x[10]
print(f" f(Y={y}|X=10) = {p:.2f} / {marginal_x[10]:.2f} = {cond:.4f}")
# 독립성 판별
print("\n독립성 판별:")
is_independent = True
for (x, y), p in joint.items():
product = marginal_x[x] * marginal_y[y]
match = abs(p - product) < 1e-10
if not match:
print(f" f({x},{y}) = {p:.4f} != f_X({x})*f_Y({y}) = {product:.4f} --> 불일치!")
is_independent = False
break
if is_independent:
print(" 결론: X와 Y는 독립이다")
else:
print(" 결론: X와 Y는 독립이 아니다")8.2 분리 보조정리를 이용한 독립 판별
import math
# f(x, y) = (1/384) * x^2 * y^4 * exp(-y - x/2), x>0, y>0
# g(x) = x^2 * exp(-x/2), h(y) = y^4 * exp(-y) / 384
def g(x):
if x <= 0:
return 0.0
return x**2 * math.exp(-x / 2)
def h(y):
if y <= 0:
return 0.0
return y**4 * math.exp(-y) / 384
def joint_pdf(x, y):
if x <= 0 or y <= 0:
return 0.0
return x**2 * y**4 * math.exp(-y - x/2) / 384
# 여러 점에서 f(x,y) == g(x)*h(y) 확인
test_points = [(0.5, 1.0), (1.0, 2.0), (3.0, 0.5), (2.0, 3.0)]
print("분리 보조정리 검증: f(x,y) = g(x) * h(y)?")
for x, y in test_points:
f_val = joint_pdf(x, y)
gh_val = g(x) * h(y)
match = abs(f_val - gh_val) < 1e-15
print(f" ({x}, {y}): f={f_val:.8f}, g*h={gh_val:.8f}, 일치={match}")
print("\n결론: 결합 PDF가 g(x)*h(y)로 분리되므로 X와 Y는 독립이다")8.3 Step 2: scipy/numpy 구현 (실무 활용)
조건부분포의 시각화와 독립/비독립 비교를 시연한다.
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
np.random.seed(42)
n = 50000
fig, axes = plt.subplots(1, 3, figsize=(14, 4))
# --- 1) 비독립: 상관 있는 2변량 정규 ---
rho = 0.8
mu = [0, 0]
cov = [[1, rho], [rho, 1]]
samples = np.random.multivariate_normal(mu, cov, n)
X, Y = samples[:, 0], samples[:, 1]
ax = axes[0]
ax.scatter(X, Y, alpha=0.05, s=1, c='blue')
# 조건부분포 Y|X=1 시각화
x_cond = 1.0
mask = np.abs(X - x_cond) < 0.1
Y_cond = Y[mask]
y_range = np.linspace(-4, 4, 100)
# 이론적 조건부 분포
mu_cond = rho * x_cond
var_cond = 1 - rho**2
ax.plot(np.full_like(y_range, x_cond), y_range,
'r-', linewidth=2, alpha=0.5)
ax.set_title(f"Dependent (rho={rho})")
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_xlim(-4, 4)
ax.set_ylim(-4, 4)
# --- 2) 독립: 상관 없는 2변량 ---
X_ind = np.random.normal(0, 1, n)
Y_ind = np.random.normal(0, 1, n)
ax = axes[1]
ax.scatter(X_ind, Y_ind, alpha=0.05, s=1, c='green')
ax.plot(np.full_like(y_range, x_cond), y_range,
'r-', linewidth=2, alpha=0.5)
ax.set_title("Independent (rho=0)")
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_xlim(-4, 4)
ax.set_ylim(-4, 4)
# --- 3) 조건부분포 비교 ---
ax = axes[2]
# 비독립: Y|X=1
mask_dep = np.abs(X - x_cond) < 0.15
ax.hist(Y[mask_dep], bins=40, density=True, alpha=0.5, label="Y|X=1 (dependent)")
ax.plot(y_range, stats.norm.pdf(y_range, mu_cond, np.sqrt(var_cond)),
'b--', linewidth=2, label=f"Theory: N({mu_cond:.1f}, {var_cond:.2f})")
# 독립: Y|X=1 (주변분포와 동일해야 함)
mask_ind = np.abs(X_ind - x_cond) < 0.15
ax.hist(Y_ind[mask_ind], bins=40, density=True, alpha=0.5, label="Y|X=1 (independent)")
ax.plot(y_range, stats.norm.pdf(y_range, 0, 1),
'g--', linewidth=2, label="Theory: N(0, 1)")
ax.set_title("Conditional Y|X=1: Dependent vs Independent")
ax.legend(fontsize=8)
ax.set_xlabel("Y")
plt.tight_layout()
plt.show()
print(f"비독립: E[Y|X=1] = {np.mean(Y[mask_dep]):.3f} (theory: {mu_cond:.3f})")
print(f"독립: E[Y|X=1] = {np.mean(Y_ind[mask_ind]):.3f} (theory: 0.000)")8.4 독립 정규 합의 MGF 검증
import numpy as np
from scipy import stats
np.random.seed(42)
# X ~ N(2, 1), Y ~ N(3, 4) 독립
mu_x, sigma_x = 2.0, 1.0
mu_y, sigma_y = 3.0, 2.0
n_sim = 100000
X = np.random.normal(mu_x, sigma_x, n_sim)
Y = np.random.normal(mu_y, sigma_y, n_sim)
Z = X + Y
# 이론: Z ~ N(mu_x + mu_y, sigma_x^2 + sigma_y^2)
mu_z_theory = mu_x + mu_y
sigma_z_theory = np.sqrt(sigma_x**2 + sigma_y**2)
print("독립 정규 합의 분포:")
print(f" Z = X + Y")
print(f" 이론: N({mu_z_theory}, {sigma_z_theory**2})")
print(f" 시뮬레이션 평균: {np.mean(Z):.3f} (이론: {mu_z_theory})")
print(f" 시뮬레이션 표준편차: {np.std(Z):.3f} (이론: {sigma_z_theory:.3f})")
# 정규성 검정 (Shapiro-Wilk, 부분 표본)
stat, p_value = stats.shapiro(Z[:5000])
print(f" Shapiro-Wilk p-value: {p_value:.4f} (높으면 정규)")9 관련 주제
선행 지식
- 결합분포와 주변분포 – 결합/주변분포의 정의
- 다변량 확률변수 개요 – Ch.4 전체 조감
후속 주제
- 이변량 변환 – 야��비안 방법
- 계층모형과 혼합분포 – 전체 기대값의 법칙
- 공분산과 상관계수 – 독립/무상관의 정량적 구분
관련 개념
- 적률생성함수 – MGF의 정의와 성질
- 정규 분포 – 독립 정규 합의 정규성
- 확률 부등식과 항등식 – 코시-슈바르츠로 상관계수 바운드