검정의 역전 (Inverting a Test Statistic)

가설검정과 신뢰구간의 완전한 쌍대성 — Theorem 9.2.2 심층 전개

수용역을 역전하여 신뢰집합을 구성하는 방법을 이론·증명·기하학적 해석·예시 수준으로 상세히 다룬다. Theorem 9.2.2의 완전한 증명, 정규·지수·이항 분포 예시, 검정 성질(UMP, 비편향, 충분성)이 구간 성질(UMAU, 비편향 구간)로 전이되는 원리, 역전이 구간을 보장하지 않는 반례까지 포함한다.

Statistics
저자

Kwangmin Kim

공개

2026년 04월 03일

1 개요

가설검정과 구간추정은 표면적으로 다른 절차처럼 보인다. 그러나 이 두 절차는 수학적으로 완전한 쌍대(dual) 관계에 있다 — 하나가 있으면 다른 하나도 자동으로 존재한다.

이 쌍대성을 이용하면 구간추정량을 직접 구성하는 어려운 문제를, 훨씬 다루기 쉬운 가설검정 문제로 환원할 수 있다. 우도비 검정(LRT), 네이만-피어슨 검정, UMP 검정 등 우리가 가진 모든 검정 구성 기법이 즉시 구간추정에 전용된다.

두 절차가 묻는 질문:

절차 고정 대상 찾는 대상
가설검정 모수 \(\theta_0\) (귀무) 이 표본이 \(\theta_0\) 와 일치하는가?
구간추정 표본 \(\mathbf{x}\) (관측) 어떤 \(\theta_0\) 가 이 표본과 일치하는가?

두 질문은 같은 “일치성(consistency)” 구조를 서로 다른 방향에서 바라본 것이다.


2 핵심 동치 관계

검정과 구간의 연결은 다음 단 하나의 동치 관계로 요약된다:

\[\mathbf{x} \in A(\theta_0) \;\Longleftrightarrow\; \theta_0 \in C(\mathbf{x})\]

  • \(A(\theta_0)\): \(H_0: \theta = \theta_0\) 의 수용역(acceptance region) — 표본공간의 부분집합
  • \(C(\mathbf{x})\): 표본 \(\mathbf{x}\) 에서 구성된 신뢰집합 — 모수공간의 부분집합

이 동치가 성립하는 한, 수용역 \(A(\theta_0)\) 를 알면 신뢰집합 \(C(\mathbf{x})\) 가 결정되고, 역으로 신뢰집합 \(C(\mathbf{x})\) 를 알면 수용역 \(A(\theta_0)\) 가 결정된다.


3 이론: 검정과 신뢰집합의 쌍대성

정리 9.2.2 (Casella & Berger, 2002): 검정과 신뢰집합의 대응

전방향: 각 \(\theta_0 \in \Theta\) 에 대해, \(H_0: \theta = \theta_0\) 의 수준(level) \(\alpha\) 검정의 수용역을 \(A(\theta_0)\) 라 하면, 각 \(\mathbf{x} \in \mathcal{X}\) 에 대해 정의한

\[C(\mathbf{x}) = \{\theta_0 : \mathbf{x} \in A(\theta_0)\}\]

\(1 - \alpha\) 신뢰집합이다.

역방향: \(C(X)\)\(1 - \alpha\) 신뢰집합이면, 각 \(\theta_0 \in \Theta\) 에 대해 정의한

\[A(\theta_0) = \{\mathbf{x} : \theta_0 \in C(\mathbf{x})\}\]

\(H_0: \theta = \theta_0\) 의 수준 \(\alpha\) 검정의 수용역이다.

3.1 증명

전방향 증명:

\(A(\theta_0)\) 는 수준 \(\alpha\) 검정의 수용역이므로, 임의의 \(\theta_0 \in \Theta\) 에 대해

\[P_{\theta_0}(X \notin A(\theta_0)) \leq \alpha \;\Longrightarrow\; P_{\theta_0}(X \in A(\theta_0)) \geq 1 - \alpha\]

