Simple Linear Regression: Simultaneous Estimation and Confidence Bands

Bonferroni 보정, Scheffé 동시 신뢰대, 대안적 대의 형태 — Casella §11.3.6 + Miscellanea 11.5.5

다중 x₀ 에서의 동시 추론을 다룬다. Bonferroni 부등식 기반 동시 구간의 구성, Theorem 11.3.6(Scheffé 동시 신뢰대)의 완전한 증명, Bonferroni–Scheffé 전환점의 정확한 계산, ANOVA Scheffé(§11.2)와의 구조적 대응, 직선형 대(Gafarian)· 유한구간 Scheffé 대(Casella–Strawderman)의 소개, 동시 예측구간의 한계, 그리고 외삽에서의 신뢰대 해석까지 완결적으로 풀어낸다.

Statistics
Regression
저자

Kwangmin Kim

공개

2026년 04월 06일

1 개요

이전 포스트에서 특정 \(x_0\) 에서의 개별 신뢰구간과 예측구간을 유도했다. 하나의 \(x_0\) 에 대해 \(P(\mu(x_0) \in \text{CI}) = 1-\alpha\) 는 보장되지만, 여러 \(x_0\) 에 대해 동시에 이 보장을 유지하는 것은 별개의 문제다.

이 문제는 ANOVA 에서의 동시 대비 추론(Scheffé, Bonferroni; §11.2 포스트 참조)과 구조적으로 동일하다. 차이는 대비의 수가 유한(집단 수)이 아니라 무한(\(x\) 의 모든 실수값)이라는 점이다. 무한 개의 동시 추론을 하나의 \(F\)-분포로 제어하는 것이 Scheffé 의 핵심 아이디어이다.

이 포스트는 Casella & Berger(2002, §11.3.6)의 Theorem 11.3.6을 완전히 증명하고, Bonferroni 와의 체계적 비교, 대안적 대의 형태(Miscellanea 11.5.5), 동시 예측구간의 한계까지 다룬다.


2 문제의 정식화

2.1 개별 구간의 한계

\(m\) 개의 점 \(x_{01}, \ldots, x_{0m}\) 각각에서 수준 \(1-\alpha\) 의 신뢰구간을 구성하면, 동시 커버리지\(1-\alpha\) 미만이다. 정확히 말하면:

\[ P\!\left(\mu(x_{0i}) \in \text{CI}_i \;\text{for all}\; i = 1,\ldots,m\right) \geq 1 - m\alpha \]

가 Bonferroni 부등식에 의한 하한이다. 즉 \(m\) 이 커지면 동시 커버리지가 급격히 하락한다.

2.2 세 가지 접근법

접근법 적용 범위 곱수 정확성
개별 \(t\)-구간 단일 \(x_0\) \(t_{n-2,\alpha/2}\) 정확
Bonferroni 유한 \(m\)\(x_0\) \(t_{n-2,\alpha/(2m)}\) 보수적 (상한)
Scheffé 대 모든 \(x\) 동시 \(\sqrt{2 F_{2,n-2,\alpha}}\) 정확

세 번째가 이 포스트의 주인공이다.


3 Bonferroni 동시 구간 (11.3.42)

3.1 구성

Bonferroni 부등식: \(P(\bigcap_i A_i) \geq 1 - \sum_i P(A_i^c)\).

이 부등식이 보수적인 이유를 직관적으로 이해할 수 있다. Bonferroni 는 “적어도 하나가 틀릴 확률”을 각 사건의 실패 확률의 단순 합으로 상한한다. 그러나 실제로는 구간들이 서로 상관되어 있으므로(같은 \(\hat\alpha, \hat\beta, S\) 에서 나오므로), “하나가 틀리면 다른 것도 틀릴 가능성이 높다.” 이 겹침(overlap)을 무시하고 합산하기 때문에 실제 실패 확률보다 과대추정하며, 결과적으로 구간이 필요 이상으로 넓어진다.

\(A_i = \{\mu(x_{0i}) \in \text{CI}_i\}\) 의 커버리지가 \(1 - \alpha/m\) 이면:

\[ P(\text{모두 커버}) \geq 1 - m \cdot \frac{\alpha}{m} = 1 - \alpha. \]

따라서 Bonferroni 동시 구간:

\[ \hat\mu(x_{0i}) \pm t_{n-2,\;\alpha/(2m)} \cdot S\sqrt{\frac{1}{n} + \frac{(x_{0i} - \bar x)^2}{S_{xx}}}, \quad i = 1, \ldots, m. \]

3.2 특성

  • 장점: 구현이 간단하다. \(t\)-분위수만 바꾸면 된다.
  • 한계: \(m\) 이 커지면 \(\alpha/(2m)\) 이 작아지고 분위수가 급증한다. Bonferroni 는 범용 부등식이므로 회귀의 특수 구조를 활용하지 않는다.
  • 실제 커버리지 \(> 1-\alpha\): Bonferroni 부등식은 하한이므로, 실제 동시 커버리지는 명목보다 높다. 이는 구간이 필요 이상으로 넓다는 뜻이다.

