점근적 강건성: 평균과 중앙값 (Asymptotic Robustness: The Mean and the Median)

Casella & Berger §10.2 — 붕괴점, ε-오염 모형, M-추정량

추정량의 강건성(robustness)을 정의하고, 표본 평균과 중앙값을 세 기준으로 비교한다. ε-오염 모형에서의 분산 폭발, 붕괴점(breakdown value), 중앙값의 점근 정규성을 유도하고, ARE로 정규 모형에서의 효율성 손실을 정량화한다. Huber M-추정량으로 강건성과 효율성의 균형을 잡는 방법을 다룬다.

Statistics
저자

Kwangmin Kim

공개

2026년 04월 05일

1 이 절의 위치

§10.1에서는 MLE의 점근 효율성을 다뤘다 — 모형이 맞을 때 MLE가 가장 효율적이다. 그런데 모형이 틀렸다면 어떻게 되는가?

§10.2 강건성(robustness)은 이 질문에 답한다. 모형에서 약간 벗어났을 때도 합리적인 성능을 유지하는 추정량을 강건 추정량(robust estimator)이라 한다 (Casella & Berger, 2002, Ch.10).


2 강건성의 정의와 세 가지 기준

Huber (1981)는 훌륭한 통계적 절차가 갖춰야 할 세 가지 조건을 제시했다:

Huber (1981)의 강건성 세 기준
  1. 최적성: 가정된 모형에서 합리적으로 좋은(최적 또는 근사 최적) 효율을 가져야 한다.
  2. 안정성: 모형 가정에서 작은 이탈이 있어도 성능이 조금만 저하되어야 한다.
  3. 재난 방지: 모형에서 다소 큰 이탈이 있어도 파국적 결과를 초래하지 않아야 한다.

강건성과 최적성은 trade-off 관계이다. 강건한 추정량은 모형이 정확할 때 최적 추정량보다 열등하지만, 모형이 틀렸을 때 훨씬 더 안정적으로 작동한다. 어느 쪽이 더 중요한지는 문제마다 다르다.


3 표본 평균의 강건성 분석

3.1 기준 1: 가정된 모형에서의 최적성

\(X_1, \ldots, X_n \stackrel{\text{iid}}{\sim} N(\mu, \sigma^2)\) 이면 \(\bar X\) 는 크래머-라오 하한을 달성하는 UMVUE이다. 기준 1은 완벽하게 충족된다.

3.2 기준 2: ε-오염 모형 (작은 이탈)

모형 이탈을 정량화하는 표준적 방법은 ε-오염 모형(ε-contamination model)이다. 각 관측값이 주 분포에서 \((1-\delta)\) 확률로, 오염 분포 \(f(x)\) 에서 \(\delta\) 확률로 생성된다:

\[ X_i \sim \begin{cases} N(\mu, \sigma^2) & \text{확률 } 1-\delta \\ f(x) & \text{확률 } \delta \end{cases} \]

오염 분포 \(f\) 가 평균 \(\theta\), 분산 \(\tau^2\) 를 갖는다면, 혼합 분포에서 \(\bar X\) 의 분산은

\[ \text{Var}(\bar X) = (1-\delta)\frac{\sigma^2}{n} + \delta\frac{\tau^2}{n} + \frac{\delta(1-\delta)(\theta-\mu)^2}{n}. \]

\(\theta \approx \mu\), \(\tau \approx \sigma\) 이면 \(\bar X\) 는 여전히 좋은 추정량이다. 그러나 \(f\)코시 분포(Cauchy distribution)이면 \(\text{Var}(X_i) = \infty\) 이므로 \(\text{Var}(\bar X) = \infty\) 가 된다 — 기준 2가 실패한다.

직관: 코시 분포는 꼬리가 매우 두꺼워 이상치가 극단적으로 크게 나올 수 있다. 단 한 번의 코시 표본이 섞여도 \(\bar X\) 의 분산이 무한대로 폭발한다.