임의의 \(\theta \in \Theta\) 를 취하고 \(\theta_0 = \theta\) 로 놓으면,

\[P_\theta(\theta \in C(X)) = P_\theta(X \in A(\theta)) \geq 1 - \alpha\]

마지막 등호는 \(C(\mathbf{x})\) 의 정의에서

\[\theta \in C(\mathbf{x}) \;\Longleftrightarrow\; \mathbf{x} \in A(\theta)\]

이기 때문이다. 따라서 \(C(X)\) 의 피복확률(coverage probability)이 모든 \(\theta\) 에서 \(1-\alpha\) 이상이므로, 신뢰계수(confidence coefficient) \(\geq 1-\alpha\) 다. \(\square\)

역방향 증명:

\(C(X)\)\(1-\alpha\) 신뢰집합이므로, \(P_{\theta_0}(\theta_0 \in C(X)) \geq 1-\alpha\). \(A(\theta_0)\) 의 정의에 의해

\[P_{\theta_0}(X \notin A(\theta_0)) = P_{\theta_0}(\theta_0 \notin C(X)) \leq \alpha\]

따라서 \(A(\theta_0)\) 는 수준 \(\alpha\) 검정의 수용역이다. \(\square\)


3.2 정리 해석

실용적 의미: 수용역 구성은 쉽지만(기각역의 여집합), 신뢰집합 직접 구성은 어렵다. 정리 9.2.2는 전자 → 후자의 자동 변환을 제공한다.

중요 주의사항: “검정 하나를 역전”하는 것이 아니라 \(\Theta\) 위에 정의된 검정의 족(family)을 역전한다. 각 \(\theta_0 \in \Theta\) 마다 하나의 수용역 \(A(\theta_0)\) 가 있고, 이 족 전체를 역전하여 하나의 신뢰집합을 얻는다.

성질 전이: 검정이 좋은 성질을 가지면 역전된 신뢰집합도 대응되는 좋은 성질을 가진다 — 이 원리는 뒤에서 자세히 다룬다.


4 기하학적 해석

정규분포 \(N(\mu, \sigma^2)\) (\(\sigma^2\) 알려짐) 예시로 기하학적 구조를 이해한다.

수용역 \(A(\mu_0)\): \(\mu_0\) 를 고정하면, 표본공간에서 \(H_0: \mu = \mu_0\) 를 수용하는 \(\bar{x}\) 값들의 집합이다:

\[A(\mu_0) = \left\{\bar{x} : \mu_0 - z_{\alpha/2}\frac{\sigma}{\sqrt{n}} \leq \bar{x} \leq \mu_0 + z_{\alpha/2}\frac{\sigma}{\sqrt{n}}\right\}\]

신뢰집합 \(C(\bar{x})\): \(\bar{x}\) 를 고정하면, 모수공간에서 이 표본을 수용하는 \(\mu_0\) 값들의 집합이다:

\[C(\bar{x}) = \left\{\mu_0 : \bar{x} - z_{\alpha/2}\frac{\sigma}{\sqrt{n}} \leq \mu_0 \leq \bar{x} + z_{\alpha/2}\frac{\sigma}{\sqrt{n}}\right\}\]

\((\mu, \bar{x})\) 평면에서의 시각화: 두 경계선

\[\bar{x} = \mu + z_{\alpha/2}\frac{\sigma}{\sqrt{n}}, \quad \bar{x} = \mu - z_{\alpha/2}\frac{\sigma}{\sqrt{n}}\]

이 두 직선 사이의 대각 밴드(band) 안에 점 \((\mu_0, \bar{x}^*)\) 가 있으면:

  • 수직 방향 단면 (\(\mu_0\) 고정): \(A(\mu_0)\) — “이 \(\mu_0\) 와 일치하는 \(\bar{x}\) 범위”
  • 수평 방향 단면 (\(\bar{x}^*\) 고정): \(C(\bar{x}^*)\) — “이 \(\bar{x}^*\) 와 일치하는 \(\mu_0\) 범위”