4 Scheffé 동시 신뢰대: Theorem 11.3.6

4.1 정리의 진술

Theorem 11.3.6 (Casella & Berger)

조건부 정규 회귀 모형 \(Y_i \sim N(\alpha + \beta x_i, \sigma^2)\) (독립) 하에서, 확률 \(\geq 1-\alpha\)모든 \(x\) 에 대해 동시에:

\[ \hat\alpha + \hat\beta x - M_\alpha \cdot S\sqrt{\frac{1}{n} + \frac{(x-\bar x)^2}{S_{xx}}} < \alpha + \beta x < \hat\alpha + \hat\beta x + M_\alpha \cdot S\sqrt{\frac{1}{n} + \frac{(x-\bar x)^2}{S_{xx}}} \]

여기서 \(M_\alpha = \sqrt{2 F_{2,\,n-2,\,\alpha}}\).

“모든 \(x\)” 는 문자 그대로 \(\mathbb{R}\) 전체이다. 유한 \(m\) 개가 아니라 비가산 무한 개의 점에서 동시에 유효하다. 이것이 Scheffé 대가 Bonferroni 와 질적으로 다른 점이다.

4.2 증명

Step 1: 문제를 최대화 문제로 변환한다.

핵심 아이디어는 다음과 같다: “모든 \(x\) 에서 동시에 커버된다”는 조건을 가장 나쁜 \(x\) 에서도 커버된다는 조건으로 바꾸는 것이다. 비유하자면, 울타리가 모든 지점에서 충분히 높은지 확인하려면 울타리의 가장 낮은 지점만 점검하면 된다. 마찬가지로, 표준화된 오차의 최대값만 제어하면 모든 점에서의 동시 커버리지가 보장된다.

모든 \(x\) 에서 동시에 구간이 \(\mu(x)\) 를 포함하려면:

\[ P\!\left(\max_x \frac{[(\hat\alpha + \hat\beta x) - (\alpha + \beta x)]^2} {S^2\left[\frac{1}{n} + \frac{(x-\bar x)^2}{S_{xx}}\right]} \leq M_\alpha^2\right) = 1-\alpha. \]

이것은 “최악의(worst-case) \(x\)” 에서의 표준화된 오차가 \(M_\alpha\) 이내인 확률이다.

Step 2: 재매개화 (reparameterization).

\(t = x - \bar x\) 로 치환하고, Exercise 11.32의 결과를 활용한다:

\[ \hat\alpha + \hat\beta x = \bar Y + \hat\beta(x - \bar x) = \bar Y + \hat\beta t, \]

\[ \alpha + \beta x = \mu_{\bar Y} + \beta t, \quad \text{여기서}\; \mu_{\bar Y} = E\bar Y = \alpha + \beta\bar x. \]

따라서 분자는:

\[ (\hat\alpha + \hat\beta x) - (\alpha + \beta x) = (\bar Y - \mu_{\bar Y}) + (\hat\beta - \beta)t. \]

이것은 두 항의 합이다: 수준 오차 \((\bar Y - \mu_{\bar Y})\)기울기 오차 \((\hat\beta - \beta)t\).

분모는:

\[ S^2\!\left[\frac{1}{n} + \frac{t^2}{S_{xx}}\right]. \]

최대화 대상:

\[ Q(t) = \frac{[(\bar Y - \mu_{\bar Y}) + (\hat\beta - \beta)t]^2} {S^2[1/n + t^2/S_{xx}]}. \]

Step 3: \(\max_t Q(t)\) 를 미적분으로 구한다.

\(S^2\)\(t\) 에 무관하므로 제외하고, 분자 \([A + Bt]^2\), 분모 \([a + bt^2]\) (\(A = \bar Y - \mu_{\bar Y}\), \(B = \hat\beta - \beta\), \(a = 1/n\), \(b = 1/S_{xx}\))의 비를 최대화한다. 이것은 Cauchy-Schwarz 부등식의 유한차원 버전 또는 직접 미분으로 구할 수 있다.

Exercise 11.40의 결과:

\[ \max_t \frac{(A + Bt)^2}{a + bt^2} = \frac{A^2}{a} + \frac{B^2}{b} = nA^2 + S_{xx} B^2. \]

증명의 핵심 등식:

\[ \max_t \frac{(A + Bt)^2}{a + bt^2} = \frac{A^2}{a} + \frac{B^2}{b} \]