3.3 기준 3: 붕괴점 (Breakdown Value)

“가장 큰 관측값 \(X_{(n)}\)이 무한대로 커지면 \(\bar X\) 는 어떻게 되는가?” — 마찬가지로 무한대가 된다. 이 현상을 정식으로 정의한 것이 붕괴점(breakdown value)이다.

정의 10.2.2: 붕괴점 (Breakdown Value)

순서통계량 \(X_{(1)} < \cdots < X_{(n)}\) 에 기반한 통계량 \(T_n\) 의 붕괴점 \(b\) \((0 \leq b \leq 1)\) 는:

\[ \lim_{X_{(\lfloor(1-b)n\rfloor)} \to \infty} T_n < \infty \quad \text{이고} \quad \lim_{X_{(\lfloor(1-(b+\varepsilon))n\rfloor)} \to \infty} T_n = \infty \]

를 만족하는 값이다.

즉, 표본의 \((1-b)\) 분위수가 무한대로 커져도 \(T_n\) 이 유한하게 유지되는 최대 비율이다.

직관: 붕괴점이 높을수록 더 많은 관측값이 망가져도 추정량이 살아남는다.

추정량 붕괴점 의미
표본 평균 \(\bar X\) 0 단 1개의 관측값만 무한대로 가도 \(\bar X \to \infty\)
표본 중앙값 \(M_n\) 50% 표본의 절반이 극단값이 되어도 중앙값은 움직이지 않음
절사평균 (α-trimmed mean) α 양쪽 α% 를 제거하고 평균을 냄

표본 평균의 붕괴점이 0이라는 것은 기준 3의 완전한 실패이다. 단 한 개의 “오염된” 관측값이 \(\bar X\) 를 원하는 방향으로 얼마든지 끌어당길 수 있다.


4 표본 중앙값의 점근 정규성

중앙값은 붕괴점이 50%이므로 강건성이 뛰어나다. 그렇다면 정규 모형에서 얼마나 효율성을 잃는가? 이를 계산하려면 중앙값의 점근 분포가 필요하다.

정리 (중앙값의 점근 정규성, Ex 10.2.3)

모집단 pdf \(f\), cdf \(F\) (미분가능), \(F(\mu) = 1/2\) (즉 \(\mu\) 는 모집단 중앙값)인 경우, 표본 중앙값 \(M_n\) 은 점근적으로 다음을 따른다:

\[ \sqrt{n}(M_n - \mu) \xrightarrow{d} N\!\left(0,\; \frac{1}{4f(\mu)^2}\right). \]

증명 스케치:

이항 근사 논증을 이용한다. \(Y_i = \mathbf{1}[X_i \leq \mu + a/\sqrt{n}]\) 로 정의하면 \(Y_i \sim \text{Bernoulli}(p_n)\), \(p_n = F(\mu + a/\sqrt{n}) \to 1/2\).

\(P(\sqrt{n}(M_n - \mu) \leq a) = P\!\left(\sum_i Y_i \geq \tfrac{n+1}{2}\right)\)

을 표준화한 후 CLT를 적용하면:

\[ \frac{(n+1)/2 - np_n}{\sqrt{np_n(1-p_n)}} \to -2af(\mu) \]

임을 보일 수 있다. 따라서

\[ P(\sqrt{n}(M_n - \mu) \leq a) \to P(Z \geq -2af(\mu)) = \Phi(2af(\mu)), \]

이는 \(N(0, 1/[4f(\mu)^2])\) 의 CDF이다.

해석: 중앙값의 점근 분산은 \(f(\mu)^{-2}/4\) 이다. 모집단 pdf 의 중앙값 높이 \(f(\mu)\) 가 클수록 중앙값 추정이 더 정확해진다 — 그 지점에서 분포가 “뾰족”하여 중앙값 위치가 잘 정해지기 때문이다.


5 평균 vs 중앙값: ARE 비교