수직 단면과 수평 단면이 동일한 밴드의 두 가지 슬라이스이므로, 피복확률이 정확히 \(1-\alpha\) 임이 기하적으로 명확하다.

\((\mu_0, \bar{x})\) 평면의 동치 관계:

\[(\mu_0, \bar{x}) \text{ 가 밴드 안} \;\Longleftrightarrow\; \bar{x} \in A(\mu_0) \;\Longleftrightarrow\; \mu_0 \in C(\bar{x})\]


5 예시 모음

5.1 예시 1: 정규분포 양측 z-구간 (분산 알려짐)

설정: \(X_1, \ldots, X_n \overset{\text{iid}}{\sim} N(\mu, \sigma^2)\), \(\sigma^2\) 알려짐

검정: \(H_0: \mu = \mu_0\) vs \(H_1: \mu \neq \mu_0\), 크기 \(\alpha\) (최강력 비편향 검정)

수용역:

\[A(\mu_0) = \left\{\mathbf{x} : \left|\bar{x} - \mu_0\right| \leq z_{\alpha/2}\frac{\sigma}{\sqrt{n}}\right\}\]

역전: \(\mathbf{x} \in A(\mu_0) \Leftrightarrow |\bar{x} - \mu_0| \leq z_{\alpha/2}\sigma/\sqrt{n} \Leftrightarrow \mu_0 \in [\bar{x} \pm z_{\alpha/2}\sigma/\sqrt{n}]\)

\[C(\mathbf{x}) = \left[\bar{x} - z_{\alpha/2}\frac{\sigma}{\sqrt{n}},\; \bar{x} + z_{\alpha/2}\frac{\sigma}{\sqrt{n}}\right]\]

피복확률: 정확히 \(1-\alpha\) (모든 \(\mu\) 에서 상수) — 연속 분포이기 때문이다.

so what: \(z\)-구간이 “정확(exact)” 한 이유가 여기 있다. 양측 검정의 피복확률이 \(\theta\) 무관 상수이면, 역전된 구간도 정확한 신뢰계수를 가진다.


5.2 예시 2: 정규분포 단측 t-구간 (분산 미지)

설정: \(X_i \overset{\text{iid}}{\sim} N(\mu, \sigma^2)\), \(\sigma^2\) 미지. 상측 신뢰한계 \((-\infty, U(\mathbf{x})]\) 를 구하려 한다.

검정: \(H_0: \mu = \mu_0\) vs \(H_1: \mu < \mu_0\) (대립가설이 “큰 \(\mu_0\)” 를 지정 → 신뢰집합은 “작은 \(\mu_0\)” 를 모음)

t-검정의 크기 \(\alpha\) 기각역: \(\left\{\mathbf{x} : \frac{\bar{x} - \mu_0}{S/\sqrt{n}} < -t_{n-1,\alpha}\right\}\)

수용역:

\[A(\mu_0) = \left\{\mathbf{x} : \bar{x} \geq \mu_0 - t_{n-1,\alpha}\frac{S}{\sqrt{n}}\right\}\]

역전: \(\mathbf{x} \in A(\mu_0) \Leftrightarrow \bar{x} \geq \mu_0 - t_{n-1,\alpha}s/\sqrt{n} \Leftrightarrow \mu_0 \leq \bar{x} + t_{n-1,\alpha}s/\sqrt{n}\)

\[C(\mathbf{x}) = \left(-\infty,\; \bar{x} + t_{n-1,\alpha}\frac{s}{\sqrt{n}}\right]\]

규칙: 단측 검정(\(H_1: \mu < \mu_0\))을 역전하면 단측 신뢰구간(상측 한계)이 나온다. 대립가설 방향과 신뢰구간의 열린 방향이 반대임에 주목한다.