기하학적으로 이 등식의 의미를 파악할 수 있다. 벡터 \(\mathbf{u} = (A, B)\)\(\mathbf{v}_t = (1, t)\) 가 있을 때, 분자 \((A + Bt)^2\) 는 내적 \(\mathbf{u} \cdot \mathbf{v}_t\) 의 제곱이고, 분모 \(a + bt^2\) 는 가중 노름 \(\|\mathbf{v}_t\|_W^2\) 이다 (가중 행렬 \(W = \mathrm{diag}(a, b)\)). 따라서 이 비율은 “가중 내적 공간에서 \(\mathbf{v}_t\) 방향으로의 \(\mathbf{u}\) 사영 길이의 제곱”에 해당한다. \(t\) 를 움직이면 \(\mathbf{v}_t\) 의 방향이 바뀌고, 사영이 최대가 되는 것은 \(\mathbf{v}_t\)\(\mathbf{u}\) 와 같은 방향을 가리킬 때이다. 이때의 최대값은 가중 노름 \(\|\mathbf{u}\|_{W^{-1}}^2 = A^2/a + B^2/b\) 가 되며, 이것이 바로 Cauchy-Schwarz 등호이다.

이 등식은 Cauchy-Schwarz 부등식의 등호 조건에서 나온다. \((A + Bt)^2 = (A \cdot 1 + B \cdot t)^2\) 이고, \(a + bt^2 = a \cdot 1^2 + b \cdot t^2\) 이므로 C-S 에 의해

\[ \frac{(A + Bt)^2}{a + bt^2} \leq \frac{A^2}{a} + \frac{B^2}{b}, \]

등호는 \(t = (A/a) \cdot (b/B) = nA \cdot 1/(B S_{xx}/S_{xx}) = nA/(B)\) … 가 아니라, 정확히는 \(1/t_{\max} = (Ab)/(Ba) = AnS_{xx}/(BS_{xx}n) = A/(B \cdot a/b)\) 에서 달성된다. 핵심은 등호가 항상 달성 가능하다는 점이다. 따라서 최대값은:

\[ \max_t Q(t) = \frac{n(\bar Y - \mu_{\bar Y})^2 + S_{xx}(\hat\beta - \beta)^2}{S^2}. \]

Step 4: 분포를 결정한다.

\(\sigma^2 / \sigma^2\) 를 곱하면:

\[ \frac{n(\bar Y - \mu_{\bar Y})^2 + S_{xx}(\hat\beta - \beta)^2}{S^2} = \frac{\dfrac{(\bar Y - \mu_{\bar Y})^2}{\sigma^2/n} + \dfrac{(\hat\beta - \beta)^2}{\sigma^2/S_{xx}}} {S^2/\sigma^2}. \]

분자를 분석한다:

  • \(\bar Y \sim N(\mu_{\bar Y}, \sigma^2/n)\) 이므로 \((\bar Y - \mu_{\bar Y})^2 / (\sigma^2/n) \sim \chi^2_1\)
  • \(\hat\beta \sim N(\beta, \sigma^2/S_{xx})\) 이므로 \((\hat\beta - \beta)^2 / (\sigma^2/S_{xx}) \sim \chi^2_1\)
  • Exercise 11.32에 의해 \(\bar Y\)\(\hat\beta\)독립 (재매개화 \(\alpha^* = \alpha + \beta\bar x\), \(\beta^* = \beta\) 에서 추정량이 \(\bar Y\)\(\hat\beta\) 로 분리되고, Lemma 11.3.2에 의해 \(\mathrm{Cov}(\bar Y, \hat\beta) = 0\), 정규성에서 무상관 = 독립)

이 독립성이 증명의 핵심 연결고리이다. 만약 \(\bar Y\)\(\hat\beta\) 가 상관되어 있다면, 두 \(\chi^2_1\) 의 합은 \(\chi^2_2\) 가 아니라 더 복잡한 분포를 따르고, 깔끔한 \(F\)-분포 결과를 얻을 수 없다. 독립성 덕분에 “수준 오차”와 “기울기 오차”가 각각 독립적인 자유도 1을 기여하여, 합이 정확히 \(\chi^2_2\) 가 된다.

따라서 분자는 \(\chi^2_1 + \chi^2_1 = \chi^2_2\) (독립 합).

분모: \((n-2)S^2/\sigma^2 \sim \chi^2_{n-2}\) 이고, Theorem 11.3.3(c)에 의해 분자와 독립이다.

따라서:

\[ \frac{\chi^2_2 / 2}{\chi^2_{n-2} / (n-2)} \sim F_{2,\,n-2}, \]

즉:

\[ \frac{n(\bar Y - \mu_{\bar Y})^2 + S_{xx}(\hat\beta - \beta)^2}{S^2} \sim 2 F_{2,\,n-2}. \]

Step 5: \(M_\alpha\) 를 결정한다.

\[ P(\max_t Q(t) \leq M_\alpha^2) = P(2 F_{2,n-2} \leq M_\alpha^2) = 1-\alpha \]

이 되려면 \(M_\alpha^2 = 2 F_{2,n-2,\alpha}\), 즉:

