1 개요
추정량 평가 방법에서 MSE, Cramer-Rao, Rao-Blackwell을 다루었고, 최선 비편향 추정량에서 비편향 클래스 내의 최적성을 다루었다. 이 포스트에서는 MSE를 포함하는 더 일반적인 프레임워크인 손실함수 최적성(Loss Function Optimality) 과 의사결정 이론(Decision Theory) 의 기초를 다룬다 (Casella & Berger, 2002, Ch.7.3.4).
의사결정 이론은 비편향성이라는 제약을 두지 않고, 편향과 분산을 동시에 고려하는 프레임워크이다. “좋은 추정량”의 정의가 손실함수의 선택에 의해 달라진다는 것이 핵심 통찰이다.
2 손실함수 (Loss Function)
2.1 정의
데이터 \(\mathbf{X} \sim f(\mathbf{x}|\theta)\), \(\theta \in \Theta\) 가 관측된 후 행동(action) \(a \in \mathcal{A}\) 를 선택한다. 점추정에서는 보통 \(\mathcal{A} = \Theta\) 이다.
손실함수 \(L(\theta, a) \geq 0\) 는 참값이 \(\theta\) 일 때 행동 \(a\) 를 선택하는 비용을 측정한다. \(L(\theta, \theta) = 0\) (정확한 추정의 손실은 0)이고, \(|a - \theta|\) 가 커질수록 \(L\) 도 증가한다.
2.2 주요 손실함수
| 손실함수 | \(L(\theta, a)\) | 특성 |
|---|---|---|
| 제곱 오차 | \((a - \theta)^2\) | 가장 널리 사용, 해석 용이 |
| 절대 오차 | \(|a - \theta|\) | 이상치에 강건 |
| 0-1 손실 | \(I(a \neq \theta)\) | 정확한 값만 허용 (이산 모수) |
| 비대칭 제곱 | \(w(\theta)(a-\theta)^2\) | 방향별 다른 벌점 |
| 상대 제곱 오차 | \((a-\theta)^2/(|\theta|+1)\) | \(\theta\) 크기에 비례한 벌점 |
| Stein 손실 | \(a/\theta - 1 - \log(a/\theta)\) | 분산 추정에 적합 (아래 참조) |
손실함수 설계 원칙: 실험자가 다양한 \(\theta\) 값에서 추정 오류의 결과(consequence) 를 고려하여 설계한다. 예를 들어, 과소추정이 과대추정보다 위험한 문제에서는 비대칭 손실이 적절하다.
2.3 제곱 오차 vs 절대 오차
| 기준 | 제곱 오차 \((a-\theta)^2\) | 절대 오차 \(|a-\theta|\) |
|---|---|---|
| 큰 오차 벌점 | 매우 크다 (\(O(d^2)\)) | 보통 (\(O(d)\)) |
| 작은 오차 벌점 | 작다 (\(O(d^2)\)) | 상대적으로 크다 (\(O(d)\)) |
| 미분 가능성 | 전체에서 미분 가능 | \(a = \theta\) 에서 불가능 |
| 최적 베이즈 추정량 | 사후 평균 | 사후 중앙값 |
| 해석적 다루기 용이 | 매우 좋음 | 보통 |
3 위험함수 (Risk Function)
3.1 정의
추정량(결정 규칙) \(\delta(\mathbf{X})\) 의 위험함수는
\[ R(\theta, \delta) = E_\theta[L(\theta, \delta(\mathbf{X}))] \]
주어진 \(\theta\) 에서 \(\delta\) 를 사용할 때의 평균 손실이다.
제곱 오차 손실에서는
\[ R(\theta, \delta) = E_\theta[(\delta(\mathbf{X}) - \theta)^2] = \text{Var}_\theta(\delta) + [\text{Bias}_\theta(\delta)]^2 = \text{MSE}_\theta(\delta) \]
즉, MSE는 제곱 손실의 위험함수이다.
위험함수는 \(\theta\) 의 함수이므로, 두 추정량의 위험함수가 교차할 수 있다. 모든 \(\theta\) 에서 동시에 최소 위험을 가지는 추정량은 일반적으로 존재하지 않는다 — 이것이 평가를 어렵게 만드는 근본 원인이다.
4 허용성 (Admissibility)
4.1 정의
추정량 \(\delta\) 가 허용(admissible) 이란, 모든 \(\theta\) 에서 \(R(\theta, \delta') \leq R(\theta, \delta)\) 이고 어떤 \(\theta_0\) 에서 \(R(\theta_0, \delta') < R(\theta_0, \delta)\) 인 추정량 \(\delta'\) 가 존재하지 않는 것이다.
비허용(inadmissible) 추정량은 다른 추정량에 의해 모든 곳에서 지배되므로, 사용할 합리적 이유가 없다.
4.2 예시: 정규 분산 추정
\(X_1, \ldots, X_n \overset{\text{iid}}{\sim} N(\mu, \sigma^2)\) 에서 \(\sigma^2\) 를 제곱 손실로 추정한다.
\(\delta_b = bS^2\) 형태의 추정량 클래스를 고려한다. 위험함수는
\[ R((\mu, \sigma^2), \delta_b) = \text{Var}(bS^2) + (\text{Bias}(bS^2))^2 = \frac{2b^2\sigma^4}{n-1} + (b-1)^2\sigma^4 = c_b \, \sigma^4 \]
여기서 \(c_b = \frac{2b^2}{n-1} + (b-1)^2\) 이다. \(c_b\) 를 최소화하는 \(b\) 를 구하면
\[ \frac{dc_b}{db} = \frac{4b}{n-1} + 2(b-1) = 0 \quad \Longrightarrow \quad b^* = \frac{n-1}{n+1} \]
따라서 이 클래스에서 최적 추정량은
\[ \tilde{S}^2 = \frac{n-1}{n+1}S^2 = \frac{1}{n+1}\sum(X_i - \bar{X})^2 \]
세 추정량의 비교:
| 추정량 | \(b\) | \(c_b\) (\(n=5\)) | 편향 | 해석 |
|---|---|---|---|---|
| \(S^2\) (비편향/UMVUE) | \(1\) | \(0.500\) | \(0\) | 비편향이지만 위험 최소가 아님 |
| \(\hat{\sigma}^2\) (MLE) | \(\frac{n-1}{n}\) | \(0.360\) | \(-\sigma^2/n\) | \(S^2\) 보다 위험 작음 |
| \(\tilde{S}^2\) (최적) | \(\frac{n-1}{n+1}\) | \(0.333\) | \(-2\sigma^2/(n+1)\) | \(bS^2\) 클래스에서 모든 곳에서 최선 |
\(S^2\) 는 비편향이지만 \(\tilde{S}^2\) 에 의해 모든 곳에서 지배된다 — 제곱 손실 하에서 \(S^2\) 는 비허용이다. 비편향성은 허용성을 보장하지 않는다.
5 Stein 손실함수
척도 모수(\(\sigma^2\)) 추정에서 제곱 손실의 한계를 극복하는 대안이다.
\[ L(\sigma^2, a) = \frac{a}{\sigma^2} - 1 - \log\frac{a}{\sigma^2} \]
성질:
- \(a = \sigma^2\) 이면 \(L = 0\) (정확한 추정)
- \(a \to 0\) 이면 \(L \to \infty\) (과소추정에 큰 벌점)
- \(a \to \infty\) 이면 \(L \to \infty\) (과대추정에도 큰 벌점)
- 제곱 손실과 달리, 과소추정과 과대추정을 균형있게 벌점화한다
\(\delta_b = bS^2\) 의 위험함수:
\[ R(\sigma^2, \delta_b) = E\!\left[\frac{bS^2}{\sigma^2} - 1 - \log\frac{bS^2}{\sigma^2}\right] = b - 1 - \log b - E\!\left[\log\frac{S^2}{\sigma^2}\right] \]
\(E[\log(S^2/\sigma^2)]\) 는 \(b\) 에 무관하므로, \(R\) 을 최소화하는 \(b\) 는 \(b - \log b\) 를 최소화하는 값이다.
\[ \frac{d}{db}(b - \log b) = 1 - \frac{1}{b} = 0 \quad \Longrightarrow \quad b^* = 1 \]
Stein 손실 하에서 최적 추정량은 \(\delta_1 = S^2\) — 비편향 추정량이 최적이다. 이것은 정규성 가정 없이, iid 양의 분산만 있으면 성립한다.
교훈: 최적 추정량은 손실함수에 의존한다. 제곱 손실에서는 \(\frac{n-1}{n+1}S^2\) 가 최적이고, Stein 손실에서는 \(S^2\) 가 최적이다.
6 미니맥스 원칙 (Minimax Principle)
6.1 정의
위험함수가 \(\theta\) 의 함수이므로, \(\theta\) 를 모르는 상태에서 추정량을 선택해야 한다. 미니맥스 원칙은 최악의 경우를 최소화하는 보수적 전략이다.
\[ \delta_{\text{minimax}} = \arg\min_\delta \max_\theta R(\theta, \delta) \]
직관: 자연이 적대적이라 가정하고, 자연이 최악의 \(\theta\) 를 선택하더라도 손해가 최소가 되는 추정량을 선택한다. 게임 이론의 안장점(saddle point)과 연결된다.
6.2 예시: 이항분포의 미니맥스 추정
\(X_1, \ldots, X_n \overset{\text{iid}}{\sim} \text{Bernoulli}(p)\), 제곱 손실에서
MLE \(\hat{p} = \bar{X}\) 의 위험함수: \(R(p, \hat{p}) = p(1-p)/n\). 최대 위험은 \(p = 1/2\) 에서 \(1/(4n)\).
베이즈 추정량 \(\hat{p}_B = (Y + \sqrt{n/4})/(n + \sqrt{n})\) 의 위험함수는 상수 \(n/(4(n+\sqrt{n})^2)\) 이다.
미니맥스 추정량은 상수 위험(constant risk) 을 가지는 추정량 중에서 찾는 것이 일반적이며, 이 경우 \(\hat{p}_B\) 가 미니맥스 추정량이다.
7 베이즈 위험과 베이즈 규칙
7.1 베이즈 위험
위험함수가 \(\theta\) 의 함수이므로, 사전분포 \(\pi(\theta)\) 로 평균하면 하나의 숫자로 요약된다.
\[ r(\pi, \delta) = \int_\Theta R(\theta, \delta) \, \pi(\theta) \, d\theta = E_\pi[R(\theta, \delta)] \]
이것이 베이즈 위험(Bayes risk) 이다.
베이즈 위험을 최소화하는 추정량 \(\delta^\pi\) 를 베이즈 규칙(Bayes rule) 이라 한다.
\[ \delta^\pi = \arg\min_\delta r(\pi, \delta) \]
7.2 사후 기대 손실에 의한 도출
\(f(\mathbf{x}|\theta)\pi(\theta) = \pi(\theta|\mathbf{x})m(\mathbf{x})\) 를 사용하면 베이즈 위험을 재배열할 수 있다:
\[ r(\pi, \delta) = \int_\mathcal{X} \left[\int_\Theta L(\theta, \delta(\mathbf{x})) \, \pi(\theta|\mathbf{x}) \, d\theta\right] m(\mathbf{x}) \, d\mathbf{x} \]
대괄호 안의 양이 사후 기대 손실(posterior expected loss) 이다.
\[ \rho(\delta(\mathbf{x})|\mathbf{x}) = E[L(\theta, \delta(\mathbf{x}))|\mathbf{x}] = \int_\Theta L(\theta, \delta(\mathbf{x})) \, \pi(\theta|\mathbf{x}) \, d\theta \]
각 \(\mathbf{x}\) 에서 \(\delta(\mathbf{x})\) 를 선택하여 사후 기대 손실을 최소화하면, 전체 베이즈 위험도 최소화된다.
베이즈 규칙: 각 관측 \(\mathbf{x}\) 에 대해
\[ \delta^\pi(\mathbf{x}) = \arg\min_a E[L(\theta, a)|\mathbf{x}] \]
사후 기대 손실을 최소화하는 행동을 선택한다.
7.3 주요 손실함수의 베이즈 규칙
| 손실함수 | 사후 기대 손실 | 베이즈 규칙 |
|---|---|---|
| \((a-\theta)^2\) | \(\text{Var}(\theta|\mathbf{x}) + (a - E[\theta|\mathbf{x}])^2\) | \(\delta^\pi(\mathbf{x}) = E[\theta|\mathbf{x}]\) (사후 평균) |
| \(|a-\theta|\) | \(E[|\theta - a| \,|\, \mathbf{x}]\) | \(\delta^\pi(\mathbf{x}) = \text{med}(\theta|\mathbf{x})\) (사후 중앙값) |
| \(I(a \neq \theta)\) | \(1 - \max_\theta \pi(\theta|\mathbf{x})\) | \(\delta^\pi(\mathbf{x}) = \text{mode}(\theta|\mathbf{x})\) (MAP) |
제곱 손실의 유도: \(E[(\theta - a)^2|\mathbf{x}] = \text{Var}(\theta|\mathbf{x}) + (E[\theta|\mathbf{x}] - a)^2\) 이므로, 첫 항은 \(a\) 에 무관하고 둘째 항은 \(a = E[\theta|\mathbf{x}]\) 에서 최소이다.
7.4 예시: 이항-베타에서의 세 베이즈 규칙
\(Y \sim \text{Binomial}(n, p)\), 사전분포 \(p \sim \text{Beta}(\alpha, \beta)\) → 사후분포 \(p|y \sim \text{Beta}(y+\alpha, n-y+\beta)\)
| \(y\) (\(n=10\), \(\alpha=\beta=1\)) | MLE (\(y/n\)) | 베이즈 제곱 (\(E[p|y]\)) | 베이즈 절대 (\(\text{med}(p|y)\)) |
|---|---|---|---|
| 0 | \(0.000\) | \(0.083\) | \(0.061\) |
| 3 | \(0.300\) | \(0.333\) | \(0.324\) |
| 5 | \(0.500\) | \(0.500\) | \(0.500\) |
| 7 | \(0.700\) | \(0.667\) | \(0.676\) |
| 10 | \(1.000\) | \(0.917\) | \(0.939\) |
MLE는 극단값(0, 1)을 산출하지만, 베이즈 추정량은 사전분포의 영향으로 극단값을 피한다. 표본 크기가 아무리 커도 사전분포가 약간의 수축을 유발한다.
7.5 정규-정규에서의 베이즈 규칙
\(X_1, \ldots, X_n \overset{\text{iid}}{\sim} N(\theta, \sigma^2)\), 사전 \(\theta \sim N(\mu, \tau^2)\) → 사후 \(\theta|\bar{x} \sim N(\mu_{\text{post}}, \sigma^2_{\text{post}})\)
정규 사후분포는 대칭이므로 평균 = 중앙값이다. 따라서 제곱 손실과 절대 손실의 베이즈 규칙이 동일하다:
\[ \delta^\pi(\bar{x}) = \frac{\tau^2}{\tau^2 + \sigma^2/n}\bar{x} + \frac{\sigma^2/n}{\tau^2 + \sigma^2/n}\mu \]
8 허용성과 베이즈 규칙의 관계
베이즈 규칙과 허용성 사이에는 깊은 연결이 있다.
적절한 사전분포에 대한 유일한 베이즈 규칙은 허용이다.
역으로, 모든 허용 추정량은 (일반적으로) 어떤 사전분포에 대한 베이즈 규칙이거나 베이즈 규칙의 극한이다. 이 관계는 빈도주의와 베이지안을 연결하는 다리 역할을 한다.
9 빈도주의 vs 베이지안 vs 의사결정 이론
| 관점 | 기준 | 방법 | 한계 |
|---|---|---|---|
| 빈도주의 | 비편향 + 최소분산 | UMVUE (Cramer-Rao, Rao-Blackwell) | 비편향 제약이 비합리적일 수 있음 |
| 베이지안 | 사후 기대 손실 최소 | 베이즈 규칙 | 사전분포 선택의 주관성 |
| 의사결정 이론 | 위험함수 전체를 고려 | 허용성, 미니맥스 | 손실함수 선택의 주관성 |
의사결정 이론은 빈도주의와 베이지안을 포괄하는 프레임워크이다. MSE는 제곱 손실의 위험함수이고, UMVUE는 비편향 제약 하의 미니맥스이며, 베이즈 추정량은 사후 기대 손실의 최소화이다.
10 코드 예시
10.1 Step 1: 순수 Python 구현 (정규 분산 추정의 최적 \(b\))
\(bS^2\) 형태에서 제곱 손실과 Stein 손실의 최적 \(b\) 를 비교한다.
import math
n = 10 # 표본 크기
# 제곱 손실: c_b = 2b^2/(n-1) + (b-1)^2
def c_b_squared(b, n):
return 2 * b**2 / (n - 1) + (b - 1)**2
# Stein 손실: g_b = b - log(b) - 1
def g_b_stein(b):
return b - math.log(b) - 1
# 최적 b 계산
b_unbiased = 1.0
b_mle = (n - 1) / n
b_opt_sq = (n - 1) / (n + 1)
b_opt_stein = 1.0
print(f"=== 정규 분산 추정: delta_b = b*S^2 (n={n}) ===\n")
print(f"{'추정량':20s} | {'b':>6s} | {'c_b (제곱)':>10s} | {'g_b (Stein)':>10s}")
print("-" * 55)
for name, b in [("S^2 (비편향)", b_unbiased),
("MLE", b_mle),
("최적 (제곱손실)", b_opt_sq),
("최적 (Stein손실)", b_opt_stein)]:
cb = c_b_squared(b, n)
gb = g_b_stein(b)
print(f" {name:18s} | {b:6.4f} | {cb:10.6f} | {gb:10.6f}")
print(f"\n제곱 손실 최적: b* = (n-1)/(n+1) = {b_opt_sq:.4f}")
print(f"Stein 손실 최적: b* = 1 (비편향 추정량)")
print(f"\n→ 손실함수에 따라 최적 추정량이 다르다")
# 다양한 b에서 c_b 비교
print(f"\n{'b':>6s} | {'c_b':>10s}")
print("-" * 20)
for b_val in [x/10 for x in range(5, 16)]:
print(f" {b_val:4.1f} | {c_b_squared(b_val, n):10.6f}")10.2 Step 2: scipy 구현 (베이즈 규칙: 제곱 vs 절대 손실)
이항-베타 모형에서 세 가지 추정량의 위험함수를 비교한다.
import numpy as np
from scipy.stats import beta, binom
np.random.seed(42)
n = 10
alpha_prior, beta_prior = 1, 1 # 균등 사전
n_sim = 50000
p_values = np.linspace(0.01, 0.99, 50)
# 세 추정량의 위험함수 계산 (제곱 손실)
risk_mle = []
risk_bayes_sq = []
risk_bayes_abs = []
for p in p_values:
r_mle = 0
r_bsq = 0
r_babs = 0
for _ in range(n_sim):
y = np.random.binomial(n, p)
# MLE
p_mle = y / n
# 베이즈 제곱: 사후 평균
p_bayes_sq = (y + alpha_prior) / (n + alpha_prior + beta_prior)
# 베이즈 절대: 사후 중앙값
a_post = y + alpha_prior
b_post = n - y + beta_prior
p_bayes_abs = beta.median(a_post, b_post)
r_mle += (p_mle - p) ** 2
r_bsq += (p_bayes_sq - p) ** 2
r_babs += (p_bayes_abs - p) ** 2
risk_mle.append(r_mle / n_sim)
risk_bayes_sq.append(r_bsq / n_sim)
risk_bayes_abs.append(r_babs / n_sim)
# 최대 위험 비교
print(f"=== 이항분포 추정: 위험함수 비교 (n={n}, 제곱 손실) ===\n")
print(f"{'추정량':25s} | {'최대 위험':>10s} | {'p at max':>8s} | {'평균 위험':>10s}")
print("-" * 60)
for name, risks in [("MLE (y/n)", risk_mle),
("베이즈 제곱 (사후평균)", risk_bayes_sq),
("베이즈 절대 (사후중앙값)", risk_bayes_abs)]:
max_risk = max(risks)
max_p = p_values[np.argmax(risks)]
avg_risk = np.mean(risks)
print(f" {name:23s} | {max_risk:10.6f} | {max_p:8.3f} | {avg_risk:10.6f}")
# 이론값 확인
print(f"\n MLE 최대 위험 이론값: p(1-p)/n|_(p=0.5) = {0.25/n:.6f}")
# 미니맥스 추정량
alpha_mm = np.sqrt(n) / 2
beta_mm = np.sqrt(n) / 2
risk_mm = []
for p in p_values:
r = 0
for _ in range(n_sim):
y = np.random.binomial(n, p)
p_mm = (y + alpha_mm) / (n + 2*alpha_mm)
r += (p_mm - p)**2
risk_mm.append(r / n_sim)
print(f"\n 미니맥스 추정량 (alpha=beta=sqrt(n)/2):")
print(f" 최대 위험: {max(risk_mm):.6f}")
print(f" 최소 위험: {min(risk_mm):.6f}")
print(f" 위험 거의 상수 (차이: {max(risk_mm)-min(risk_mm):.6f})")
print(f" 이론 상수 위험: {n/(4*(n+np.sqrt(n))**2):.6f}")11 관련 주제
선행 지식
- 추정량 평가 방법 — MSE, Cramer-Rao, Rao-Blackwell
- 베이즈 추정량 — 사전-사후 업데이트, 켤레 가족
- 최선 비편향 추정량 — 비편향 제약 하 최적성
상위 주제
후속 주제
- 가설검정 (Ch.8) — 검정에서의 의사결정 이론 (네이만-피어슨)
- 구간추정 (Ch.9) — 손실 기반 구간 추정
12 참고 문헌
- Casella, G. & Berger, R. L. (2002). Statistical Inference (2nd ed.). Duxbury. Chapter 7, Section 7.3.4.
- Berger, J. O. (1985). Statistical Decision Theory and Bayesian Analysis (2nd ed.). Springer.
- James, W. & Stein, C. (1961). Estimation with quadratic loss. Proceedings of the Fourth Berkeley Symposium, 1, 361-379.
- Brown, L. D. (1990). An ancillarity paradox which appears in multiple linear regression. Annals of Statistics, 18, 471-493.
- Lehmann, E. L. & Casella, G. (1998). Theory of Point Estimation (2nd ed.). Springer.