5.3 예시 3: LRT 역전 — 지수분포 평균

설정: \(X_1, \ldots, X_n \overset{\text{iid}}{\sim} \text{Exp}(\lambda)\)

검정: \(H_0: \lambda = \lambda_0\) vs \(H_1: \lambda \neq \lambda_0\)

우도비 통계량: \(\lambda(\mathbf{x}) = \frac{\sup_{\lambda=\lambda_0} L(\lambda|\mathbf{x})}{\sup_{\lambda} L(\lambda|\mathbf{x})}\). LRT 계산으로

\[\text{LRT 통계량} = \left(\frac{\sum x_i}{n\lambda_0}\right)^n e^{n - \sum x_i/\lambda_0}\]

수용역: 이 통계량 \(\geq k^*\) (수용역 확률이 \(1-\alpha\) 가 되도록 \(k^*\) 결정)

역전: \(k^*\) 이상인 \(\lambda_0\) 값들의 집합

\[C(\mathbf{x}) = \left\{\lambda : \left(\frac{\sum x_i}{\lambda}\right)^n e^{-\sum x_i/\lambda} \geq k^*\right\}\]

이 집합이 구간 \([L, U]\) 임을 보이기 위해, \(a = \sum x_i/L\), \(b = \sum x_i/U\) (\(a > b\)) 로 치환하면 \(a^n e^{-a} = b^n e^{-b}\) 를 수치 풀이로 찾는다.

\(n = 2\), \(\alpha = 0.10\) 수치 예시: \(a \approx 5.480\), \(b \approx 0.441\) 이므로

\[C(\mathbf{x}) = \left[\frac{\sum x_i}{5.480},\; \frac{\sum x_i}{0.441}\right]\]

비교: 피벗 방법(9.2.2)으로 얻은 \(\chi^2\) 기반 구간과 일반적으로 다르다. LRT 기반 구간은 우도가 높은 \(\lambda\) 값들의 집합이라는 해석을 가진다 (likelihood region).


5.4 예시 4: 이항 분포 단측 신뢰구간 (Clopper-Pearson)

설정: \(X_i \overset{\text{iid}}{\sim} \text{Bernoulli}(p)\), \(T = \sum X_i \sim \text{Bin}(n, p)\)

목표: \(p\)\(1-\alpha\) 하측 신뢰구간 \((L(T), 1]\)

검정: \(H_0: p = p_0\) vs \(H_1: p > p_0\). 이항 분포가 단조 우도비(MLR) 성질을 가지므로, 카를린-루빈 정리에 의해 UMP 검정이 존재한다:

\[\text{기각역}: \{T > k(p_0)\}, \quad k(p_0) \text{ s.t.} \sum_{y=0}^{k(p_0)}\binom{n}{y}p_0^y(1-p_0)^{n-y} \geq 1-\alpha\]

수용역: \(A(p_0) = \{T \leq k(p_0)\}\)

이항 CDF \(F(k|p_0) = \sum_{y=0}^k \binom{n}{y}p_0^y(1-p_0)^{n-y}\)\(p_0\) 에 대해 감소함수이므로, \(k(p_0)\)\(p_0\) 에 대해 비감소 계단함수다.

역전: 관측값 \(T = t\) 에 대해

\[C(t) = \{p_0 : t \leq k(p_0)\} = (k^{-1}(t), 1]\]

여기서

\[k^{-1}(t) = \sup\left\{p : \sum_{y=0}^{t-1}\binom{n}{y}p^y(1-p)^{n-y} \geq 1-\alpha\right\}\]

이 하측 신뢰한계는 베타 분포의 분위수로 표현된다: \(L(t) = B(t, n-t+1; \alpha)\) (베타 분포의 \(\alpha\) 분위수).