표본 평균의 점근 분산: \(\sigma^2/n\), 즉 \(\sqrt{n}(\bar X - \mu) \to N(0, \sigma^2)\).

따라서 ARE(중앙값, 평균)는:

\[ \text{ARE}(M_n, \bar X) = \frac{\sigma^2}{1/[4f(\mu)^2]} = 4\sigma^2 f(\mu)^2. \]

세 가지 대표 분포에 대해 계산하면:

분포 \(f(\mu)\) \(\sigma^2\) ARE(중앙값, 평균)
정규 \(N(0,1)\) \(\frac{1}{\sqrt{2\pi}}\) 1 \(\frac{2}{\pi} \approx 0.637\)
로지스틱 \(\frac{1}{4}\) \(\frac{\pi^2}{3}\) \(\frac{\pi^2}{12} \approx 0.822\)
이중지수 (라플라스) \(\frac{1}{2}\) 2 2

해석:

  • 정규 분포: 중앙값은 평균보다 약 36% 비효율적이다. 100개 표본으로 얻는 중앙값의 정밀도를 평균으로 얻으려면 약 64개면 충분하다.
  • 로지스틱 분포: 꼬리가 정규보다 약간 두꺼워 중앙값의 효율성 손실이 작아진다.
  • 이중지수 분포: 중앙값이 평균보다 2배 효율적이다. 이중지수 분포에서 중앙값이 MLE이기 때문이다.

일반 원리: 분포의 꼬리가 두꺼울수록 평균 대비 중앙값의 효율성이 높아진다.


6 M-추정량: 강건성과 효율성의 타협

6.1 통합 프레임워크

평균과 중앙값, MLE는 모두 손실 함수(loss function) \(\rho\) 의 최소화로 표현된다:

\[ \hat\theta = \arg\min_a \sum_{i=1}^n \rho(x_i - a). \]

추정량 \(\rho(x)\) 특징
표본 평균 \(\frac{1}{2}x^2\) 이상치에 민감 (제곱 패널티)
표본 중앙값 \(|x|\) 이상치에 강건 (절댓값 패널티)
MLE \(-\log f(x|\theta)\) 모형이 맞으면 최적

제곱 손실은 큰 잔차에 과도한 가중치를 부여해 이상치에 취약하다. 절댓값 손실은 이상치를 무시하지만 미분 불가능하고 정규 모형에서 비효율적이다.

Huber (1964)는 이 둘의 타협점을 제안했다.

6.2 Huber 추정량

Huber ρ 함수 (식 10.2.2)

\[ \rho(x) = \begin{cases} \frac{1}{2}x^2 & \text{if } |x| \leq k \\ k|x| - \frac{1}{2}k^2 & \text{if } |x| > k \end{cases} \]

  • \(|x| \leq k\) (작은 잔차): 제곱 손실처럼 작동 → 효율성 확보
  • \(|x| > k\) (큰 잔차): 절댓값 손실처럼 작동 → 이상치 내성
  • 튜닝 상수 \(k\): 작을수록 중앙값에 가깝고 (강건), 클수록 평균에 가깝다 (효율적)

