1 개요
수렴 개념 (Convergence Concepts)에서 세 가지 수렴(확률수렴, 거의 확실한 수렴, 분포수렴)의 정의와 관계를 조망했다. 이 포스트에서는 그 중 실무에서 가장 자주 사용되는 확률수렴(convergence in probability)을 심도 있게 다룬다.
확률수렴이 중요한 이유는 명확하다: 일관성(consistency)의 수학적 정의가 확률수렴이기 때문이다. “표본이 커질수록 추정량이 참값에 가까워진다”는 것을 엄밀하게 표현하면 확률수렴이다 (Casella & Berger, 2002, Ch.5).
2 정의
확률변수의 수열 \(X_1, X_2, \ldots\) 가 확률변수 \(X\) 에 확률수렴(converge in probability)한다 함은, 모든 \(\epsilon > 0\) 에 대해:
\[ \lim_{n \to \infty} P(|X_n - X| \geq \epsilon) = 0 \]
동치로 \(\lim_{n \to \infty} P(|X_n - X| < \epsilon) = 1\) 이다. 이를 \(X_n \xrightarrow{P} X\) 로 표기한다 (Casella & Berger, 2002, Ch.5).
2.1 정의의 해부
이 정의를 구성요소별로 분해하면:
| 구성요소 | 의미 |
|---|---|
| “모든 \(\epsilon > 0\)” | 아무리 작은 오차 허용치를 잡아도 |
| ” \(P(\|X_n - X\| \geq \epsilon)\) ” | \(X_n\) 이 \(X\) 에서 \(\epsilon\) 이상 벗어날 확률이 |
| ” \(\to 0\) ” | 0으로 수렴한다 |
GPS 장치가 실제 위치에서 100m 이상 벗어날 확률을 생각하자.
- \(n = 1\) (초기 모델): 100m 이상 벗어날 확률 = 30%
- \(n = 10\) (개선 모델): 100m 이상 벗어날 확률 = 5%
- \(n = 100\) (고급 모델): 100m 이상 벗어날 확률 = 0.1%
이 GPS 수열은 실제 위치에 확률수렴한다. 어떤 오차 허용치 \(\epsilon\) 을 잡더라도, 충분히 발전한 모델에서는 그 이상 벗어날 확률이 0에 가까워진다.
2.2 주의: \(X_n\) 은 iid가 아니다
확률 표본 \(X_1, \ldots, X_n\) 은 iid이지만, 수렴을 논할 때의 수열(예: \(\bar{X}_1, \bar{X}_2, \bar{X}_3, \ldots\) )은 각각 다른 분포를 가진다. \(\bar{X}_n\) 의 분포는 \(n\) 에 따라 달라지며(분산이 \(\sigma^2/n\) 으로 줄어듦), 이 변화하는 분포가 어떤 극한으로 수렴하는지를 기술하는 것이 수렴 이론이다.
3 약한 대수의 법칙 (WLLN)
확률수렴의 가장 중요한 응용이다.
\(X_1, X_2, \ldots\) 가 iid이고 \(EX_i = \mu\) , \(\text{Var}(X_i) = \sigma^2 < \infty\) 이면:
\[ \bar{X}_n \xrightarrow{P} \mu \]
즉, 모든 \(\epsilon > 0\) 에 대해 \(\lim_{n \to \infty} P(|\bar{X}_n - \mu| < \epsilon) = 1\) (Casella & Berger, 2002, Ch.5).
3.1 증명
체비셰프 부등식을 직접 적용한다. 모든 \(\epsilon > 0\) 에 대해:
\[ P(|\bar{X}_n - \mu| \geq \epsilon) = P\left((\bar{X}_n - \mu)^2 \geq \epsilon^2\right) \leq \frac{E(\bar{X}_n - \mu)^2}{\epsilon^2} = \frac{\text{Var}(\bar{X}_n)}{\epsilon^2} = \frac{\sigma^2}{n\epsilon^2} \]
따라서:
\[ P(|\bar{X}_n - \mu| < \epsilon) = 1 - P(|\bar{X}_n - \mu| \geq \epsilon) \geq 1 - \frac{\sigma^2}{n\epsilon^2} \to 1 \quad \text{as } n \to \infty \]
\(\square\)
3.2 증명의 구조 분석
이 증명이 작동하는 메커니즘을 분해하면:
전제: Var(X_bar_n) = sigma^2/n → 0
↓
체비셰프 부등식: P(|X_bar_n - mu| >= epsilon) <= Var(X_bar_n)/epsilon^2
↓
결론: 상한이 0으로 → 확률도 0으로
핵심은 \(\text{Var}(\bar{X}_n) \to 0\) 이라는 사실이다. 분산이 0으로 가면 확률변수가 상수에 집중되므로, 확률수렴이 자연스럽게 따라온다.
3.3 WLLN의 일반화
Theorem 5.5.2는 유한 분산 \(\sigma^2 < \infty\) 를 가정하지만, 실제로 WLLN은 \(E|X_i| < \infty\) 만으로도 성립한다. 유한 분산 가정은 체비셰프 부등식을 사용하기 위한 것이며, 더 정교한 증명 기법(절단, 특성함수 등)을 사용하면 이 가정을 완화할 수 있다.
4 일관성 (Consistency)
통계량의 수열 \(T_n = T(X_1, \ldots, X_n)\) 이 모수 \(\theta\) 의 일관 추정량(consistent estimator)이라 함은:
\[ T_n \xrightarrow{P} \theta \]
즉, 표본 크기가 커질수록 추정량이 참 모수에 확률수렴하는 것이다.
일관성은 추정량이 갖춰야 할 최소한의 조건이다. 표본을 아무리 많이 모아도 참값에 수렴하지 않는 추정량은 사용할 이유가 없다. WLLN은 \(\bar{X}_n\) 이 \(\mu\) 의 일관 추정량임을 보여준다.
4.1 일관성의 충분 조건
체비셰프 부등식으로부터 일관성을 보이는 일반적인 방법이 있다:
\(E[T_n] \to \theta\) (점근적 비편향) 이고 \(\text{Var}(T_n) \to 0\) 이면, \(T_n\) 은 \(\theta\) 의 일관 추정량이다.
이 조건은 \(\text{MSE}(T_n) = \text{Bias}^2(T_n) + \text{Var}(T_n) \to 0\) 과 동치이다. 편향과 분산이 모두 0으로 가면 추정량은 참값에 집중된다.
4.2 예시: \(S^2\) 의 일관성
\(S_n^2 = \frac{1}{n-1}\sum_{i=1}^{n}(X_i - \bar{X}_n)^2\) 가 \(\sigma^2\) 에 확률수렴하는지 확인하자.
\(E[S_n^2] = \sigma^2\) (비편향)이므로, \(\text{Var}(S_n^2) \to 0\) 만 보이면 된다. 체비셰프 부등식에 의해:
\[ P(|S_n^2 - \sigma^2| \geq \epsilon) \leq \frac{\text{Var}(S_n^2)}{\epsilon^2} \]
정규 모집단의 경우 \(\text{Var}(S_n^2) = 2\sigma^4/(n-1) \to 0\) 이므로 \(S_n^2 \xrightarrow{P} \sigma^2\) 이다. 비정규 모집단에서도 유한한 4차 적률이 존재하면 동일한 결과가 성립한다.
5 연속함수 정리 (Continuous Mapping Theorem)
\(X_n \xrightarrow{P} X\) 이고 \(h\) 가 연속함수이면:
\[ h(X_n) \xrightarrow{P} h(X) \]
(Casella & Berger, 2002, Ch.5)
이 정리가 강력한 이유는, 확률수렴이 한 번 확인되면 그 함수에 대해서도 자동으로 확률수렴이 보장되기 때문이다.
5.1 응용: \(S_n\) 의 일관성
\(S_n^2 \xrightarrow{P} \sigma^2\) 이 확인되었다. \(h(x) = \sqrt{x}\) 는 \(x > 0\) 에서 연속이므로:
\[ S_n = \sqrt{S_n^2} \xrightarrow{P} \sqrt{\sigma^2} = \sigma \]
\(S_n\) 은 \(\sigma\) 의 편향 추정량이지만 (일반적으로 \(E[S_n] \neq \sigma\) ), 편향이 점근적으로 사라지며 일관 추정량이다.
5.2 응용: 변동계수의 일관성
변동계수(coefficient of variation) \(\text{CV} = S/\bar{X}\) 를 추정한다고 하자. \(\bar{X}_n \xrightarrow{P} \mu\) 이고 \(S_n \xrightarrow{P} \sigma\) 이므로, \(h(x, y) = y/x\) 가 \(x \neq 0\) 에서 연속이면:
\[ \frac{S_n}{\bar{X}_n} \xrightarrow{P} \frac{\sigma}{\mu} \quad (\mu \neq 0) \]
연속함수 정리를 반복 적용하면 복잡한 추정량의 일관성도 간단히 보일 수 있다.
6 확률수렴 vs 거의 확실한 수렴: 반례
두 수렴의 차이를 명확히 보여주는 고전적 반례가 있다 (Casella & Berger, 2002, Ch.5).
6.1 설정
표본공간 \(S = [0, 1]\) 에 균일분포를 부여한다. 수열을 다음과 같이 정의한다:
\[ X_1(s) = s + I_{[0,1]}(s), \quad X_2(s) = s + I_{[0, 1/2]}(s), \quad X_3(s) = s + I_{[1/2, 1]}(s) \]
\[ X_4(s) = s + I_{[0, 1/3]}(s), \quad X_5(s) = s + I_{[1/3, 2/3]}(s), \quad X_6(s) = s + I_{[2/3, 1]}(s), \quad \ldots \]
극한 확률변수: \(X(s) = s\)
6.2 확률수렴은 성립
\(n\) 이 커질수록 \(P(|X_n - X| \geq \epsilon)\) 은 길이가 0으로 가는 구간의 확률이므로 0에 수렴한다. 따라서 \(X_n \xrightarrow{P} X\) 이다.
6.3 거의 확실한 수렴은 성립하지 않음
모든 \(s \in [0, 1]\) 에 대해 \(X_n(s)\) 는 \(s\) 와 \(s + 1\) 사이를 무한히 자주 왔다 갔다 한다. 예를 들어 \(s = 3/8\) 이면:
\[ X_1(3/8) = 1\tfrac{3}{8}, \quad X_2(3/8) = 1\tfrac{3}{8}, \quad X_3(3/8) = \tfrac{3}{8}, \quad X_4(3/8) = \tfrac{3}{8}, \quad X_5(3/8) = 1\tfrac{3}{8}, \ldots \]
어떤 \(s\) 에서도 점별 수렴이 일어나지 않으므로, 거의 확실한 수렴이 성립하지 않는다.
6.4 핵심 교훈
| 확률수렴 | 거의 확실한 수렴 | |
|---|---|---|
| 이 반례에서 | 성립 | 불성립 |
| 허용하는 것 | “가끔” 벗어남 (빈도 감소) | “결국” 벗어남 멈춤 |
| \(\lim\) 과 \(P\) 의 순서 | \(P\) 안에서 고정 \(n\) 평가 후 극한 | 모든 \(s\) 에서 경로별 극한 |
확률수렴은 “빗나갈 확률이 줄어듦”만 요구하므로, 개별 경로 \(s\) 에서 무한히 자주 빗나가더라도 괜찮다. 거의 확실한 수렴은 거의 모든 경로에서 빗나감이 유한 번으로 끝나야 한다.
7 확률수렴의 유용한 성질 요약
| 성질 | 내용 |
|---|---|
| 선형성 | \(X_n \xrightarrow{P} X\) , \(Y_n \xrightarrow{P} Y\) 이면 \(aX_n + bY_n \xrightarrow{P} aX + bY\) |
| 곱 | \(X_n \xrightarrow{P} X\) , \(Y_n \xrightarrow{P} Y\) 이면 \(X_n Y_n \xrightarrow{P} XY\) |
| 연속함수 | \(X_n \xrightarrow{P} X\) 이고 \(h\) 연속이면 \(h(X_n) \xrightarrow{P} h(X)\) |
| 분포수렴 함의 | \(X_n \xrightarrow{P} X\) 이면 \(X_n \xrightarrow{d} X\) |
| 상수 수렴 동치 | \(X_n \xrightarrow{P} c\) (상수) \(\iff\) \(X_n \xrightarrow{d} c\) |
| 부분수열 | \(X_n \xrightarrow{P} X\) 이면 a.s. 수렴하는 부분수열 존재 |
8 코드 예시
8.1 Step 1: 순수 Python 구현 (WLLN 시각화)
import math
import random
random.seed(42)
# WLLN 시연: P(|X_bar - mu| >= epsilon) → 0
# 모집단: 지수분포(lambda=2), mu = 0.5, sigma^2 = 0.25
lam = 2.0
mu = 1.0 / lam
sigma2 = 1.0 / lam**2
epsilon = 0.1 # 오차 허용치
n_sim = 50000
print(f"=== WLLN: P(|X_bar - mu| >= {epsilon}) 의 감소 ===")
print(f"{'n':>6} | {'시뮬레이션':>12} | {'체비셰프 상한':>14} | {'실제 < 상한?':>12}")
print("-" * 52)
for n in [10, 30, 100, 300, 1000, 3000, 10000]:
# 시뮬레이션
count = 0
for _ in range(n_sim):
sample = [-math.log(1 - random.random()) / lam for _ in range(n)]
x_bar = sum(sample) / n
if abs(x_bar - mu) >= epsilon:
count += 1
prob_sim = count / n_sim
# 체비셰프 상한
cheby_bound = min(sigma2 / (n * epsilon**2), 1.0)
print(f"{n:>6} | {prob_sim:>12.4f} | {cheby_bound:>14.4f} | {'O' if prob_sim <= cheby_bound else 'X':>12}")
# S^2의 일관성: S_n^2 → sigma^2
print(f"\n=== S^2의 일관성: S_n^2 → sigma^2 = {sigma2} ===")
for n in [10, 100, 1000, 10000]:
s2_values = []
for _ in range(10000):
sample = [-math.log(1 - random.random()) / lam for _ in range(n)]
x_bar = sum(sample) / n
s2 = sum((x - x_bar)**2 for x in sample) / (n - 1)
s2_values.append(s2)
mean_s2 = sum(s2_values) / len(s2_values)
# P(|S^2 - sigma^2| >= 0.05)
prob_deviate = sum(1 for s2 in s2_values if abs(s2 - sigma2) >= 0.05) / len(s2_values)
print(f" n={n:>5}: E[S^2]={mean_s2:.4f}, P(|S^2 - sigma^2| >= 0.05) = {prob_deviate:.4f}")이 코드는 두 가지를 보여준다: (1) WLLN에 의해 \(P(|\bar{X}_n - \mu| \geq \epsilon)\) 이 0으로 감소하며, 시뮬레이션 값이 항상 체비셰프 상한 이하임을 확인, (2) \(S_n^2\) 의 일관성 — \(n\) 이 커질수록 \(P(|S_n^2 - \sigma^2| \geq 0.05)\) 가 0에 수렴.
8.2 Step 2: scipy 구현 (확률수렴 vs 거의 확실한 수렴 비교)
import numpy as np
from scipy import stats
np.random.seed(42)
# --- 1. 다양한 분포에서 WLLN 확인 ---
print("=== WLLN: P(|X_bar - mu| >= 0.1), n=1000 ===")
epsilon = 0.1
n = 1000
n_sim = 50000
distributions = {
"정규(5, 4)": (lambda: np.random.normal(5, 2, n), 5),
"지수(2)": (lambda: np.random.exponential(0.5, n), 0.5),
"균일(0,1)": (lambda: np.random.uniform(0, 1, n), 0.5),
"포아송(3)": (lambda: np.random.poisson(3, n).astype(float), 3.0),
"베르누이(0.3)": (lambda: np.random.binomial(1, 0.3, n).astype(float), 0.3),
}
for name, (gen, mu) in distributions.items():
probs = np.mean([abs(gen().mean() - mu) >= epsilon for _ in range(n_sim)])
print(f" {name:>15}: P = {probs:.4f}")
# --- 2. 수렴 속도: epsilon에 따른 P(|X_bar - mu| >= epsilon) ---
print(f"\n=== 수렴 속도: 정규(0,1), n에 따른 P 변화 ===")
for eps in [0.5, 0.2, 0.1, 0.05]:
print(f" epsilon = {eps}:")
for n in [10, 50, 200, 1000]:
probs = np.mean([
abs(np.random.normal(0, 1, n).mean()) >= eps
for _ in range(n_sim)
])
cheby = min(1.0 / (n * eps**2), 1.0)
print(f" n={n:>4}: P={probs:.4f}, 체비셰프<={cheby:.4f}")
# --- 3. 연속함수 정리: S_n → sigma ---
print(f"\n=== 연속함수 정리: S_n → sigma ===")
sigma_true = 2.0
for n in [10, 50, 200, 1000]:
s_values = np.array([
np.random.normal(0, sigma_true, n).std(ddof=1)
for _ in range(n_sim)
])
bias = s_values.mean() - sigma_true
prob_close = np.mean(np.abs(s_values - sigma_true) < 0.1)
print(f" n={n:>4}: E[S]={s_values.mean():.4f}, "
f"편향={bias:.4f}, P(|S-sigma|<0.1)={prob_close:.4f}")
# --- 4. 일관 추정량 vs 비일관 추정량 ---
print(f"\n=== 일관 vs 비일관 추정량 ===")
# 일관: X_bar (mu 추정)
# 비일관: X_1 (첫 번째 관측값, 표본 크기와 무관)
mu_true = 5.0
for n in [10, 100, 1000]:
xbar_probs = np.mean([
abs(np.random.normal(mu_true, 2, n).mean() - mu_true) >= 0.5
for _ in range(n_sim)
])
x1_probs = np.mean([
abs(np.random.normal(mu_true, 2, 1)[0] - mu_true) >= 0.5
for _ in range(n_sim)
])
print(f" n={n:>4}: P(|X_bar-mu|>=0.5)={xbar_probs:.4f}, "
f"P(|X_1-mu|>=0.5)={x1_probs:.4f} (고정)")이 코드는 네 가지를 보여준다: (1) 다양한 분포에서 WLLN 확인, (2) \(\epsilon\) 과 \(n\) 에 따른 수렴 속도와 체비셰프 상한 비교, (3) 연속함수 정리에 의한 \(S_n \to \sigma\) 확인 (편향 감소 포함), (4) 일관 추정량( \(\bar{X}\) )과 비일관 추정량( \(X_1\) )의 근본적 차이.
9 응용 분야
| 분야 | 확률수렴의 역할 | 구체적 예시 |
|---|---|---|
| 추정 이론 | 일관성의 정의 | MLE가 참 모수에 확률수렴함을 보이기 |
| 가설 검정 | 검정 통계량의 점근 분포 유도 | \(S^2 \xrightarrow{P} \sigma^2\) 로 Slutsky 정리 적용 |
| 기계학습 | SGD의 수렴 보장 | 확률적 경사하강법이 최적해에 확률수렴 |
| 베이지안 추론 | 사후 일관성 | 사후분포가 참 모수 주위에 집중 |
| 시뮬레이션 | Monte Carlo 추정의 정당화 | \(\frac{1}{n}\sum g(X_i) \xrightarrow{P} Eg(X)\) |
| 설문조사 | 표본비율의 수렴 | \(\hat{p} \xrightarrow{P} p\) (표본이 커지면 모비율에 수렴) |
10 관련 주제
선행 지식
- 수렴 개념 (Convergence Concepts) — 세 가지 수렴의 전체 구조
- 확률 부등식과 항등식 (Inequalities and Identities) — 체비셰프 부등식
- 확률변수 합의 표본분포 (Sums of Random Variables from a Random Sample)
후속 주제
- 데이터 축소의 원리 (Sufficiency, Likelihood, Equivariance)
- 점추정 (Point Estimation) — 일관성의 체계적 활용
- 구간추정 (Interval Estimation)
관련 개념