이산 분포의 보수성(conservatism): 이산 분포에서는 수용역의 크기(size)가 정확히 \(\alpha\) 가 되는 \(k(p_0)\) 가 존재하지 않을 수 있다. \(k(p_0)\) 를 보수적으로 선택하므로 실제 신뢰계수는 \(1-\alpha\) 보다 크다.


5.5 예시 5: 양측 이항 Clopper-Pearson 구간

목표: \(p\)\(1-\alpha\) 양측 신뢰구간 \([L(T), U(T)]\)

\(H_0: p = p_0\) vs \(H_1: p \neq p_0\) 에 대해 등분할 수용역 (각 꼬리에 \(\alpha/2\))을 역전한다. 관측값 \(T = t\) 에 대해:

\[L(t) = B(t, n-t+1; \alpha/2), \quad U(t) = B(t+1, n-t; 1-\alpha/2)\]

여기서 \(B(a, b; q)\)\(\text{Beta}(a, b)\) 분포의 \(q\) 분위수다. 특수 경우:

  • \(t = 0\): \(L = 0\), \(U = 1 - (\alpha/2)^{1/n}\)
  • \(t = n\): \(L = (\alpha/2)^{1/n}\), \(U = 1\)

Clopper & Pearson (1934)이 처음 도출한 이 구간은 모든 \(p\) 에서 피복확률이 \(1-\alpha\) 이상임을 보장하는 정확(exact) 구간이다.


6 검정 성질 → 구간 성질 전이

검정의 좋은 성질은 역전된 신뢰집합에 대응되는 성질로 전이된다. 이것이 검정 역전 방법의 가장 중요한 이론적 의미다.

6.1 UMP 검정 → UMAU 구간

단조 우도비(MLR) 성질을 가진 분포에서 UMP(균일 최강력) 검정이 존재한다. 이 검정을 역전하면 UMAU(Uniformly Most Accurate Unbiased) 구간이 얻어진다.

UMAU 구간의 정의

\(1-\alpha\) 비편향 신뢰집합 중, 임의의 \(\theta' \neq \theta\) 에 대해

\[P_\theta(\theta' \in C(X)) \leq P_\theta(\theta' \in C'(X))\]

가 모든 \(1-\alpha\) 비편향 신뢰집합 \(C'(X)\) 와 모든 \((\theta, \theta')\) 에 대해 성립하는 집합 \(C(X)\) 를 UMAU 구간이라 한다.

직관: UMAU 구간은 “틀린 모수값을 포함할 확률”을 모든 비편향 구간 중 최소화한다. 즉 가장 “예리(sharp)”한 비편향 구간이다.

이항 분포 예시: Clopper-Pearson 단측 구간 \((L(T), 1]\) 은 UMP 검정을 역전해서 얻었으므로 UMAU 구간이다.

6.2 비편향 검정 → 비편향 구간

검정이 비편향(unbiased)이면 역전된 구간도 비편향이다.

검정 비편향성: \(P_\theta(\mathbf{X} \in R(\theta_0)) \leq \alpha\) (참값 \(\theta\) 에서 기각역에 들어갈 확률 \(\leq \alpha\))

구간 비편향성: \(P_\theta(\theta \in C(X)) \geq P_\theta(\theta' \in C(X))\) for all \(\theta' \neq \theta\)

즉, 구간이 참값을 포함할 확률이 오류값을 포함할 확률보다 항상 크다.

6.3 충분통계량 집중 → 충분통계량 기반 구간

검정은 충분통계량 \(T(\mathbf{X})\) 에 집중해야 최적이다(라오-블랙웰). 따라서 역전된 신뢰집합도 충분통계량만을 통해 \(\mathbf{x}\) 에 의존한다:

\[C(\mathbf{x}) = \{\theta_0 : T(\mathbf{x}) \in A(\theta_0)\}\]

실용적 결론: 구간을 구성할 때 충분통계량에만 집중하면 된다.


7 역전이 구간을 보장하지 않는 경우

정리 9.2.2는 신뢰집합(confidence set)을 보장하지만, 그것이 항상 구간(interval)이 됨을 보장하지 않는다.

7.1 Sterne 방법의 반례

Sterne (1954)은 이항 분포 \(X \sim \text{Bin}(3, p)\) 에 대해 최단 길이 수용역을 구성했다. 신용확률 \(1-\alpha = 0.442\) 에서 수용역을 역전한 결과, 일부 \(x\) 에 대해 신뢰집합이 구간이 아닌 두 개의 분리된 구간의 합집합으로 나타난다:

\[x = 0 \Rightarrow C(0) = [0, 0.305) \cup (0.362, 0.366)\]

이 “구멍 뚫린” 신뢰집합은 형식적으로는 유효하지만 해석하기 어렵다.

원인: 이산 분포에서 CDF가 우리의 직관대로 단조 행동하지 않는 경우가 있기 때문이다. 특히 최단 길이 수용역을 추구할 때 발생하기 쉽다.

대안: 구간 형태를 보장하려면 CDF가 \(\theta\) 에 대해 단조여야 한다(9.2.3의 CDF 피벗팅 참조). 이산 분포에서 구간 형태를 강제하면 최단 길이를 포기해야 한다.

7.2 언제 구간이 보장되는가

역전된 신뢰집합이 구간이 되는 충분조건:

  1. 연속 분포: 모든 \(\mathbf{x}\) 에서 \(Q(\mathbf{x}, \theta)\)\(\theta\) 에 대해 단조 — 위치·척도족
  2. CDF 단조성: \(F_T(t|\theta)\)\(\theta\) 에 대해 단조 (Thm 9.2.12 조건)
  3. 충분통계량 기반: 충분통계량의 분포가 잘 행동하는 경우

검정 구성 방법이 이 조건들을 만족하면 역전된 집합은 자동으로 구간이 된다.


8 대표본 근사 구간 (Wald Interval)

MLE의 점근 정규성을 이용하면 검정 역전의 대표본 버전을 얻는다. 정칙 조건 하에서

\[\sqrt{n}(\hat{\theta} - \theta) \xrightarrow{d} N(0, I(\theta)^{-1})\]

이를 이용한 왈드(Wald) 검정의 수용역:

\[A(\theta_0) = \left\{\mathbf{x} : \left|\hat{\theta} - \theta_0\right| \leq z_{\alpha/2} \cdot \widehat{SE}(\hat{\theta})\right\}\]

역전하면

\[C(\mathbf{x}) = \hat{\theta} \pm z_{\alpha/2} \cdot \widehat{SE}(\hat{\theta}) = \hat{\theta} \pm \frac{z_{\alpha/2}}{\sqrt{n \cdot \hat{I}(\hat{\theta})}}\]

여기서 \(\hat{I}(\hat{\theta})\) 는 관측 피셔 정보량이다.

왈드 구간의 성질: - 표본 크기 \(n \to \infty\) 에서 점근적으로 정확한 \(1-\alpha\) 피복확률을 가진다 - 소표본에서는 피복확률이 명목 수준과 크게 다를 수 있다 (특히 이항 분포) - MLE의 불변성에 의해 \(\tau(\theta)\) 의 구간도 \(\tau(\hat{\theta}) \pm z_{\alpha/2} \cdot |\tau'(\hat{\theta})| \cdot \widehat{SE}\) 로 구성 가능하다

이항 분포 왈드 vs. Clopper-Pearson: - 왈드: \(\hat{p} \pm z_{\alpha/2}\sqrt{\hat{p}(1-\hat{p})/n}\) — 소표본에서 피복확률 부정확 - 클로퍼-피어슨: 베타 분포 분위수 — 모든 \(n\), \(p\) 에서 \(\geq 1-\alpha\) 보장


9 코드 예시

9.1 Step 1: 순수 Python — 검정 역전 원리 직접 구현

import math

# -------------------------------------------------------
# 기본 구조: A(theta0)를 역전하여 C(x) 구성
# 핵심 동치: x in A(theta0) ↔ theta0 in C(x)
# -------------------------------------------------------

# 예시 1: 정규 z-구간 — |x_bar - mu0| <= z * sigma/sqrt(n)
def z_interval(data, sigma, alpha=0.05):
    n = len(data)
    x_bar = sum(data) / n
    z = 1.9600  # z_{alpha/2} for alpha=0.05
    half_width = z * sigma / math.sqrt(n)
    return x_bar - half_width, x_bar + half_width

# 예시 2: 정규 단측 t-구간 (상측 한계)
# H0: mu = mu0 vs H1: mu < mu0  →  C = (-inf, x_bar + t*s/sqrt(n)]
def t_upper_bound(data, alpha=0.05):
    n = len(data)
    x_bar = sum(data) / n
    s = math.sqrt(sum((x - x_bar)**2 for x in data) / (n - 1))
    t_crit = 1.833  # t_{9, 0.05} for n=10
    return x_bar + t_crit * s / math.sqrt(n)

# 검정 수용역 직접 확인
def check_acceptance(x_bar, mu0, sigma, n, alpha=0.05):
    """A(mu0) = {x: |x_bar - mu0| <= z*sigma/sqrt(n)}"""
    z = 1.9600
    half_width = z * sigma / math.sqrt(n)
    return abs(x_bar - mu0) <= half_width

# 핵심 동치 시연: x in A(mu0) ↔ mu0 in C(x)
data = [7.2, 6.8, 7.5, 8.1, 7.0, 6.5, 7.8, 8.3, 6.9, 7.4]
sigma = 0.6
n = len(data)
x_bar = sum(data) / n
alpha = 0.05

L, U = z_interval(data, sigma, alpha)
print(f"표본 평균: {x_bar:.3f}")
print(f"95% z-신뢰구간: [{L:.3f}, {U:.3f}]")

# 동치 확인: mu0 in [L, U] ↔ x_bar in A(mu0)
for mu0 in [7.0, 7.3, 7.6, 8.0]:
    in_interval = L <= mu0 <= U
    accept = check_acceptance(x_bar, mu0, sigma, n, alpha)
    match = "OK" if in_interval == accept else "MISMATCH"
    print(f"mu0={mu0}: in C(x)={in_interval}, x in A(mu0)={accept} {match}")

9.2 Step 2: scipy — 다양한 역전 구간 구현

import numpy as np
from scipy import stats

# -------------------------------------------------------
# 예시 1: 정규 z/t 구간 (검정 역전)
# -------------------------------------------------------
data = np.array([7.2, 6.8, 7.5, 8.1, 7.0, 6.5, 7.8, 8.3, 6.9, 7.4])
n = len(data)
x_bar, s = np.mean(data), np.std(data, ddof=1)
alpha = 0.05

# z-구간 (sigma=0.6 가정)
sigma = 0.6
z = stats.norm.ppf(1 - alpha/2)
L_z = x_bar - z * sigma / np.sqrt(n)
U_z = x_bar + z * sigma / np.sqrt(n)
print(f"z-구간: [{L_z:.4f}, {U_z:.4f}]")

# t-구간 (sigma 미지)
t_crit = stats.t.ppf(1 - alpha/2, df=n-1)
se = s / np.sqrt(n)
L_t, U_t = x_bar - t_crit * se, x_bar + t_crit * se
print(f"t-구간: [{L_t:.4f}, {U_t:.4f}]")

# 단측 상한 (H0: mu=mu0 vs H1: mu<mu0)
t_one = stats.t.ppf(1 - alpha, df=n-1)
U_one = x_bar + t_one * se
print(f"단측 상한 (95%): (-inf, {U_one:.4f}]")

# -------------------------------------------------------
# 예시 2: Clopper-Pearson 이항 구간 (검정 역전)
# -------------------------------------------------------
def clopper_pearson(t, n, alpha=0.05):
    """UMP 검정 역전 → UMAU 구간"""
    # L(t) = Beta(t, n-t+1; alpha/2) 분위수
    # U(t) = Beta(t+1, n-t; 1-alpha/2) 분위수
    if t == 0:
        L = 0.0
    else:
        L = stats.beta.ppf(alpha/2, t, n - t + 1)
    if t == n:
        U = 1.0
    else:
        U = stats.beta.ppf(1 - alpha/2, t + 1, n - t)
    return L, U

# 이항 성공 횟수 예시
n_binom, t_obs = 20, 7
L_cp, U_cp = clopper_pearson(t_obs, n_binom)
p_hat = t_obs / n_binom

# Wald 구간과 비교
se_wald = np.sqrt(p_hat * (1 - p_hat) / n_binom)
z = stats.norm.ppf(1 - alpha/2)
L_wald = p_hat - z * se_wald
U_wald = p_hat + z * se_wald

print(f"\n이항 n={n_binom}, t={t_obs} (p_hat={p_hat:.3f})")
print(f"Clopper-Pearson (UMP 역전): [{L_cp:.4f}, {U_cp:.4f}]")
print(f"Wald (대표본 근사):          [{L_wald:.4f}, {U_wald:.4f}]")

# -------------------------------------------------------
# 예시 3: 피복확률 시뮬레이션 — 검정 역전의 피복 보장 확인
# -------------------------------------------------------
def simulate_coverage(true_mu, n, sigma, alpha=0.05, n_sim=10000):
    """z-구간이 true_mu를 포함하는 비율 계산"""
    rng = np.random.default_rng(42)
    samples = rng.normal(true_mu, sigma, size=(n_sim, n))
    means = samples.mean(axis=1)
    z = stats.norm.ppf(1 - alpha/2)
    half = z * sigma / np.sqrt(n)
    covered = np.mean((means - half <= true_mu) & (true_mu <= means + half))
    return covered

for mu in [6.5, 7.0, 7.5, 8.0]:
    cov = simulate_coverage(mu, n=10, sigma=0.6)
    print(f"mu={mu}: 시뮬레이션 피복률 = {cov:.4f} (명목 0.9500)")

결과 해석: - z-구간: 모든 \(\mu\) 에서 피복률이 정확히 \(1-\alpha\) — 분포가 연속이고 수용역이 정확한 크기를 가지기 때문 - Clopper-Pearson vs Wald: 소표본에서 Wald 구간은 피복률이 명목 수준보다 낮을 수 있다. Clopper-Pearson은 항상 \(\geq 1-\alpha\) 이지만 보수적(wider) - 피복률 시뮬레이션: 이론 피복률 \(1-\alpha = 0.95\) 와 일치 — 검정 역전의 피복확률 보장을 경험적으로 확인


10 방법 요약 및 선택 기준

상황 권장 방법
표준 검정통계량이 있는 경우 해당 검정의 수용역을 직접 역전
LRT 수용역 역전이 가능한 경우 LRT 역전 — “우도가 높은 \(\theta\)” 해석
단측 구간이 필요한 경우 단측 검정(\(H_1: \theta < \theta_0\) 또는 \(>\theta_0\)) 역전
최적성이 필요한 경우 UMP 검정 역전 → UMAU 구간
이산 분포, 정확 구간 필요 보수적 역전 (Clopper-Pearson 등)
대표본, 모수가 복잡한 경우 Wald 구간 (MLE ± z·SE)
수용역 역전이 어려운 경우 피벗 방법 또는 CDF 피벗팅으로 전환

11 관련 주제

선행 지식

후속 주제

관련 개념

  • 충분성 원리 — 충분통계량 기반 검정 → 충분통계량 기반 구간
  • 우도원리 — LRT 역전 구간과 우도 기반 구간의 관계
  • 가설검정 심화 (1111-hypothesis-testing.qmd) — UMP, MLR, 네이만-피어슨 보조정리

Subscribe

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