최솟값 조건 \(\sum_i \psi(x_i - \theta) = 0\) 에서 \(\psi = \rho'\):

\[ \psi(x) = \begin{cases} x & \text{if } |x| \leq k \\ k \cdot \text{sign}(x) & \text{if } |x| > k \end{cases} \]

\(\psi\) 는 잔차가 \(k\) 를 초과하면 더 이상 패널티를 키우지 않고 \(\pm k\)제한(clamp)한다. 따라서 단일 이상치가 미치는 영향이 \(|k|\) 이하로 bounded된다.

예시 (Ex 10.2.5): 데이터 = 8개 표준 정규 관측값 + 3개 이상치 \(\{3, 6, 9\}\)

\[ \mathbf{x} = \{-1.28, -0.96, -0.46, -0.44, -0.26, -0.21, -0.063, 0.39, 3, 6, 9\} \]

\(k\) 0 (중앙값) 1 3 5 10 \(\infty\) (평균)
추정값 -0.21 0.03 0.29 0.52 0.97 1.33

\(k\) 가 커질수록 이상치의 영향이 커져 평균(1.33)에 가까워진다. 이상치 없는 정규 관측값의 진짜 중심은 약 0 근처이므로, 작은 \(k\) 값이 더 정확하다.


7 M-추정량의 점근 정규성

일반 M-추정량 \(\hat\theta_M\) (손실 함수 \(\rho\), 기울기 함수 \(\psi = \rho'\)) 에 대해 Taylor 전개 논증(§10.1.2와 동일한 방식)을 적용하면:

정리 (M-추정량의 점근 분산, 식 10.2.6)

\(E_{\theta_0}[\psi(X - \theta_0)] = 0\) 이 성립할 때,

\[ \sqrt{n}(\hat\theta_M - \theta_0) \xrightarrow{d} N\!\left(0,\; \frac{E_{\theta_0}[\psi(X-\theta_0)^2]}{[E_{\theta_0}\psi'(X-\theta_0)]^2}\right). \]

특수 케이스 확인:

  • \(\psi(x) = x\) (평균): \(E[\psi^2] = \sigma^2\), \(E[\psi'] = 1\) → 분산 = \(\sigma^2\)
  • \(\psi(x) = \text{sign}(x)\) (중앙값): \(E[\psi^2] = 1\), \(E[\psi'] = 2f(\mu)\) → 분산 = \(1/(4f(\mu)^2)\)
  • \(\psi(x) = l'(\theta_0|x)\) (MLE): \(E[\psi^2] = I(\theta_0)\), \(E[\psi'] = -I(\theta_0)\) → 분산 = \(1/I(\theta_0)\)

8 M-추정량 vs MLE: 효율성 상한

M-추정량의 ARE 대비 MLE는 항상 1 이하이다.

\[ \text{ARE}(\hat\theta_M, \hat\theta_{\text{MLE}}) = \frac{[E_\theta \psi(X-\theta_0)l'(\theta|X)]^2} {E_\theta\psi(X-\theta)^2 \cdot E_\theta[l'(\theta|X)]^2} \leq 1. \]

코시-슈바르츠 부등식 \([E(UV)]^2 \leq E(U^2)E(V^2)\) 에 의해 등호는 \(\psi \propto l'\) 일 때만 성립한다 — 즉, M-추정량의 기울기 함수가 점수 함수에 비례할 때.

Huber 추정량의 ARE (\(k = 1.5\)):

분포 vs 평균 vs 중앙값
정규 0.96 1.51
로지스틱 1.08 1.31
이중지수 1.37 0.68

Huber 추정량 (\(k=1.5\))은: - 정규 분포에서 평균과 거의 동등한 효율 (4% 손실만) - 로지스틱과 이중지수에서는 평균보다 더 효율적 - 이중지수에서 중앙값보다 덜 효율적 (중앙값이 MLE이므로 예상 가능)

이것이 Huber 추정량의 강점이다 — 어떤 분포에서도 합리적인 성능을 보장한다.


9 강건성 지표 요약

추정량 붕괴점 정규에서의 ARE 코시 모형
표본 평균 0% 1.00 (최적) \(\text{Var} = \infty\)
표본 중앙값 50% 0.637 유한
Huber (\(k=1.5\)) ~7.5%* 0.96 유한
α-절사평균 α \(1 - 2\alpha\) 근방 유한

*Huber 붕괴점은 \(k\) 에 따라 다름. \(k \to 0\) 이면 50%, \(k \to \infty\) 이면 0%에 가까워짐.


10 응용 분야

분야 활용 이유
금융 데이터 분석 수익률 위치 추정 시장 충격으로 극단 수익률 빈번
의료 임상시험 혈압·혈당 효과 추정 오측값, 프로토콜 위반 관측값
이미지 처리 노이즈 제거 소금-후추 노이즈는 충격 잡음
회귀 분석 이상치 영향 최소화 Huber 회귀, RANSAC
기후 과학 기온 이상 탐지 센서 오류, 극단 기상 이벤트

11 코드 예시

11.1 Step 1: 순수 Python 구현 (원리 이해)

import numpy as np

# ε-오염 모형: 표본 평균 분산 폭발 시뮬레이션
def simulate_contamination(n=100, delta=0.05, n_sim=2000, seed=42):
    """
    ε-오염 모형에서 표본 평균 vs 중앙값의 분산 비교.

    Parameters
    ----------
    n       : 표본 크기
    delta   : 오염 비율 (Cauchy 관측값 비율)
    n_sim   : 시뮬레이션 반복 수
    seed    : 난수 시드
    """
    rng = np.random.default_rng(seed)

    means, medians = [], []
    for _ in range(n_sim):
        # 주 분포: N(0,1)
        x_normal = rng.normal(0, 1, size=n)
        # 오염: Cauchy(0,1) — 분산 무한대
        n_contaminated = int(delta * n)
        x_cauchy = rng.standard_cauchy(size=n_contaminated)

        # 오염 표본: (1-δ) N(0,1) + δ Cauchy
        idx = rng.choice(n, size=n_contaminated, replace=False)
        x_contaminated = x_normal.copy()
        x_contaminated[idx] = x_cauchy

        means.append(np.mean(x_contaminated))
        medians.append(np.median(x_contaminated))

    # 분산이 매우 큰 경우 절사해서 비교
    means = np.array(means)
    medians = np.array(medians)

    print(f"오염 비율 δ = {delta}")
    print(f"표본 평균   — Var = {np.var(means):.4f}, "
          f"90% 범위: [{np.percentile(means,5):.2f}, {np.percentile(means,95):.2f}]")
    print(f"표본 중앙값 — Var = {np.var(medians):.6f}, "
          f"90% 범위: [{np.percentile(medians,5):.3f}, {np.percentile(medians,95):.3f}]")

simulate_contamination(delta=0.0)   # 오염 없음
print()
simulate_contamination(delta=0.05)  # 5% Cauchy 오염


def breakdown_demo():
    """붕괴점 시연: 하나의 이상치가 평균에 미치는 영향."""
    base_data = [1.2, 2.3, 3.1, 2.8, 1.9, 2.5, 3.0, 2.1]
    print(f"\n원본 데이터 평균: {np.mean(base_data):.3f}, 중앙값: {np.median(base_data):.3f}")

    for outlier in [10, 100, 1000, 1e6]:
        data_with_outlier = base_data + [outlier]
        print(f"이상치 = {outlier:.0e} | "
              f"평균 = {np.mean(data_with_outlier):.2f}, "
              f"중앙값 = {np.median(data_with_outlier):.2f}")

breakdown_demo()

11.2 Step 2: Huber M-추정량과 ARE 계산 (실무 활용)

import numpy as np
from scipy.stats import norm, logistic, laplace
from scipy.optimize import brentq

# Huber 추정량 직접 구현
def huber_estimator(data, k=1.5, max_iter=100, tol=1e-8):
    """
    Huber M-추정량을 반복 가중 최소제곱(IRLS)으로 계산.

    Score 방정식: Σ ψ(xᵢ - θ) = 0 을 반복법으로 풀기.
    """
    theta = np.median(data)  # 초기값: 중앙값

    for _ in range(max_iter):
        residuals = data - theta
        # Huber 가중치: |r| <= k이면 1, 아니면 k/|r|
        weights = np.where(np.abs(residuals) <= k, 1.0, k / np.abs(residuals))
        theta_new = np.sum(weights * data) / np.sum(weights)

        if abs(theta_new - theta) < tol:
            break
        theta = theta_new

    return theta

# 예시 데이터 (8개 정규 + 3개 이상치)
x = np.array([-1.28, -0.96, -0.46, -0.44, -0.26, -0.21, -0.063, 0.39, 3, 6, 9])

print("Huber 추정량 (다양한 k 값):")
for k_val in [0.001, 1, 3, 5, 10, 1e10]:
    h_est = huber_estimator(x, k=k_val)
    print(f"  k = {k_val:8.3f} → Huber = {h_est:.4f}")
print(f"  중앙값 (k→0) = {np.median(x):.4f}")
print(f"  평균 (k→∞) = {np.mean(x):.4f}")


# ARE 계산: ARE(중앙값, 평균) = 4σ² f(μ)²
def are_median_mean(distribution='normal'):
    """
    세 가지 분포에서 ARE(중앙값, 평균) 계산.
    분자: σ² (평균의 점근 분산)
    분모: 1/(4f(μ)²) (중앙값의 점근 분산)
    """
    if distribution == 'normal':
        f_mu = norm.pdf(0)          # 1/√(2π)
        sigma2 = 1.0                 # N(0,1)의 분산
    elif distribution == 'logistic':
        f_mu = logistic.pdf(0)       # 1/4
        sigma2 = np.pi**2 / 3        # 로지스틱 분산
    elif distribution == 'double_exponential':
        f_mu = laplace.pdf(0)        # 1/2
        sigma2 = 2.0                 # 이중지수 분산

    var_mean   = sigma2              # 평균의 점근 분산
    var_median = 1 / (4 * f_mu**2)  # 중앙값의 점근 분산
    are = var_mean / var_median

    print(f"[{distribution:20s}] f(μ) = {f_mu:.4f}, σ² = {sigma2:.4f}, "
          f"Var(median) = {var_median:.4f}, ARE = {are:.4f}")

print("\nARE(중앙값, 평균) 비교:")
are_median_mean('normal')
are_median_mean('logistic')
are_median_mean('double_exponential')


# 붕괴점 vs ARE trade-off 시각화 (출력 기반)
print("\n추정량 비교 요약:")
print(f"{'추정량':<20} {'붕괴점':>8} {'정규 ARE':>10} {'강건성':>10}")
print("-" * 52)
print(f"{'표본 평균':<20} {'0%':>8} {'1.000':>10} {'낮음':>10}")
print(f"{'Huber (k=1.5)':<20} {'~7.5%':>8} {'0.960':>10} {'중간':>10}")
print(f"{'표본 중앙값':<20} {'50%':>8} {'0.637':>10} {'높음':>10}")

12 핵심 요약

강건성 계층 (붕괴점 기준):

  표본 평균        표본 중앙값
  (BD = 0%)  ←────────────────→  (BD = 50%)
              Huber M-추정량
              (BD = 0 ~ 50%)
                   ↑ k 조절

  k → 0: 중앙값에 수렴 (강건, 덜 효율적)
  k → ∞: 평균에 수렴 (효율적, 덜 강건)
  k = 1.5: 정규에서 4% 효율 손실, 이상치 내성 보유
핵심 결과 내용
표본 평균의 취약점 코시 오염 → 분산 \(\infty\), 붕괴점 = 0
중앙값 점근 분산 \(1/(4f(\mu)^2)\)
ARE(중앙값, 평균), 정규 \(2/\pi \approx 0.637\)
M-추정량 ARE 상한 \(\leq 1\) (MLE 대비, 코시-슈바르츠)
Huber \(k=1.5\), 정규 ARE \(= 0.96\) — 효율성을 거의 포기하지 않고 강건성 획득

13 관련 주제

선행 지식

후속 주제

관련 개념

14 참고 문헌

  • Casella, G. & Berger, R. L. (2002). Statistical Inference (2nd ed.). Duxbury. Ch.10.
  • Huber, P. J. (1964). Robust estimation of a location parameter. Annals of Mathematical Statistics, 35(1), 73–101.
  • Huber, P. J. (1981). Robust Statistics. Wiley.
  • Hampel, F. R. (1974). The influence curve and its role in robust estimation. JASA, 69, 383–393.

Subscribe

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