\[ \boxed{\;M_\alpha = \sqrt{2 F_{2,\,n-2,\,\alpha}}.\;} \]

\(\square\)


5 증명의 구조적 해부

5.1\(F_{2, n-2}\) 인가 — 자유도 2의 의미

분자 자유도 2는 추정해야 할 회귀 모수가 2개(\(\alpha, \beta\))인 것에서 온다. \(p\) 개 모수의 다중 회귀로 일반화하면 Scheffé 곱수는 \(\sqrt{p F_{p,n-p,\alpha}}\) 가 된다. 단순 회귀에서 \(p = 2\) 이다.

이것은 ANOVA Scheffé에서 자유도가 집단 수 \(k-1\) 인 것과 정확히 대응한다. ANOVA 에서 \(k\) 개 집단 평균을 동시에 추론하면 \(\sqrt{(k-1)F_{k-1,N-k,\alpha}}\), 회귀에서 2개 모수를 동시에 추론하면 \(\sqrt{2 F_{2,n-2,\alpha}}\) 이다.

5.2 왜 “모든 \(x\)” 가 유한 \(m\) 보다 쉬울 수 있는가

Bonferroni 는 유한 \(m\) 에 대해 범용 부등식을 쓴다. Scheffé 는 무한 개의 \(x\) 에 대해 정확한 분포를 유도한다. 직관적으로 모순 같지만, 핵심은 연속 함수의 최대값이 특정 분포를 갖는다는 사실이다. 최대값의 분포를 정확히 아는 순간, 무한 개의 점에 대한 동시 추론이 하나의 \(F\)-분위수로 귀결된다.

Bonferroni 는 이 구조를 활용하지 않고 개별 확률의 합만 쓰므로, \(m\) 이 커지면 낭비가 심해진다. Scheffé 는 \(m = \infty\) 를 직접 다루되, 문제의 구조(정규성, 선형성)를 최대한 활용한다.


6 Bonferroni vs Scheffé: 전환점 분석

6.1 곱수 비교

\(m\) 개의 점에 대해:

방법 곱수
Bonferroni \(C_B(m) = t_{n-2,\;\alpha/(2m)}\)
Scheffé \(C_S = \sqrt{2 F_{2,\;n-2,\;\alpha}}\) (상수, \(m\) 에 무관)

\(C_B(m)\)\(m\)증가함수이다. \(m = 1\) 이면 \(C_B(1) = t_{n-2,\alpha/2} < C_S\) (개별이 항상 좁다). \(m \to \infty\) 이면 \(C_B \to \infty\) 이므로 반드시 \(C_B > C_S\) 가 되는 전환점 \(m^*\) 가 존재한다.

6.2 전환점 계산

\(m^*\) 는 다음을 만족하는 최소 정수이다:

\[ t_{n-2,\;\alpha/(2m^*)} > \sqrt{2 F_{2,\;n-2,\;\alpha}}. \]

이것은 수치적으로 풀어야 한다. 전형적인 값:

\(n\) \(\alpha\) \(C_S\) $m^* $
10 0.05 3.01 4~5
20 0.05 2.76 5~6
50 0.05 2.55 6~7
100 0.05 2.49 6~8
실무 가이드
  • \(m \leq 3\): Bonferroni 가 거의 항상 좁다.
  • \(m \geq 5\): Scheffé 를 고려한다 (정확한 전환점은 \(n\) 에 의존).
  • \(m\) 이 사전에 미정이거나, 탐색적(exploratory) 분석: Scheffé — 사후적으로 어떤 \(x_0\) 를 골라도 유효하므로 사전 지정이 불필요하다.

7 Scheffé 대의 기하학

7.1 대(band)의 형태

Scheffé 대의 상·하한:

\[ \hat\mu(x) \pm M_\alpha \cdot S\sqrt{\frac{1}{n} + \frac{(x - \bar x)^2}{S_{xx}}}. \]

반폭은 \(x\)쌍곡선 함수이다 (\(\sqrt{a + b(x-\bar x)^2}\) 는 쌍곡선의 한 가지). 따라서 Scheffé 대는 쌍곡선형(hyperbolic) 대이다.

특성:

  • \(x = \bar x\) 에서 가장 좁다 (반폭 \(= M_\alpha S/\sqrt{n}\))
  • \(|x - \bar x| \to \infty\) 에서 반폭이 선형적으로 증가한다 (점근적으로 \(\propto |x - \bar x|\))
  • 대칭축은 \(x = \bar x\)

7.2 신뢰 영역과의 관계

Scheffé 대는 \((\alpha, \beta)\) 에 대한 동시 신뢰 영역\(x\)-공간으로의 사영이다. \((\alpha, \beta)\)\(100(1-\alpha)\%\) 동시 신뢰 영역은 \((\hat\alpha, \hat\beta)\) 를 중심으로 한 타원이다. 이 타원 위의 모든 직선 \(y = a + bx\) 를 그리면 그 합집합이 Scheffé 대를 형성한다. 다시 말해, 모수 공간의 타원과 데이터 공간의 쌍곡선 대는 동전의 양면이다: 타원 안의 \((a, b)\) 는 “데이터와 양립 가능한 직선”이고, 이 직선들을 \(xy\)-평면에 모두 겹쳐 그리면 Scheffé 대가 된다. 특정 \(x_0\) 에서 대의 폭은, 타원 안의 모든 직선이 \(x = x_0\) 에서 취하는 \(y\) 값의 범위와 정확히 일치한다. 타원의 긴 축과 짧은 축이 \(\mathrm{Cov}(\hat\alpha, \hat\beta)\) 에 의해 기울어져 있으므로, 대의 형태가 단순 수직·수평이 아닌 쌍곡선이 된다.


8 대안적 신뢰대의 형태 (Miscellanea 11.5.5)

Casella & Berger(2002, Miscellanea 11.5.5)는 Scheffé 의 쌍곡선형 대가 유일한 선택이 아님을 지적한다.

8.1 직선형 대 (Gafarian, 1964)

유한 구간 \([a, b]\) 에서:

\[ P\!\left(\hat\alpha + \hat\beta x - d_\alpha \leq \alpha + \beta x \leq \hat\alpha + \hat\beta x + d_\alpha \;\text{for all}\; x \in [a,b]\right) = 1-\alpha, \]

여기서 \(d_\alpha\)상수 반폭이다. 대의 상·하한이 회귀직선과 평행한 직선이므로 “직선형 대”라 부른다.

상수 폭이 의미 있는 상황은 공학적 규격(specification) 환경이다. 예를 들어, 센서 보정에서 “어떤 입력값에서든 오차가 \(\pm 0.5\) 이내”라는 보증이 필요하면, 쌍곡선형보다 직선형이 그 요구사항을 직접 표현한다. 쌍곡선형은 \(\bar x\) 근처에서는 더 좁지만, 양 끝에서는 더 넓어지므로 “균일 보증”이 목적이면 적합하지 않다.

장점: 해석이 직관적이다 (“모든 \(x \in [a,b]\) 에서 오차가 \(d_\alpha\) 이내”). 단점: \([a,b]\) 밖에서는 유효하지 않다. \(d_\alpha\) 는 쌍곡선형보다 넓은 경우가 많다.

8.2 유한구간 Scheffé 대 (Casella & Strawderman, 1980)

\(x \in [a, b]\) 에 대해서만 쌍곡선형 대를 구성하되, \([a,b]\) 밖으로의 확장을 포기한다. 전체 \(\mathbb{R}\) 에 대한 Scheffé 대보다 좁다\(\max_t\) 의 범위를 줄이므로 \(M_\alpha\) 가 작아진다.

8.3 Naiman (1983): 어느 대가 최적인가

Naiman 은 평균 폭 기준으로 비교하여, 유한 구간에서도 Scheffé 형(쌍곡선)이 직선형보다 우수함을 보였다. 직관적으로: 쌍곡선형은 \(\bar x\) 근처에서 좁고 끝에서 넓어지는데, 이 “적응성”이 평균적으로 더 효율적이다.

8.4 허용 가능 대 (Piegorsch, 1985)

대의 형태가 만족해야 할 허용 가능성(admissibility) 조건을 유도했다. 허용 가능한 대는 “어떤 점에서도 다른 대보다 균일하게 넓지 않은” 대이다. 쌍곡선형과 직선형 모두 특정 조건 하에서 허용 가능하지만, 가장 일반적인 허용 가능 대는 두 형태의 중간에 해당하는 곡선형 대이다.

대의 형태 적용 범위 특성
Scheffé (쌍곡선) \(\mathbb{R}\) 전체 무한 범위 커버, \(\bar x\) 에서 최소 폭
유한구간 Scheffé \([a, b]\) 쌍곡선 형태 유지, 더 좁음
Gafarian (직선) \([a, b]\) 상수 폭, 직관적 해석
허용 가능 대 이론적 곡선형, 균일하게 최적

9 동시 예측구간의 한계

Casella & Berger(2002, §11.3.6 말미)는 Scheffé 대의 증명을 “적절히 수정하면” 동시 예측구간도 유도할 수 있다고 언급하면서도, “결과 통계량이 특히 깔끔한 분포를 갖지 않는다”고 지적한다.

이유를 직관적으로 설명한다:

  • 신뢰대: \(\hat\mu(x) - \mu(x)\) 는 기존 데이터의 함수이므로, \(x\) 를 바꿔도 같은 확률변수 집합(\(Y_1, \ldots, Y_n\))에서 나온다. 최대화가 깔끔하게 풀린다.
  • 예측대: \(Y_0 - \hat\mu(x_0)\) 에서 \(Y_0\)\(x_0\) 마다 새로운 독립 확률변수이다. 무한 개의 독립 확률변수의 상한(supremum)은 단순한 \(F\)-분포로 귀결되지 않는다.

실무에서 동시 예측구간이 필요하면:

  • Bonferroni 로 유한 \(m\) 개에 대해 구성한다
  • 시뮬레이션 기반 동시 예측 대를 사용한다
  • Scheffé 신뢰대를 \(\pm S\) 만큼 외삽하는 근사적 방법을 쓴다 (비정확)

10 ANOVA Scheffé 와의 구조적 대응

§11.2 Scheffé 동시 추론과 §11.3.6의 구조를 병렬 비교한다.

항목 ANOVA Scheffé (§11.2) 회귀 Scheffé (§11.3.6)
대상 집단 평균의 모든 대비 \(\sum c_i \mu_i\) 모든 \(x\) 에서의 \(\alpha + \beta x\)
동시 범위 무한 (모든 대비 벡터 \(\mathbf{c}\)) 무한 (모든 \(x \in \mathbb{R}\))
분자 자유도 \(k - 1\) (집단 수 \(-1\)) \(2\) (모수 수: \(\alpha, \beta\))
분모 자유도 \(N - k\) \(n - 2\)
곱수 \(\sqrt{(k-1)F_{k-1,N-k,\alpha}}\) \(\sqrt{2 F_{2,n-2,\alpha}}\)
핵심 기법 \(\max_{\mathbf{c}}\) 를 이차 형식의 비로 환원 \(\max_t\) 를 이차 형식의 비로 환원
기초 정리 Lemma 11.2.7 (C-S) Exercise 11.40 (C-S 변형)

두 경우 모두 “무한 개의 동시 추론을 하나의 최대화로 환원하고, 그 최대값이 \(F\)-분포를 갖는다”는 동일한 논리 구조를 따른다.


11 외삽에서의 신뢰대

Scheffé 대는 “모든 \(x\)” 에 대해 유효하므로, 수학적으로는 관측 범위 밖에서도 성립한다. 그러나 Casella & Berger(2002, §11.3.6 말미)는 명시적으로 경고한다:

“관측 범위 밖으로의 외삽은 대개 현명하지 않다. 이러한 절차는 모집단 회귀함수가 모든 \(x\) 에서 선형이라는 가정에 기반한다. 관측 범위 내에서 선형성을 가정하는 것은 합리적일 수 있으나, 범위 밖으로 외삽하는 것은 대개 어리석다.”

수학적 유효성과 실무적 유효성을 구분해야 한다:

  • 수학적: \(Y_i \sim N(\alpha + \beta x_i, \sigma^2)\) 이 모든 \(x\) 에서 성립하면, Scheffé 대는 유효하다.
  • 실무적: 그 가정이 관측 범위 밖에서도 성립하는지 검증할 방법이 없다.

따라서 실무에서는 유한구간 Scheffé 대(\(x \in [\min x_i, \max x_i]\))가 더 적절하다.


12 응용 분야

분야 방법 구체적 예시
공학 보정 Scheffé 대 센서 보정 곡선의 전체 범위에 대한 동시 불확실성
약물 개발 Bonferroni 사전 지정된 3개 용량에서의 동시 반응 구간
환경 모니터링 유한구간 Scheffé 관측 농도 범위 내의 오염-건강 영향 관계 대
임상 바이오마커 Scheffé 대 바이오마커 농도 전 범위에 대한 반응 예측 대
품질 보증 직선형 대 “모든 설정값에서 오차가 \(d\) 이내” 보증

13 수치 예시

13.1 세 방법의 곱수 비교 (손 계산)

\(n = 12\) (포도 수확 데이터, Example 11.3.4), \(\alpha = 0.10\), \(df = 10\).

  • 개별 \(t\): \(t_{10, 0.05} = 1.812\)
  • Bonferroni (\(m = 2\)): \(t_{10, 0.025} = 2.228\)
  • Scheffé: \(F_{2, 10, 0.10} = 2.9245\), \(M = \sqrt{2 \times 2.9245} = 2.418\)

이 경우 Bonferroni(\(m=2\)) 곱수 2.228 < Scheffé 곱수 2.418 이므로 2개 점에서는 Bonferroni 가 더 좁다. \(m = 5\) 이면 \(t_{10, 0.01} = 2.764 > 2.418\) 이므로 Scheffé 가 유리해진다.


14 코드 예시

14.1 Step 1: Bonferroni-Scheffé 전환점 계산

import numpy as np
from scipy import stats

def find_crossover(n, alpha=0.05):
    """Bonferroni 곱수가 Scheffé 곱수를 넘는 최소 m 을 찾는다."""
    df = n - 2
    f_crit = stats.f.ppf(1 - alpha, 2, df)
    c_scheffe = np.sqrt(2 * f_crit)

    for m in range(1, 200):
        c_bonf = stats.t.ppf(1 - alpha / (2 * m), df)
        if c_bonf > c_scheffe:
            return m, c_bonf, c_scheffe
    return None

for n in [10, 20, 50, 100]:
    m_star, c_b, c_s = find_crossover(n)
    print(f"n={n:3d}: m* = {m_star}, "
          f"C_B(m*)={c_b:.4f}, C_S={c_s:.4f}")

14.2 Step 2: 세 가지 대 시각화

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

# 데이터
x = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
y = np.array([2.1, 3.9, 6.2, 7.8, 10.1])
n = len(x)
x_bar = x.mean()
S_xx = ((x - x_bar) ** 2).sum()
b = ((x - x_bar) * (y - y.mean())).sum() / S_xx
a = y.mean() - b * x_bar
s = np.sqrt(((y - a - b * x) ** 2).sum() / (n - 2))
df = n - 2
alpha = 0.05

# 곱수
t_crit = stats.t.ppf(1 - alpha/2, df)
m_bonf = 3
t_bonf = stats.t.ppf(1 - alpha/(2*m_bonf), df)
f_crit = stats.f.ppf(1 - alpha, 2, df)
c_sch = np.sqrt(2 * f_crit)

# x 격자
x_grid = np.linspace(0, 6, 300)
y_hat = a + b * x_grid
se = s * np.sqrt(1/n + (x_grid - x_bar)**2 / S_xx)

fig, ax = plt.subplots(figsize=(10, 6))
ax.scatter(x, y, c="black", zorder=5, label="data")
ax.plot(x_grid, y_hat, "k-", label="fitted")

# 개별 t
ax.fill_between(x_grid, y_hat - t_crit*se, y_hat + t_crit*se,
                alpha=0.25, color="steelblue", label="pointwise 95% CI")

# Bonferroni (m=3)
ax.fill_between(x_grid, y_hat - t_bonf*se, y_hat + t_bonf*se,
                alpha=0.15, color="orange",
                label=f"Bonferroni (m={m_bonf})")

# Scheffé
ax.fill_between(x_grid, y_hat - c_sch*se, y_hat + c_sch*se,
                alpha=0.10, color="green", label="Scheffé band")

# Bonferroni 점 표시
x_pts = [1.5, 3.0, 4.5]
for xp in x_pts:
    yp = a + b * xp
    sep = s * np.sqrt(1/n + (xp - x_bar)**2 / S_xx)
    ax.plot([xp, xp], [yp - t_bonf*sep, yp + t_bonf*sep],
            "o-", color="darkorange", markersize=4)

ax.set_xlabel("x")
ax.set_ylabel("Y")
ax.set_title("Pointwise CI vs Bonferroni vs Scheffé Band")
ax.legend(loc="upper left")
plt.tight_layout()
plt.show()

14.3 Step 3: 시뮬레이션 — Scheffé 대의 동시 커버리지 검증

import numpy as np
from scipy import stats
rng = np.random.default_rng(42)

alpha_true, beta_true, sigma = 1.0, 2.0, 1.0
x = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
n = len(x)
S_xx = ((x - x.mean()) ** 2).sum()
df = n - 2
alpha_level = 0.05
f_crit = stats.f.ppf(1 - alpha_level, 2, df)
c_sch = np.sqrt(2 * f_crit)

# 검증 격자: 관측 범위 + 외삽
x_check = np.linspace(0, 7, 50)
n_sim = 30_000

cover_simul = 0  # 모든 x_check 에서 동시에 커버
cover_point = np.zeros(len(x_check))  # 개별

for _ in range(n_sim):
    y = alpha_true + beta_true * x + rng.normal(0, sigma, n)
    b = ((x - x.mean()) * (y - y.mean())).sum() / S_xx
    a = y.mean() - b * x.mean()
    s = np.sqrt(((y - a - b * x) ** 2).sum() / df)

    mu_true = alpha_true + beta_true * x_check
    mu_hat = a + b * x_check
    se = s * np.sqrt(1/n + (x_check - x.mean())**2 / S_xx)
    covered = np.abs(mu_hat - mu_true) <= c_sch * se

    cover_point += covered
    if covered.all():
        cover_simul += 1

print(f"동시 커버리지: {cover_simul/n_sim:.4f} (nominal {1-alpha_level})")
print(f"개별 커버리지 (min): {(cover_point/n_sim).min():.4f}")
print(f"개별 커버리지 (max): {(cover_point/n_sim).max():.4f}")
# 동시 ~0.95, 개별 > 0.95 (보수적)

14.4 Step 4: Bonferroni vs Scheffé 곱수 곡선

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

n = 20
df = n - 2
alpha = 0.05
f_crit = stats.f.ppf(1 - alpha, 2, df)
c_scheffe = np.sqrt(2 * f_crit)

m_vals = np.arange(1, 31)
c_bonf = [stats.t.ppf(1 - alpha/(2*m), df) for m in m_vals]

fig, ax = plt.subplots(figsize=(8, 4))
ax.plot(m_vals, c_bonf, "o-", label="Bonferroni $C_B(m)$", markersize=4)
ax.axhline(c_scheffe, color="green", ls="--",
           label=f"Scheffé $C_S = {c_scheffe:.3f}$")
ax.axhline(stats.t.ppf(1 - alpha/2, df), color="steelblue", ls=":",
           label=f"pointwise $t = {stats.t.ppf(1-alpha/2, df):.3f}$")

# 전환점 표시
m_star = next(m for m in m_vals
              if stats.t.ppf(1 - alpha/(2*m), df) > c_scheffe)
ax.axvline(m_star, color="gray", ls=":", alpha=0.5)
ax.annotate(f"$m^* = {m_star}$", (m_star, c_scheffe + 0.1),
            fontsize=10, ha="center")

ax.set_xlabel("$m$ (number of simultaneous points)")
ax.set_ylabel("multiplier")
ax.set_title(f"Bonferroni vs Scheffé multiplier (n={n}, α={alpha})")
ax.legend()
plt.tight_layout()
plt.show()

14.5 결과 해석

  • Step 1: \(n\) 이 커질수록 전환점 \(m^*\) 는 약간 증가하지만 대체로 4~8 사이이다. 5개 이상의 점에서 동시 추론이 필요하면 Scheffé 를 고려할 시점이다.
  • Step 2: 시각화에서 개별 CI(내곽) < Bonferroni(중간) < Scheffé(외곽)의 크기 관계와, Scheffé 대가 \(\bar x\) 에서 좁고 양 끝에서 넓어지는 쌍곡선 형태를 확인한다.
  • Step 3: 30,000 회 시뮬레이션에서 동시 커버리지가 \(\approx 0.95\) (명목), 개별 커버리지가 \(> 0.95\) (보수적). Scheffé 대의 정확성을 경험적으로 확인한다.
  • Step 4: 곱수 곡선에서 Bonferroni 가 \(m\) 에 따라 증가하다가 Scheffé 수평선을 넘는 전환점 \(m^*\) 를 시각적으로 확인한다.

15 핵심 정리

  1. 다중 \(x_0\) 에서의 동시 추론은 개별 구간의 단순 반복으로는 해결되지 않는다. 전체 커버리지가 명목보다 낮아진다.
  2. Bonferroni: \(t_{n-2,\alpha/(2m)}\) 으로 보정. 간단하지만 \(m\) 이 커지면 비효율적. 실제 커버리지 > 명목이므로 보수적이다.
  3. Scheffé 대 (Theorem 11.3.6): \(M_\alpha = \sqrt{2F_{2,n-2,\alpha}}\)모든 \(x\) 에 대해 동시 유효. 증명은 \(\max_t Q(t)\)\(2F_{2,n-2}\) 분포로 환원한다.
  4. 전환점: \(m \leq 3\) 이면 Bonferroni, \(m \geq 5\) 이면 Scheffé, 탐색적이면 Scheffé.
  5. Scheffé 대는 쌍곡선형이다. 대안으로 직선형(Gafarian), 유한구간 Scheffé(Casella-Strawderman), 허용 가능 대(Piegorsch) 등이 있다.
  6. 동시 예측구간은 각 \(x_0\) 마다 새 \(Y_0\) 가 독립이므로, 깔끔한 분포 결과를 얻기 어렵다.
  7. 외삽에서의 Scheffé 대는 수학적으로 유효하지만, 선형성 가정 자체를 검증할 수 없으므로 실무적으로 위험하다.
  8. ANOVA Scheffé 와 동일한 구조: 무한 개의 동시 추론 → 최대화 → \(F\)-분포. 분자 자유도만 다르다 (\(k-1\) vs \(2\)).

16 참고 문헌

  • Casella, G., & Berger, R. L. (2002). Statistical Inference (2nd ed.), §11.3.6, Miscellanea 11.5.5. Duxbury.
  • Scheffé, H. (1959). The Analysis of Variance. Wiley.
  • Working, H., & Hotelling, H. (1929). Applications of the theory of error to the interpretation of trends. JASA, 24(165A), 73–85.
  • Gafarian, A. V. (1964). Confidence bands in straight line regression. JASA, 59(305), 182–213.
  • Casella, G., & Strawderman, W. E. (1980). Confidence bands for linear regression with restricted predictor variables. JASA, 75(372), 862–868.
  • Naiman, D. Q. (1983). Comparing Scheffé-type to constant-width confidence bands in regression. The Annals of Statistics, 11(2), 372–385.
  • Piegorsch, W. W. (1985). Admissible and optimal confidence bands in simple linear regression. The Annals of Statistics, 13(2), 801–810.

17 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

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