확률수렴 (Convergence in Probability)

약한 대수의 법칙, 일관성, 연속함수 정리, 체비셰프 부등식 응용

확률수렴(convergence in probability)의 엄밀한 정의와 직관적 해석을 다룬다. 체비셰프 부등식을 이용한 약한 대수의 법칙(WLLN)의 증명, 표본분산의 일관성, 연속함수 정리(Continuous Mapping Theorem), 그리고 확률수렴과 거의 확실한 수렴의 차이를 구체적인 반례와 시뮬레이션을 통해 제시한다.

Statistics
저자

Kwangmin Kim

공개

2026년 03월 31일

1 개요

수렴 개념 (Convergence Concepts)에서 세 가지 수렴(확률수렴, 거의 확실한 수렴, 분포수렴)의 정의와 관계를 조망했다. 이 포스트에서는 그 중 실무에서 가장 자주 사용되는 확률수렴(convergence in probability)을 심도 있게 다룬다.

확률수렴이 중요한 이유는 명확하다: 일관성(consistency)의 수학적 정의가 확률수렴이기 때문이다. “표본이 커질수록 추정량이 참값에 가까워진다”는 것을 엄밀하게 표현하면 확률수렴이다 (Casella & Berger, 2002, Ch.5).

2 정의

정의: 확률수렴 (Definition 5.5.1)

확률변수의 수열 \(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

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)

확률수렴의 가장 중요한 응용이다.

정리: 약한 대수의 법칙 (Weak Law of Large Numbers, Theorem 5.5.2)

\(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)

정리: 연속함수 정리 (Theorem 5.5.4)

\(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 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

Enjoy this blog? Get notified of new posts by email: