F 분포¶
개요¶
두 생산라인에서 각각 제품을 뽑아 무게를 쟀더니 표본분산이 12와 8로 나왔다. 한쪽이 1.5배 크다. 이것을 두 공정의 실제 차이로 보아야 할까, 아니면 표본을 다시 뽑으면 뒤집힐 만한 흔들림으로 보아야 할까.
이런 질문은 앞 절의 카이제곱으로 곧장 답할 수 없다. 카이제곱은 분산 하나를 기준값과 견주는 분포이지 분산 둘을 서로 견주는 분포가 아니기 때문이다. 둘을 견주려면 비를 취해야 하고, 두 분산은 각각 카이제곱을 따르므로 필요한 것은 카이제곱 둘의 비의 분포가 된다. 그것이 \(F\) 분포다.
\(F\) 분포 자체는 4.2절에서 다루었다. 독립인 두 카이제곱을 각자의 자유도로 나눈 비로 정의했고, 자유도가 왜 둘인지, 평균 \(d_2/(d_2-2)\)가 왜 언제나 1보다 큰지(옌센 부등식), 역수를 취하면 자유도가 맞바뀐다는 것, 분자 자유도가 1이면 \(t\) 제곱이 되고 분모 자유도가 무한대로 가면 카이제곱으로 돌아온다는 것까지 모두 그곳에 있다.
여기서 물을 것은 도구 쪽 물음이다. 어떤 통계량이 이 분포를 낳는가, 그리고 그 대가로 무엇을 지불했는가. 이 분포가 맡는 임무는 두 가지로 갈라진다. 하나는 5.9절의 \(S_1^2/S_2^2\), 곧 두 모집단의 분산이 같은지 묻는 일이다. 다른 하나는 뜻밖에도 평균을 비교하는 일인데, 여러 집단의 평균이 같은지를 묻는 분산분석이 결국 "집단 간 변동과 집단 내 변동의 비"를 보는 절차이기 때문이다. 두 임무 모두 비를 본다는 점에서는 한 몸이다.
왜 F가 분산비에 붙는가¶
처음의 두 생산라인 문제로 돌아가 보자. 답은 세 걸음이면 나온다.
첫째 걸음은 앞 절의 결과다. 정규모집단에서 뽑은 표본이라면 척도조정된 표본분산이 각각 카이제곱을 따른다.
두 표본이 서로 독립이면 이 둘도 독립이므로, \(F\)의 정의가 요구하는 조건이 갖춰진다.
둘째 걸음은 비를 취하는 것이다. 각각을 자기 자유도로 나눈 뒤 위아래로 놓으면 \((n_i-1)\)이 약분되어
이 된다. 그런데 이 양에는 모르는 \(\sigma_1^2\)과 \(\sigma_2^2\)이 남아 있어 아직 통계량이 아니다.
셋째 걸음에서 그 문제가 풀린다. \(H_0: \sigma_1^2 = \sigma_2^2\)을 세우면 두 모분산이 서로 약분되어 사라지고
만 남는다. 자료에서 계산할 수 있는 양이 되었고, 이것이 두 분산의 동일성에 대한 F 검정이다. 앞의 12와 8이라는 값에서 \(F = 1.5\)를 얻어 그 값이 \(F\) 분포의 어디쯤 놓이는지 보면 되는 것이다.
같은 논리가 분산분석으로 그대로 이어진다. 거기서는 집단 간 변동과 집단 내 변동이 각각 카이제곱을 따르고, 그 비가 집단 간 변동이 집단 내 변동보다 유의하게 큰지를 잰다. 두 분산을 견주는 일이 여러 평균을 견주는 일로 옮겨 가는 것이며, 연습문제 5가 그 자유도를 확인한다. 집단이 둘뿐이면 분자 자유도가 1이 되어 \(F\)가 \(t\)의 제곱이 되므로, 두 표본 \(t\) 검정과 분산분석은 언제나 같은 결론을 낸다. 제곱합을 실제로 계산해 분산분석표를 채우고 판정까지 내리는 일, 그리고 어느 집단이 다른지를 뒤이어 묻는 일은 11장 분산분석의 몫이다.
정규성 의존이 두 겹이다¶
이제 대가를 계산할 차례다. 위 유도의 첫째 걸음을 다시 보라. 앞 절의 카이제곱 결과를 두 번 썼다. 그리고 앞 절에서 확인한 대로 그 결과는 정규성에 기대고 있을 뿐 아니라, 정규성이 깨졌을 때 표본크기로 구제되지도 않는다. 같은 약점을 두 번 빌려 쓴 셈이다.
세 걸음을 한 장에 그리면 그 "두 번"이 어디인지 보인다.

붉은 세로선이 정규성을 쓰는 자리다. 위아래 두 줄에서 한 번씩, 모두 두 번 지나간다. 선을 넘기 전까지 \(S_i^2\)은 어떤 모집단에서든 계산할 수 있는 양이지만, 선을 넘어 \(\chi^2\)이라는 이름을 얻는 순간부터는 모집단이 정규라는 전제가 붙는다. 오른쪽 끝의 \(F\)는 그 이름을 둘 받아 만든 것이므로 전제도 둘 물려받는다.
여기서 중요한 것은 두 전제가 서로를 지워 주지 않는다는 점이다. 비를 잡으면 위치의 어긋남은 상쇄되지만 산포의 어긋남은 더해진다. 왜 그런지는 바로 다음에서 로그를 씌워 확인한다.
그림의 맨 아래 줄도 함께 새겨 둘 만하다. 분자와 분모가 모두 2차 적률이므로 중심극한정리가 끼어들 자리가 없다. 앞 절의 \(\bar X\)에서는 모집단의 모양을 묻지 않아도 되었지만, 여기서는 표본을 아무리 키워도 그 면허가 발급되지 않는다.
어긋남은 상쇄되지 않고 더해진다¶
직관은 상쇄를 기대한다. 분자와 분모가 같은 방향으로 틀어지면 비를 잡을 때 서로 지워질 것 같기 때문이다. 실제로 일부는 지워진다. 두 모집단이 같은 모양이면 \(E[\log S_1^2] = E[\log S_2^2]\)이므로 비의 중심은 제자리에 남는다. 지워지는 것은 거기까지다.
지워지지 않는 것은 폭이다. 로그를 씌우면 이유가 한눈에 보인다.
이고 두 항이 독립이므로
이다. 차를 잡아도 분산은 더해진다. 위치의 오류는 차로 없앨 수 있지만 산포의 오류는 없앨 수 없다는 것이 확률론의 오래된 사실이며, 그것이 여기서 "두 겹"이라는 말의 정확한 뜻이다.
각 항이 얼마인지는 앞 절의 결과를 델타법으로 옮기면 나온다. \(g(t) = \log t\)에 대해 \(g'(t) = 1/t\)이므로 \(\text{Var}(\log S^2) \approx \text{Var}(S^2)/\sigma^4\)이고, 앞 절의 \(\text{Var}(S^2) \approx (\beta_2-1)\sigma^4/n\)을 넣으면
이 된다. \(\sigma^4\)이 약분되어 첨도만 남는다는 점이 요점이다. 정규 가정은 이 값을 \(2/n\)으로 믿으므로 어긋남의 배율은 다시 \((\beta_2-1)/2\)이고, 앞 절에서 \(S^2\) 하나에 대해 얻었던 것과 정확히 같은 양이다. 비를 잡는다고 새로운 원인이 생기는 것이 아니라, 같은 원인이 두 번 들어와 더해진다.
보기 1. 상쇄되는가 겹치는가. 정규모집단과 지수모집단에서 각각 \(n = 20\)과 \(n = 200\)으로, 표본분산 하나의 \(\operatorname{Var}(\log S^2)\)과 분산비의 \(\operatorname{Var}(\log F)\)를 20만 번씩 재어 나란히 둔다.
(1) 오른쪽 끝 열 \(\operatorname{Var}(\log F)/\operatorname{Var}(\log S^2)\)이 어느 모집단에서나 \(2\)가 되어야 하는 까닭을 적고, 정규모집단에서 \(\operatorname{Var}(\log S^2)\)의 정확한 값을 구하시오.
(2) 지수모집단에서는 그 정확한 값을 쓸 수 없다. 무엇을 대신 쓸 수 있으며 얼마나 잘 맞는가.
풀이
(1) 해석적으로. 끝 열이 \(2\)인 것은 모집단과 아무 상관이 없다. \(\log F = \log S_1^2 - \log S_2^2\)이고 두 항이 독립이면서 같은 분포이므로
이다. 차를 잡아 지워지는 것은 기댓값이고(\(E[\log S_1^2] = E[\log S_2^2]\)이므로 \(E[\log F] \approx 0\)) 쌓이는 것은 분산이다. 본문이 "두 겹"이라 부른 것이 이 등식이며, 이것 자체는 고장이 아니라 정상이다.
정규모집단에서는 오른쪽 변을 닫힌 꼴로 적을 수 있다. \((n-1)S^2/\sigma^2 \sim \chi^2_d\) (\(d = n-1\))이므로
이고, 더해진 두 항은 상수여서 분산을 바꾸지 않는다. 그러므로 \(\operatorname{Var}(\log S^2) = \operatorname{Var}(\log \chi^2_d)\)이다. 카이제곱의 적률이 \(E[(\chi^2_d)^t] = 2^t\,\Gamma(d/2+t)/\Gamma(d/2)\)이므로 \(\log\chi^2_d\)의 누적생성함수는
이고, 두 번 미분해 \(t = 0\)을 넣으면 분산이 나온다.
여기서 \(\psi'\)은 트라이감마 함수다. \(\sigma^2\)이 식에서 사라지고 \(n\)만 남는다는 점을 눈여겨 두라. 본문이 델타법으로 얻은 "척도가 사라지고 첨도만 남는다"가 정규모집단에서는 근사가 아니라 등식으로 성립한다.
수치를 넣으면 \(\psi'(9.5) = 0.1110\)과 \(\psi'(99.5) = 0.0101\)이다. 본문이 쓰는 델타근사 \(2/n\)은 이 정확값의 극한이며, \(n = 20\)에서 \(0.1000\)으로 \(10\%\) 낮고 \(n = 200\)에서 \(0.0100\)으로 \(1\%\) 낮다. 델타법은 정규모집단에서조차 근사라는 것을 적어 둘 만하다.
(2) 지수모집단에는 닫힌 꼴이 없다. \((n-1)S^2/\sigma^2\)이 카이제곱을 따르지 않으므로 위의 트라이감마 계산이 통하지 않는다. 쓸 수 있는 것은 본문의 델타법 결과
뿐이고, \(n = 20\)에서 \(0.4000\), \(n = 200\)에서 \(0.0400\)을 예측한다. 이것은 극한에서만 맞는 값이므로 유한한 \(n\)에서 얼마나 빗나가는지를 재어 보아야 한다.
from scipy import special
# 정규모집단에서는 (n-1)S^2/sigma^2 ~ chi^2_{n-1} 이므로 log S^2 은
# log(chi^2_{n-1}) 에 상수를 더한 것이고, 그 분산은 트라이감마로 닫힌다.
print(f"{'n':>5}{'정규 정확값':>14}{'정규 델타근사':>15}{'지수 델타근사':>15}")
for n in (20, 200):
d = n - 1
print(f"{n:>5}{special.polygamma(1, d / 2):>14.4f}{2 / n:>15.4f}{8 / n:>15.4f}")
출력:
n 정규 정확값 정규 델타근사 지수 델타근사
20 0.1110 0.1000 0.4000
200 0.0101 0.0100 0.0400
이제 모의실험을 그 옆에 놓는다.
import numpy as np
rng = np.random.default_rng(0)
B = 200_000
# 어긋남이 상쇄되는지 겹치는지를 로그 척도에서 잰다.
# 표본분산 하나를 볼 때와 비를 볼 때를 나란히 놓는다.
print(f"{'모집단':>8}{'n':>6}{'Var(log S²)':>14}{'Var(log F)':>13}{'비/하나':>10}")
for name, rvs in [("정규", lambda s: rng.normal(size=s)),
("지수", lambda s: rng.exponential(size=s))]:
for n in (20, 200):
a = np.log(rvs((B, n)).var(axis=1, ddof=1))
b = np.log(rvs((B, n)).var(axis=1, ddof=1))
one, both = a.var(), (a - b).var()
print(f"{name:>8}{n:>6}{one:>14.4f}{both:>13.4f}{both / one:>10.2f}")
출력:
모집단 n Var(log S²) Var(log F) 비/하나
정규 20 0.1115 0.2228 2.00
정규 200 0.0101 0.0203 2.01
지수 20 0.3510 0.6999 1.99
지수 200 0.0390 0.0779 2.00
이론값과 모의값을 한 표에 모으면 이렇다. 되풀이 20만 번에서 이 분산추정값의 몬테카를로 오차는 상대적으로 \(0.4\%\) 안이다(씨앗을 열 개 바꿔 재어 보았다).
| 모집단 | \(n\) | 이론값 | 모의값 | 어긋남 |
|---|---|---|---|---|
| 정규 | 20 | \(\psi'(9.5) = 0.1110\) | 0.1115 | \(+0.5\%\) — 몬테카를로 오차 |
| 정규 | 200 | \(\psi'(99.5) = 0.0101\) | 0.0101 | 맞는다 |
| 지수 | 20 | \(8/20 = 0.4000\) | 0.3510 | \(-12\%\) — 델타법의 한계 |
| 지수 | 200 | \(8/200 = 0.0400\) | 0.0390 | \(-2.5\%\) — 델타법의 한계 |
두 줄씩 성격이 다르다. 정규 쪽은 닫힌 꼴이라 \(n = 20\)에서도 모의값이 몬테카를로 오차 안에서 맞는다. 지수 쪽은 극한식이라 \(n = 20\)에서 \(12\%\) 빗나가고 \(n = 200\)에서 \(2.5\%\)로 줄어든다. 오차가 \(0.4\%\) 수준이니 이 차이는 잡음이 아니라 근사식 자체의 차수이며, \(n\)과 함께 줄어드는 모습이 \(O(1/n)\) 보정항이 남아 있다는 신호다. 달리 말해 지수모집단에서 \(8/n\)을 쓸 때는 작은 표본에서 어긋남의 크기를 과대평가한다는 것까지 알고 써야 한다.
오른쪽 끝 열이 어느 모집단에서나 2다. 비를 잡으면 로그 척도의 분산이 정확히 두 배가 되며, 이것은 모집단이 정규이든 아니든 똑같이 일어나는 정상적인 일이다. 문제는 그 두 배가 무엇의 두 배인가이다. \(n = 200\)에서 정규는 0.0101이고 지수는 0.0390으로 약 네 배인데, 이 4가 바로 \((\beta_2-1)/2 = (9-1)/2\)다. 정규를 기준으로 짠 기각역은 위의 두 배는 알고 있지만 옆의 네 배는 모른다.
표본을 키우면 오히려 나빠진다¶
\(n = 20\)과 \(n = 200\)을 견주면 한 가지가 더 보인다. \(n = 20\)에서 지수와 정규의 비는 \(0.3510/0.1115 = 3.15\)로 4에 못 미치는데, \(n = 200\)에서는 \(0.0390/0.0101 = 3.86\)으로 4에 바짝 다가선다. 표본이 작을 때는 \(F\) 분포 자체가 넓어 어긋남이 일부 가려지지만, 표본이 커지면 그 완충이 사라지고 첨도로 인한 왜곡만 남는다는 뜻이다.
그래서 명목 \(\alpha\)로 잡은 기각역의 실제 오류율은 \(n\)과 함께 올라간다. \(n\)이 크면 \(\log F\)가 근사적으로 정규이므로 극한값을 손으로 계산할 수도 있는데, 명목 5% 양측검정이면
이다. 첨도 하나만 알면 그 모집단에서 \(F\) 검정이 얼마나 망가지는지 미리 알 수 있다. 5.9절이 이 공식을 모의실험과 맞춰 보는데, 명목 5% 검정이 지수 모집단에서 실제로는 26%, 로그정규에서는 48%가 되고 표본을 키우면 그 수치가 더 올라간다.
앞 절의 \(S^2\)과 이 자리, 이 둘이 5장에서 표본크기가 구원이 되기는커녕 해가 되는 자리다. 자료를 더 모으면 결론이 더 믿을 만해진다는 통상의 기대가 여기서는 뒤집힌다. 앞 절의 표현을 빌리면, \(\bar X\)에서는 정리의 수렴이 문제이고 \(S^2\)에서는 정리의 전제가 문제인데, 분산비에서는 그 잘못된 전제를 두 번 쓰고 표본이 커질수록 그 전제를 더 확신하게 되는 것이다.
왜 t 검정은 괜찮은가¶
대비해 두면 구조가 또렷해진다. \(t\) 통계량의 분자는 \(\bar X - \mu\), 곧 1차 적률에 관한 양이고 중심극한정리가 통째로 받쳐 준다. 분모의 \(S\)는 척도를 맞추는 역할만 하고 비로 들어가므로 영향이 상당 부분 상쇄된다. 반면 \(F\) 통계량은 분자와 분모가 둘 다 2차 적률이다. 중심극한정리가 손댈 자리가 아예 없고, 그 대신 모집단의 4차 적률에 직접 노출된다. 그것도 위아래로 두 번.
한 문장으로 줄이면 이렇다. 중심극한정리는 1차 적률에만 선물을 주고 2차 적률에는 주지 않는다. \(F\)는 그 선물 없는 2차 적률을 둘 포갠 통계량이다.
그래서 어떻게 하는가¶
정규모집단에서 \(F\) 검정은 정확하다. 정규성에서 약간만 벗어나고 표본이 크면 근사적으로 쓸 수 있다. 그러나 치우쳤거나 꼬리가 두꺼우면 표본크기와 관계없이 믿을 수 없다.
마지막 경우에 기댈 곳은 르빈 검정, 브라운–포사이드 검정, 플리그너–킬린 검정처럼 더 넓은 분포 조건에서도 타당성을 지키는 대안들이다. 등분산 검정에 \(F\)를 권하지 않는 것이 오늘날의 표준이 된 이유가 바로 이것이다.
한편 분산분석의 \(F\)는 사정이 조금 다르다는 점도 덧붙여 둘 만하다. 거기서 분자는 집단 평균들의 흩어짐이고 평균에는 중심극한정리가 작동하므로, 집단 크기가 고르기만 하면 분산분석은 등분산 \(F\) 검정보다 훨씬 견딘다. 연습문제 6이 두 쓰임을 같은 지수모집단에 나란히 올려 이 차이를 재어 본다. 같은 분포를 쓴다고 같은 취약성을 갖는 것은 아니다.
여기까지가 이 절의 일이다. \(S_1^2/S_2^2 \sim F\)는 정규모집단 전용의 명제이고, 정규성 의존이 두 겹이라 표본을 키우면 오히려 나빠진다. 남는 물음은 그래서 두 분산이 같은지를 무엇으로 묻느냐인데, 그 답은 이 절 밖에 있다. 어긋남을 모집단별로 재어 보는 일은 5.9절이 맡고, 이 표본분포를 가지고 구간과 검정을 만드는 일은 8장 \(\sigma_1^2/\sigma_2^2\)의 신뢰구간과 9장 두 분산에 대한 \(F\) 검정이 맡는다. 첨도에 매이지 않는 대안들을 나란히 놓고 고르는 지침, 그리고 등분산을 먼저 검정하고 그 결과에 따라 \(t\) 검정을 고르는 2단계 절차가 왜 전체 유의수준을 망가뜨리는지는 15장 로버스트 분산 검정의 몫이다.
임계값¶
\(F\) 검정은 관측된 비를 상단 꼬리의 임계값과 견준다. 유의수준 5%에서 쓰는 \(F_{0.95}(d_1, d_2)\)를 자주 쓰는 자유도만 모으면 다음과 같다. 세로가 분모 자유도 \(d_2\), 가로가 분자 자유도 \(d_1\)이다.
| 분모 \(d_2\) | 1 | 2 | 3 | 4 | 5 | 10 | 20 |
|---|---|---|---|---|---|---|---|
| 5 | 6.608 | 5.786 | 5.409 | 5.192 | 5.050 | 4.735 | 4.558 |
| 10 | 4.965 | 4.103 | 3.708 | 3.478 | 3.326 | 2.978 | 2.774 |
| 15 | 4.543 | 3.682 | 3.287 | 3.056 | 2.901 | 2.544 | 2.328 |
| 20 | 4.351 | 3.493 | 3.098 | 2.866 | 2.711 | 2.348 | 2.124 |
| 30 | 4.171 | 3.316 | 2.922 | 2.690 | 2.534 | 2.165 | 1.932 |
| 60 | 4.001 | 3.150 | 2.758 | 2.525 | 2.368 | 1.993 | 1.748 |
| 120 | 3.920 | 3.072 | 2.680 | 2.447 | 2.290 | 1.910 | 1.659 |
예를 들어 \(F(5, 20)\) 분포는 자기 질량의 95%를 2.711 아래에 둔다. 표가 상단 꼬리만 담고 있다는 점을 눈여겨보라. \(F\) 자체가 1을 중심으로 비대칭이라 두 꼬리를 한 표에 나란히 담기 어렵기도 하고, 분산분석에서는 대립가설이 참일 때 \(F\)가 언제나 큰 쪽으로만 움직여 아래쪽 꼬리를 볼 일이 없기도 하다. 하단 임계값이 필요하면 표를 따로 만들 것 없이 자유도를 맞바꿔 역수를 취하면 되는데, 그 관계가 왜 성립하는지는 연습문제 2에서 확인한다. 표에 없는 자유도는 stats.f(d1, d2).ppf(0.95)로 바로 얻는다.
연습문제¶
연습문제 1. 공통 \(\sigma^2\)을 갖는 독립인 두 정규 표본에서 \(n_1 = 15\), \(n_2 = 10\)이다. \(P(S_1^2/S_2^2 > 1.5)\)를 계산하라.
풀이
분산이 같으면 \(F = S_1^2/S_2^2 \sim F_{14, 9}\)이다(분자 자유도 = \(n_1 - 1 = 14\), 분모 자유도 = \(n_2 - 1 = 9\)).
유도: \(S_i^2 \sim \sigma^2 \chi^2_{n_i - 1}/(n_i - 1)\)이다. 독립인 척도조정된 카이제곱을 각각 자유도로 나눈 비는 정확히 \(F\)이다.
수치: \(P(F_{14, 9} > 1.5) \approx 0.274\)로 약 27%이다.
\(F\) 분포는 자유도가 작을 때 심하게 치우쳐 있어, 비가 그리 크지 않아도 꼬리에 무시할 수 없는 확률이 있다.
연습문제 2. \(X \sim F_{d_1,d_2}\)이면 \(1/X \sim F_{d_2,d_1}\)이라는 4.2절의 사실에서 분위수 사이의 관계
를 이끌어 내고 \((d_1, d_2) = (14, 9)\), \(\alpha = 0.05\)에서 수치로 확인하라. 본문의 임계값 표가 상단 꼬리만 담고도 되는 까닭이 여기에 있다.
풀이
\(q = F_{d_1,d_2}(\alpha)\)라 하자. \(F\) 분포는 연속이고 양의 값만 가지므로
이고, 따라서 \(P(1/X \le 1/q) = 1 - \alpha\)다. \(1/X \sim F_{d_2,d_1}\)이므로 \(1/q\)가 곧 \(F_{d_2,d_1}\)의 \((1-\alpha)\)분위수이며, 양변의 역수를 취하면 주장한 식이 된다. \(\square\)
from scipy import stats
for d1, d2 in [(14, 9), (5, 20), (2, 21)]:
a = stats.f(d1, d2).ppf(0.05)
b = 1 / stats.f(d2, d1).ppf(0.95)
print(f"F({d1},{d2}) 의 0.05 분위수 = {a:.4f}, 1/F({d2},{d1}) 의 0.95 분위수 = {b:.4f}")
출력:
F(14,9) 의 0.05 분위수 = 0.3780, 1/F(9,14) 의 0.95 분위수 = 0.3780
F(5,20) 의 0.05 분위수 = 0.2194, 1/F(20,5) 의 0.95 분위수 = 0.2194
F(2,21) 의 0.05 분위수 = 0.0514, 1/F(21,2) 의 0.95 분위수 = 0.0514
표 하나로 두 꼬리를 다 읽는다. \(F(9,14)\)의 0.95 분위수 2.6458을 뒤집으면 \(F(14,9)\)의 0.05 분위수 0.3780이 나온다.
이 관계를 \(F\)의 비대칭과 함께 보아 두면 좋다. \(F(14,9)\)의 두 임계값은 0.3780과 3.0255인데, 1을 가운데 두고 아래로는 0.62, 위로는 2.03 떨어져 있다. 산술적으로는 전혀 대칭이 아니지만 로그를 씌우면 \(\log 0.3780 = -0.973\)과 \(\log 3.0255 = 1.107\)로 제법 가까워진다. 분산비가 곱셈 척도의 양이기 때문이며, 본문이 어긋남을 따질 때 줄곧 \(\log F\)를 들여다본 것도 같은 이유에서다.
연습문제 3. 두 모집단이 같은 모양이면 분자와 분모가 같은 방향으로 어긋나므로 비에서 상쇄될 것 같다. 왜 상쇄되지 않는지 \(\log F = \log S_1^2 - \log S_2^2\)에서 출발해 설명하라. \(\text{Var}(\log S^2) \approx (\beta_2-1)/n\)을 델타법으로 유도하고, 지수 모집단(\(\beta_2 = 9\))에서 명목 5% 양측검정의 극한 오류율을 구하라.
풀이
무엇이 상쇄되고 무엇이 상쇄되지 않는가. 두 모집단이 같은 모양이면 \(E[\log S_1^2] = E[\log S_2^2]\)이므로 \(E[\log F] \approx 0\)이다. 중심은 제자리에 있다. 그러나 두 항이 독립이므로
이다. 분산은 차를 잡아도 더해진다. 상쇄되는 것은 기댓값이고 누적되는 것은 분산이다.
델타법. \(g(t) = \log t\)이고 \(g'(t) = 1/t\)이므로 \(S^2\)이 \(\sigma^2\) 근처에 모여 있으면
이고, 앞 절의 \(\text{Var}(S^2) \approx (\beta_2-1)\sigma^4/n\)을 넣으면 \(\text{Var}(\log S^2) \approx (\beta_2-1)/n\)이다. \(\square\)
\(\sigma^4\)이 약분되어 척도가 사라지고 첨도만 남는다. 그래서 \(\log F\)의 분포가 \(\sigma\)에는 전혀 의존하지 않고 오직 \(\beta_2\)에만 의존하며, 검정의 수준이 어긋나는 정도도 첨도만으로 결정된다.
극한 오류율. \(n_1 = n_2 = n\)이라 하자. 참 표준편차는 \(\sqrt{2(\beta_2-1)/n}\)인데 \(F\) 검정은 그것을 \(\sqrt{4/n}\)으로 믿고 \(\pm 1.96\)배만큼 기각역을 잡는다. 기각역이 참 표준편차 단위로는
만큼만 뻗으므로 실제 오류율은 \(2\left[1 - \Phi\!\left(1.96\sqrt{\frac{2}{\beta_2-1}}\right)\right]\)로 간다. 지수 모집단은 \(\beta_2 = 9\)이므로
이다. 첨도가 9라는 사실 하나만으로 "명목 5% 검정이 실제로는 33%"라는 결론이 나온다. 정규(\(\beta_2 = 3\))를 넣으면 \(2[1-\Phi(1.96)] = 0.05\)로 검산이 맞는다. 5.9절이 이 값을 모의실험으로 확인한다.
연습문제 4. \(S_1^2/S_2^2 \sim F\)라는 결과는 밑바탕 모집단의 정규성을 가정한다. 가정 위반이 어느 방향으로 작동하는지 첨도로 나누어 논하고, 자료의 표본첨도를 재서 위험을 미리 판단하는 방법의 한계를 밝혀라.
풀이
방향은 첨도가 3보다 큰지 작은지로 갈린다. 꼬리가 가벼운 모집단(\(\beta_2 < 3\))에서는 \(S^2\)이 카이제곱 예측보다 덜 흔들리므로 \(F\)가 1 근처에 지나치게 모이고, 검정이 명목보다 훨씬 덜 기각한다. 안전해 보이지만 대가가 있다. 수준이 내려간 만큼 검정력도 함께 내려가므로 분산이 정말 다를 때도 잡아내지 못한다. 꼬리가 무거운 모집단(\(\beta_2 > 3\))에서는 반대로 \(F\)의 꼬리가 두꺼워져 명목 5%가 실제로는 수십 %로 작동한다. 위험한 방향이다.
어느 쪽이든 근본 문제는 같다. 명목 수준이 지켜지지 않는다는 것 자체이며, 보고한 \(p\)-값이 참값이 아니라는 뜻이다. 방향이 안전한 쪽으로 어긋나는 것은 우연일 뿐 절차의 미덕이 아니다.
자료의 첨도를 재서 판단하면 되지 않느냐고 물을 수 있는데, 두 가지 걸림돌이 있다. 첫째, 표본첨도는 4차 적률의 추정이라 그 자체가 매우 불안정하다. 둘째, 표본크기 \(n\)으로 계산한 표본첨도에는 위쪽 상한이 있어서 꼬리가 극단적으로 무거운 모집단을 아예 알아보지 못한다. 가장 위험한 경우를 가장 못 알아보는 잣대인 셈이다.
그래서 결론은 "첨도를 재서 판단하라"가 아니라 "애초에 첨도에 의존하지 않는 방법을 쓰라"가 된다. 편차의 절댓값에 분산분석을 적용하는 르빈 검정, 평균 대신 중앙값을 기준으로 삼아 더 강건해진 브라운–포사이드 검정, 순위를 쓰는 플리그너–킬린 검정, 표지를 다시 섞는 순열검정이 선택지다. 바틀렛 검정은 정규 자료에서 검정력이 가장 높지만 정규성 위반에는 \(F\)만큼이나 약하므로 대안이 되지 못한다. 이들을 실제로 나란히 놓고 고르는 일은 15장의 몫이고, 이 절의 몫은 왜 갈아타야 하는지까지다.
연습문제 5. 일원배치 분산분석에서 \(k\)개 집단 평균의 동일성을 묻는 \(F\) 통계량을 쓰고, 그것이 어떤 표본분포를 따르는지 자유도까지 밝혀라. 집단이 둘뿐이면 무엇이 되는가?
풀이
일원배치 분산분석: 집단 \(i = 1, \ldots, k\)에 각각 \(n_i\)개의 관측값이 있고 전체는 \(n = \sum n_i\)이다. 총/집단 간/집단 내 제곱합은:
- \(\mathrm{SST} = \sum_{ij}(Y_{ij} - \bar Y_{..})^2\)
- \(\mathrm{SSB} = \sum_i n_i (\bar Y_{i\cdot} - \bar Y_{..})^2\)
- \(\mathrm{SSW} = \sum_{ij}(Y_{ij} - \bar Y_{i\cdot})^2\)
F 통계량:
평균이 같다는 \(H_0\) 아래에서는 분자와 분모가 모두 \(\sigma^2\)을 추정하므로 비가 1 근처에 놓인다. 평균이 다르면 분자만 집단 간 분산으로 부풀려지고 분모는 그대로이므로 비가 큰 쪽으로만 밀린다. 본문의 임계값 표가 상단 꼬리만 담고 있는 까닭이 이것이다.
자유도: 집단 간은 \(k - 1\)(집단 평균의 개수보다 하나 적다), 집단 내는 \(n - k\)(각 집단이 \(n_i - 1\)씩 기여하여 합이 \(n - k\)가 된다).
\(k = 2\)이면 분자 자유도가 1이 되어 \(F_{1, n-2} = t_{n-2}^2\)이다. 두 표본 \(t\) 검정과 분산분석이 같은 절차의 두 표현이라는 뜻이며, 유의수준 \(\alpha\)에서 기각 여부도 \(F > t_{n-2,\,1-\alpha/2}^2\)으로 정확히 일치한다.
연습문제 6. \(F\) 분포는 분산비와 분산분석 두 곳에 나타나지만 취약성은 같지 않다. 지수모집단에서 두 쓰임의 실제 오류율을 나란히 재어라. 하나는 같은 \(\text{Exp}(1)\)에서 뽑은 세 집단의 일원배치 \(F\)이고, 다른 하나는 같은 \(\text{Exp}(1)\)에서 뽑은 두 표본의 분산비다. \(n = 10, 50, 200\)에서 무엇이 갈리는지 설명하라.
풀이
import numpy as np
from scipy import stats
rng = np.random.default_rng(3)
B, k = 100_000, 3
print(f"{'n':>6}{'ANOVA F':>12}{'등분산 F':>12}")
for n in (10, 50, 200):
# (1) 일원배치 분산분석: 세 집단을 모두 Exp(1)에서 뽑으므로 평균이 같다.
X = rng.exponential(size=(B, k, n))
gm = X.mean(axis=(1, 2), keepdims=True)
gi = X.mean(axis=2, keepdims=True)
ssb = (n * (gi - gm) ** 2).sum(axis=(1, 2))
ssw = ((X - gi) ** 2).sum(axis=(1, 2))
N = k * n
F = (ssb / (k - 1)) / (ssw / (N - k))
a1 = np.mean(F > stats.f(k - 1, N - k).ppf(0.95))
# (2) 등분산 F: 두 표본을 모두 Exp(1)에서 뽑으므로 분산이 같다. 양쪽 5%.
d = n - 1
lo, hi = stats.f(d, d).ppf([0.025, 0.975])
R = (rng.exponential(size=(B, n)).var(axis=1, ddof=1)
/ rng.exponential(size=(B, n)).var(axis=1, ddof=1))
a2 = np.mean((R < lo) | (R > hi))
print(f"{n:>6}{a1:>12.3f}{a2:>12.3f}")
출력:
n ANOVA F 등분산 F
10 0.044 0.229
50 0.048 0.294
200 0.049 0.315
왼쪽 열은 멀쩡하고 오른쪽 열은 무너진다. 같은 모집단, 같은 명목 5%, 같은 \(F\) 분포를 쓰는데 하나는 0.044~0.049로 제자리를 지키고 다른 하나는 0.229에서 0.315로 올라간다.
까닭은 분자에 무엇이 들어 있는가에 있다. 분산분석의 분자 \(\text{SSB}\)는 집단 평균들의 흩어짐이다. 평균은 1차 적률이므로 각 \(\bar Y_{i\cdot}\)가 중심극한정리를 타고 정규로 다가가고, 그러면 \(\text{SSB}\)는 정규확률변수들의 제곱합이 되어 실제로 카이제곱에 가까워진다. 분모 \(\text{SSW}\)도 4차 적률에 노출되지만, 집단 크기가 고르면 그 왜곡이 분자와 분모에 같은 방식으로 들어와 상당 부분 상쇄된다. 반면 분산비에서는 분자와 분모가 둘 다 2차 적률이라 중심극한정리가 손댈 자리가 없고, 본문이 보인 대로 로그 척도에서 왜곡이 상쇄되기는커녕 더해진다.
표본크기가 작용하는 방향도 반대다. 왼쪽 열은 \(n\)이 커지면 0.05에 더 가까워지고 오른쪽 열은 \(n\)이 커지면 극한 오류율 0.327을 향해 멀어진다. 같은 분포를 쓴다는 것이 같은 가정 위에 서 있다는 뜻은 아니다. 분산분석이 실제로 무엇에 약한지, 곧 정규성보다 집단 크기의 불균형과 이분산에 약하다는 점은 11장에서 다룬다.
연습문제 7. \(H_1\)이 참일 때 \(F\) 통계량은 비중심 \(F\) 분포를 따른다. 비중심모수 \(\lambda\)가 무엇인지 설명하고, \(\lambda\)가 표본크기와 어떻게 얽히는지를 앞 문제와 견주어라.
풀이
집단 평균이 \(\mu_1,\dots,\mu_k\)이고 각 집단 크기가 \(n\)일 때 분자의 제곱합은 중심 카이제곱이 아니라 비중심 카이제곱을 따르며, 비중심모수는
이다. 이때 \(F \sim F_{k-1,\,N-k}(\lambda)\)이고, \(H_0\)가 참이면 \(\lambda=0\)이 되어 보통의 \(F\) 분포로 돌아온다.
\(\lambda\)가 커지면 분포 전체가 오른쪽으로 밀려 상단 꼬리에 질량이 몰린다. 그 \(\lambda\)를 키우는 것이 무엇인지는 식에 그대로 적혀 있다. 집단 평균들이 멀리 흩어져 있을수록 \(\sum(\mu_i-\bar\mu)^2\)이 커지고, 집단당 표본이 많을수록 \(n\)이 커지며, 오차분산 \(\sigma^2\)이 작을수록 분모가 작아진다. 특히 \(\lambda\)가 \(n\)에 비례한다는 점을 눈여겨 두자. 표본을 두 배로 하면 비중심모수도 두 배가 된다.
\(\lambda\)가 재는 것이 평균 차이의 제곱합뿐이라는 점도 함께 보아 두자. 세 집단 평균이 \((0, 0, \delta)\)인 경우와 \((0, \delta/2, \delta)\)인 경우가 같은 \(\lambda\)를 줄 수 있으므로, 비중심 \(F\)는 "평균들이 얼마나 흩어져 있는가"까지만 알고 "어떤 모양으로 흩어져 있는가"는 모른다. 그 모양을 겨냥해 대비를 설계하고 사후비교를 다루는 일은 11장 사후비교의 몫이다.
표본크기와 얽히는 방향이 정반대다. \(\lambda\)가 \(n\)에 비례한다는 사실을 연습문제 3·6과 나란히 놓아 보라. 분산분석에서는 표본을 키우면 비중심모수가 커져 대립가설을 잡아낼 힘이 오른다. 등분산 \(F\) 검정에서는 표본을 키우면 귀무가설 아래의 오류율이 극한 \(2[1-\Phi(1.96\sqrt{2/(\beta_2-1)})]\)을 향해 오른다. 같은 \(F\) 분포를 쓰는데 한쪽에서는 \(n\)이 약이고 다른 쪽에서는 독이다. 그 까닭은 연습문제 6이 보인 대로 분자에 들어 있는 것이 1차 적률이냐 2차 적률이냐에 있다.
연습문제 8. \(F\) 분포와 베타분포는 변수변환 하나로 이어진다. \(X \sim F_{d_1,d_2}\)일 때
가 \(\text{Beta}(d_1/2,\ d_2/2)\)를 따름을 보이고 수치로 확인하라. 이 관계가 왜 편리한가?
풀이
정의로 돌아가면 한 줄이다. \(X = \dfrac{U/d_1}{V/d_2}\)이고 \(U \sim \chi^2_{d_1}\), \(V \sim \chi^2_{d_2}\)가 독립이므로
이다. 그런데 \(\chi^2_d = \text{Gamma}(d/2,\ \text{척도}=2)\)이고, 척도가 같은 독립인 감마 \(U \sim \text{Gamma}(\alpha)\), \(V \sim \text{Gamma}(\beta)\)에 대해
라는 표준적인 사실이 있다. \(\alpha = d_1/2\), \(\beta = d_2/2\)를 넣으면 결론이 나온다. \(\square\)
import numpy as np
from scipy import stats
d1, d2 = 6, 9
F = stats.f.rvs(d1, d2, size=200_000, random_state=3)
B = (d1 * F / d2) / (1 + d1 * F / d2)
print(f" KS p = {stats.kstest(B, 'beta', args=(d1/2, d2/2)).pvalue:.4f}")
print(f" 모의 평균 {B.mean():.5f} Beta 이론 {(d1/2)/((d1/2)+(d2/2)):.5f}")
출력:
KS p = 0.2143
모의 평균 0.40034 Beta 이론 0.40000
무엇이 편리해지는가.
- \(F\)의 누적분포를 베타의 불완전베타함수로 계산한다. 실제로
scipy를 포함한 수치 라이브러리가 \(F\)의 CDF를 정규화 불완전베타함수 \(I_x(a,b)\)로 구현한다. \(F\)를 직접 적분하는 것보다 안정적이다. - 무한 구간이 유한 구간으로 바뀐다. \(X \in (0,\infty)\)가 \(B \in (0,1)\)로 옮겨지므로 수치적분과 분위수 탐색이 쉬워진다.
- 연습문제 2의 역수 관계가 자명해진다. \(1/X\)로 바꾸면 \(B \to 1-B\)이고, \(\text{Beta}(a,b)\)의 대칭성 \(1-B \sim \text{Beta}(b,a)\)가 곧 \(1/X \sim F_{d_2,d_1}\)이다.
개념적으로도 읽을 것이 있다. \(B = U/(U+V)\)는 "전체 제곱합 중 분자가 차지하는 몫" 이다. 분산분석으로 옮기면 \(B\)가 곧 \(R^2\)이며(집단 간 제곱합 / 총 제곱합), 회귀의 결정계수가 베타분포를 따른다는 사실이 여기서 나온다. \(F\)와 \(R^2\)이 같은 정보를 다른 눈금으로 적은 것임을 이 변환이 보여 준다.
연습문제 9. 귀무가설이 참이면 \(S_1^2/S_2^2\)의 "중심"이 \(1\)일 것 같다. 그러나 \(E[F_{d_1,d_2}] = \dfrac{d_2}{d_2-2}\)로 언제나 \(1\)보다 크다. 이유를 설명하고, \(d_2\)가 작을 때 얼마나 어긋나는지 확인하라. 중앙값은 어떠한가?
풀이
원인은 분모가 확률변수라는 데 있다. \(1/x\)는 볼록함수이므로 옌센 부등식에 의해
이다. 분자와 분모가 독립이므로
이 된다(\(d_2 > 2\)). 분모가 우연히 작게 나올 때 비가 크게 튀는 것이 평균을 위로 끌어올린다.
import numpy as np
from scipy import stats
print(f"{'d1':>5}{'d2':>5}{'E[F] 이론':>12}{'모의':>10}{'중앙값':>10}")
for d1, d2 in [(5,5), (5,10), (10,20), (20,50), (10,200)]:
X = stats.f.rvs(d1, d2, size=400_000, random_state=1)
print(f"{d1:>5}{d2:>5}{d2/(d2-2):>12.4f}{X.mean():>10.4f}{np.median(X):>10.4f}")
출력:
d1 d2 E[F] 이론 모의 중앙값
5 5 1.6667 1.6640 0.9974
5 10 1.2500 1.2516 0.9327
10 20 1.1111 1.1102 0.9663
20 50 1.0417 1.0422 0.9807
10 200 1.0101 1.0102 0.9372
\(d_2 = 5\)이면 평균이 \(1.67\)이다. 두 모분산이 완전히 같은데도 분산비의 기댓값이 \(1\)에서 \(67\%\)나 위로 치우친다. \(d_2\)가 커지면 \(1\)로 수렴하지만 수렴이 느려서 \(d_2 = 50\)에서도 여전히 \(4\%\) 높다.
중앙값은 오히려 \(1\)보다 조금 작다. \(d_2=5\)에서 \(0.997\), \(d_2=20\)에서 \(0.966\)이다. 평균이 위로 끌려간 것은 오른쪽 꼬리의 극단값 때문이고, 분포의 몸통은 \(1\) 근처 혹은 약간 왼쪽에 있다는 뜻이다. \(F\)가 심하게 오른쪽으로 치우친 분포임을 이 둘의 차이가 말해 준다.
| \(d_2 = 5\) | \(d_2 = 200\) | |
|---|---|---|
| 평균 | \(1.667\) | \(1.010\) |
| 중앙값 | \(0.997\) | \(0.937\) |
| 평균 \(-\) 중앙값 | \(0.67\) | \(0.07\) |
실무적 함의 둘.
- \(F\) 값을 "1에서 얼마나 먼가"로 눈대중하면 안 된다. \(F = 1.5\)가 \(d_2 = 5\)에서는 평균보다도 작은 흔한 값이고 \(d_2 = 200\)에서는 꽤 큰 값이다. 반드시 자유도에 맞는 임계값과 견주어야 한다.
- \(F\) 값을 여러 연구에서 평균내는 것은 위험하다. 편향이 \(d_2\)에 따라 달라서 자유도가 작은 연구가 평균을 끌어올린다. 메타분석에서 \(F\) 대신 \(\log F\)나 효과크기를 쓰는 이유이며, 연습문제 3이 \(\log\) 척도로 간 것과 같은 동기다.
연습문제 10. \(F\) 분포를 뒤집으면 \(\sigma_1^2/\sigma_2^2\)의 신뢰구간이 나온다. 구간을 유도하고 \(n_1=15\), \(n_2=10\), \(s_1=4.0\), \(s_2=2.5\)에 적용하라. 구간이 왜 그렇게 넓고 비대칭인가?
풀이
유도. 정규성 아래
이므로, 이 양이 \([F_{0.025},\ F_{0.975}]\)에 들어갈 확률이 \(0.95\)다. \(\sigma_1^2/\sigma_2^2\)에 대해 풀면
이다. 점추정값을 위쪽 분위수로 나눈 것이 하한이라는 점에 주의하라. 부등식을 뒤집으면서 순서가 바뀐다.
import numpy as np
from scipy import stats
n1, n2, s1, s2 = 15, 10, 4.0, 2.5
r = s1**2 / s2**2
lo = r / stats.f.ppf(0.975, n1-1, n2-1)
hi = r / stats.f.ppf(0.025, n1-1, n2-1)
print(f" 점추정 s1^2/s2^2 = {r:.4f}")
print(f" 95% CI = [{lo:.4f}, {hi:.4f}] (상한/하한 = {hi/lo:.2f})")
print(f" 로그 척도: 점추정 {np.log(r):.4f}, 구간 중심 {(np.log(lo)+np.log(hi))/2:.4f}")
출력:
점추정 s1^2/s2^2 = 2.5600
95% CI = [0.6740, 8.2158] (상한/하한 = 12.19)
로그 척도: 점추정 0.9400, 구간 중심 0.8558
구간이 \(1\)을 포함한다. 점추정이 \(2.56\)으로 두 배 넘게 차이 나 보이지만, \(n_1=15\), \(n_2=10\)으로는 분산이 같을 가능성을 배제하지 못한다.
왜 이렇게 넓은가 — 분산의 추정이 원래 부정확하다. 연습문제 3에서 \(\operatorname{Var}(\log S^2) \approx (\beta_2-1)/n\)을 얻었다. 정규모집단이면 \(2/n\), 자유도로 고쳐 적으면 \(2/(n-1)\)이고, \(n=10\)이면 표준편차가 \(\sqrt{2/9} = 0.47\)이다. 로그 척도에서 \(\pm0.47\)이면 비율로 \(1.6\)배다. 두 개를 비로 만들면 불확실성이 두 배로 쌓인다. 평균에 대한 구간이 \(\sigma/\sqrt n\)으로 줄어드는 것과 달리, 분산비의 구간은 \(n\)이 어지간히 커지기 전에는 좁아지지 않는다.
비대칭인 이유는 척도가 곱셈적이기 때문이다. 하한까지가 \(2.56/0.674 = 3.8\)배이고 상한까지가 \(8.22/2.56 = 3.2\)배로, 비로 보면 거의 대칭이다. 차로 보면 \(1.89\)와 \(5.66\)으로 심하게 비대칭이지만, 로그를 취하면 \(-1.33\)과 \(+1.17\)로 비슷해진다. 분산비는 로그 척도에서 읽어야 하는 양이다.
(로그 구간 중심 \(0.856\)이 점추정 \(\log r = 0.940\)과 정확히 같지는 않다. \(\log F\) 분포가 완전히 대칭은 아니기 때문이며, 자유도가 커질수록 둘이 가까워진다.)
실무 지침.
- 분산비 구간은 표본이 어지간히 크지 않으면 거의 항상 \(1\)을 포함한다. 그래서 "등분산 검정에서 유의하지 않았으니 등분산이다"라는 논법이 위험하다. 검정력이 낮아 못 잡은 것일 수 있다.
- 그래서 등분산 사전검정 대신 웰치 방법을 기본으로 쓰는 것이 권장된다. 15장에서 이 논점을 본격적으로 다룬다.
- 정규성 위반에 특히 약하다. 연습문제 4·6에서 본 대로 이 구간의 포함확률은 첨도에 민감하며, 표본을 키워도 나아지지 않는다. \(\square\)
정리하며¶
\(F\) 분포가 무엇인지는 4.2절이 답했다. 이 절이 답한 것은 어떤 통계량이 이 분포를 낳고, 그 대가로 무엇을 지불했는가이다.
낳는 통계량은 둘이다. 하나는 5.9절의 \(S_1^2/S_2^2\)이다. 두 표본분산을 각자의 자유도로 조정해 비를 잡으면 모분산이 남는데, 귀무가설 \(\sigma_1^2 = \sigma_2^2\)이 그 모분산을 약분해 없애 주어 자료만으로 계산되는 양이 된다. 다른 하나는 분산분석이다. 여러 집단의 평균이 같은지를 묻는 문제가 집단 간 변동과 집단 내 변동의 비를 보는 문제로 번역되며, 집단이 둘뿐일 때는 \(t^2 = F\)로 두 표본 \(t\) 검정과 정확히 같아진다.
지불한 대가는 정규성이며, 그것도 두 겹이다. 앞 절에서 카이제곱 결과가 정규성에 매달려 있고 표본크기로 구제되지 않는다는 것을 보았는데, \(F\)는 그 결과를 분자와 분모에서 한 번씩 쓴다. 로그 척도에서 보면 위치의 편향은 상쇄되지만 산포의 왜곡은 더해진다. 어긋남의 배율은 \(S^2\) 하나짜리 절차와 똑같은 \((\beta_2-1)/2\)로 남아 비를 잡는다고 조금도 덜어지지 않으며, 그 위에 두 모집단이 모두 정규여야 한다는 조건이 얹힌다.
가장 반직관적인 결론이 여기서 나온다. 표본을 키우면 나빠진다. 표본이 작을 때는 \(F\) 분포 자체가 넓어 어긋남을 가려 주지만, 표본이 커지면 그 완충이 사라지고 첨도로 인한 왜곡만 남아 실제 오류율이 \(2[1-\Phi(1.96\sqrt{2/(\beta_2-1)})]\)로 올라간다. 앞 절의 \(S^2\)과 함께, 5장에서 표본크기가 구원이 되지 못하는, 아니 해가 되는 자리다. 그래서 실무에서는 등분산 검정에 \(F\) 대신 브라운–포사이드 같은 강건한 대안을 쓰는 것이 표준이 되었다.
여기까지가 추론이 기준으로 삼는 네 분포다. \(Z\)는 표준화의 기준자이고, \(t\)는 \(\sigma\)를 모를 때 치르는 대가이며, \(\chi^2\)은 제곱합의 분포이고, \(F\)는 그 제곱합 둘의 비다. 앞의 둘에는 중심극한정리가 보호를 대 주고 뒤의 둘에는 대 주지 않는다는 것이 이 절 전체를 가르는 선이며, 5.4절부터는 이 넷을 가지고 여섯 통계량의 표본분포를 하나씩 확인한다.