1 개요
확률변수 합의 표본분포에서 모집단 분포에 무관하게 성립하는 표본평균과 표본분산의 성질( \(E[\bar{X}] = \mu\) , \(\text{Var}(\bar{X}) = \sigma^2/n\) , \(E[S^2] = \sigma^2\) )을 다루었다. 이 포스트에서는 모집단이 정규분포라는 추가 가정 아래 무엇이 더 가능한지를 다룬다.
정규 가정이 추가되면 세 가지 근본적으로 새로운 결과를 얻는다:
- \(\bar{X}\) 와 \(S^2\) 가 독립이다
- \((n-1)S^2/\sigma^2\) 가 카이제곱 분포를 따른다
- 이 두 결과로부터 Student’s \(t\) 분포와 Snedecor’s \(F\) 분포가 도출된다
이 세 분포( \(\chi^2\) , \(t\) , \(F\) )는 정규 모집단에 대한 추론(Ch.7-9)의 핵심 도구이다. \(t\) -검정, \(F\) -검정, \(\chi^2\) -검정이 모두 여기서 나온다 (Casella & Berger, 2002, Ch.5).
2 핵심 정리: \(\bar{X}\) 와 \(S^2\) 의 성질
\(X_1, \ldots, X_n \overset{iid}{\sim} N(\mu, \sigma^2)\) 이고, \(\bar{X} = \frac{1}{n}\sum_{i=1}^{n} X_i\) , \(S^2 = \frac{1}{n-1}\sum_{i=1}^{n}(X_i - \bar{X})^2\) 이면:
(a) \(\bar{X}\) 와 \(S^2\) 는 독립 확률변수이다
(b) \(\bar{X} \sim N(\mu, \sigma^2/n)\)
(c) \((n-1)S^2/\sigma^2 \sim \chi^2_{n-1}\)
(Casella & Berger, 2002, Ch.5)
이 정리의 각 부분이 왜 중요하고, 왜 정규 가정이 필요한지를 하나씩 살펴보자.
2.1 (a) \(\bar{X}\) 와 \(S^2\) 의 독립성
이 결과는 직관적으로 놀랍다. 표본평균(위치의 측도)과 표본분산(산포의 측도)이 서로 완전히 독립이라는 것이다.
10발의 총알이 과녁에 맞았다고 하자. “탄착군의 중심”( \(\bar{X}\) )이 과녁의 왼쪽에 있는지 오른쪽에 있는지를 아는 것이, “탄착군이 얼마나 퍼져 있는지”( \(S^2\) )에 대해 아무런 정보도 주지 않는다. 이것이 독립성의 의미이다. 단, 이 비유가 정확히 성립하는 것은 탄착 패턴이 정규분포를 따를 때이다.
왜 정규 가정이 필요한가? 일반적으로 \(\bar{X}\) 와 \(S^2\) 는 독립이 아니다. 예를 들어 지수분포에서 \(\bar{X}\) 가 크면 \(S^2\) 도 클 경향이 있다. 정규분포에서 독립성이 성립하는 이유는 결합 pdf의 대칭적 이차형식 구조에 기인한다.
2.2 독립성의 증명 (개요)
위치-척도 모임의 성질을 사용하여 \(\mu = 0\) , \(\sigma = 1\) 로 일반성을 잃지 않고 가정할 수 있다. 변환 \(Y_1 = \bar{X}\) , \(Y_i = X_i - \bar{X}\) ( \(i = 2, \ldots, n\) )를 적용하면 결합 pdf가 다음과 같이 분리된다:
\[ f(y_1, \ldots, y_n) = \underbrace{\left(\frac{n}{2\pi}\right)^{1/2} e^{-ny_1^2/2}}_{\text{$\bar{X}$의 pdf}} \cdot \underbrace{g(y_2, \ldots, y_n)}_{\text{편차들의 pdf}} \]
결합 pdf가 \(Y_1\) 의 함수와 \((Y_2, \ldots, Y_n)\) 의 함수의 곱으로 인수분해되므로, \(\bar{X}\) 와 \((X_2 - \bar{X}, \ldots, X_n - \bar{X})\) 는 독립이다. \(S^2\) 는 편차들의 함수이므로 \(\bar{X}\) 와 독립이다 (Casella & Berger, 2002, Ch.5).
2.3 독립성의 대안적 증명: 정규 선형 함수의 독립성 (Lemma 5.3.3)
독립성을 더 간단하게 보이는 방법이 있다. 핵심 도구는 다음 보조정리이다.
\(X_j \sim N(\mu_j, \sigma_j^2)\) ( \(j = 1, \ldots, n\) )이 독립이고, 상수 \(a_{ij}\) , \(b_{rj}\) 에 대해
\[ U_i = \sum_{j=1}^{n} a_{ij} X_j, \quad V_r = \sum_{j=1}^{n} b_{rj} X_j \]
로 정의하면:
(a) \(U_i\) 와 \(V_r\) 은 \(\text{Cov}(U_i, V_r) = 0\) 일 때 그리고 그때에만 독립이다. 이때 \(\text{Cov}(U_i, V_r) = \sum_{j=1}^{n} a_{ij} b_{rj} \sigma_j^2\)
(b) 벡터 \((U_1, \ldots, U_k)\) 와 \((V_1, \ldots, V_m)\) 은 모든 쌍 \((U_i, V_r)\) 이 독립 일 때 그리고 그때에만 독립이다
(Casella & Berger, 2002, Ch.5)
이 보조정리의 핵심은 정규분포에서는 비상관(uncorrelated) = 독립(independent)이라는 것이다. 일반 분포에서는 이것이 성립하지 않지만, 정규분포의 이차형식 구조 덕분에 공분산이 0이면 결합 pdf가 인수분해되어 독립이 보장된다. 또한 (b)에 의해, 정규 벡터의 독립성은 쌍별(pairwise) 독립만 확인하면 충분하다. 일반 확률변수에서는 쌍별 독립이 상호 독립을 보장하지 않지만, 정규분포에서는 보장된다.
이를 \(\bar{X}\) 와 \(S^2\) 의 독립성에 적용하면:
\[ \bar{X} = \sum_{i=1}^{n} \frac{1}{n} X_i, \quad X_j - \bar{X} = \sum_{i=1}^{n} \left(\delta_{ij} - \frac{1}{n}\right) X_i \]
여기서 \(\delta_{ij}\) 는 크로네커 델타이다. 공분산을 계산하면:
\[ \text{Cov}(\bar{X}, X_j - \bar{X}) = \sum_{i=1}^{n} \frac{1}{n}\left(\delta_{ij} - \frac{1}{n}\right)\sigma^2 = \sigma^2\left(\frac{1}{n} - \frac{1}{n}\right) = 0 \]
정규 확률변수의 선형 함수에서 공분산 0은 독립을 의미하므로, \(\bar{X}\) 와 모든 \(X_j - \bar{X}\) 가 독립이고, 따라서 \(\bar{X}\) 와 \(S^2\) 도 독립이다.
일반 분포에서 공분산 0은 비상관(uncorrelated)을 의미할 뿐 독립을 보장하지 않는다. “공분산 0이면 독립”이 성립하는 것은 정규분포의 특별한 성질이다. 비정규 모집단에서는 이 논증이 성립하지 않는다.
2.4 (b) \(\bar{X}\) 의 분포
\(\bar{X} \sim N(\mu, \sigma^2/n)\) 은 이미 확률변수 합의 표본분포에서 mgf 기법으로 도출했다. 정규분포의 재생성에 의해 정규 확률변수의 선형결합은 다시 정규분포를 따른다.
2.5 (c) \((n-1)S^2/\sigma^2\) 의 분포
이 결과의 증명은 수학적 귀납법을 사용한다. \(\bar{X}_k\) 와 \(S_k^2\) 를 처음 \(k\) 개 관측값에 기반한 표본평균과 표본분산이라 하자.
핵심 분해 공식: 다음 점화식이 성립한다 (Exercise 5.15):
\[ (n-1)S_n^2 = (n-2)S_{n-1}^2 + \frac{n-1}{n}(X_n - \bar{X}_{n-1})^2 \]
직관적으로, \(n\) 번째 관측값이 추가되면 표본분산은 기존 \(n-1\) 개의 분산에 “새 관측값이 기존 평균에서 떨어진 정도”를 반영한 항이 더해진다.
기저 사례 ( \(n = 2\) ): \(0 \times S_1^2 = 0\) 으로 정의하면 점화식에서:
\[ S_2^2 = \frac{1}{2}(X_2 - X_1)^2 \]
\((X_2 - X_1)/\sqrt{2} \sim N(0, 1)\) 이므로 Lemma 5.3.2(a)에 의해 \(S_2^2 \sim \chi^2_1\) 이다.
귀납 단계: \(n = k\) 에서 \((k-1)S_k^2 \sim \chi^2_{k-1}\) 이 성립한다고 가정한다. \(n = k+1\) 이면:
\[ kS_{k+1}^2 = (k-1)S_k^2 + \frac{k}{k+1}(X_{k+1} - \bar{X}_k)^2 \]
두 번째 항을 분석하면: \(X_{k+1}\) 과 \(\bar{X}_k\) 는 독립인 정규 확률변수이므로 \(X_{k+1} - \bar{X}_k \sim N\left(0, 1 + \frac{1}{k}\right) = N\left(0, \frac{k+1}{k}\right)\) 이다. 따라서:
\[ \frac{k}{k+1}(X_{k+1} - \bar{X}_k)^2 = \left(\frac{X_{k+1} - \bar{X}_k}{\sqrt{(k+1)/k}}\right)^2 \sim \chi^2_1 \]
이 항은 \(S_k^2\) 와 독립이다 (\((X_{k+1}, \bar{X}_k)\) 가 \(S_k^2\) 와 독립이므로). Lemma 5.3.2(b)에 의해:
\[ kS_{k+1}^2 = \underbrace{(k-1)S_k^2}_{\sim \chi^2_{k-1}} + \underbrace{\frac{k}{k+1}(X_{k+1} - \bar{X}_k)^2}_{\sim \chi^2_1, \text{ 독립}} \sim \chi^2_k \]
귀납법이 완성된다. 따라서 모든 \(n \geq 2\) 에 대해 \((n-1)S^2/\sigma^2 \sim \chi^2_{n-1}\) 이다.
3 카이제곱 분포의 기본 성질
\(\chi^2\) 분포는 감마분포의 특수한 경우이다: \(\chi^2_p = \text{Gamma}(p/2, 2)\) .
표준정규 확률변수 \(Z \sim N(0,1)\) 의 제곱 \(Z^2\) 은 \(\text{Gamma}(1/2, 2)\) 를 따른다 (Lemma 5.3.2(a)에서 확인). 독립 감마 확률변수를 더하면 형상(shape) 모수가 합산되므로:
\[ \underbrace{Z_1^2}_{\text{Gamma}(1/2,\,2)} + \cdots + \underbrace{Z_p^2}_{\text{Gamma}(1/2,\,2)} \sim \text{Gamma}(p/2,\, 2) \]
자유도 \(p\) 는 감마분포 형상 모수의 2배이다. 따라서 기댓값이 \(E[\chi^2_p] = (p/2) \times 2 = p\) 로 자유도와 일치하고, 분산은 \(\text{Var}[\chi^2_p] = (p/2) \times 4 = 2p\) 가 된다.
(a) \(Z \sim N(0, 1)\) 이면 \(Z^2 \sim \chi^2_1\)
(b) \(X_1, \ldots, X_n\) 이 독립이고 \(X_i \sim \chi^2_{p_i}\) 이면:
\[ X_1 + \cdots + X_n \sim \chi^2_{p_1 + \cdots + p_n} \]
즉, 독립 카이제곱 변수의 합은 카이제곱이고, 자유도가 더해진다 (Casella & Berger, 2002, Ch.5).
이 두 성질을 결합하면: \(Z_1, \ldots, Z_n \overset{iid}{\sim} N(0, 1)\) 이면 \(\sum_{i=1}^{n} Z_i^2 \sim \chi^2_n\) 이다.
3.1 카이제곱 분포의 기본 통계량
\(X \sim \chi^2_p\) 이면:
| 통계량 | 값 | 유도 |
|---|---|---|
| \(E[X]\) | \(p\) | \(\text{Gamma}(p/2, 2)\) 의 평균 \(= p/2 \times 2\) |
| \(\text{Var}(X)\) | \(2p\) | \(\text{Gamma}(p/2, 2)\) 의 분산 \(= p/2 \times 4\) |
| 최빈값 | \(p - 2\) ( \(p \geq 2\) ) | pdf를 미분하여 0으로 놓음 |
자유도 \(p\) 가 클수록 분포의 중심이 오른쪽으로 이동하고, CLT에 의해 대칭에 가까워진다.
4 Student’s \(t\) 분포
4.1 동기: 모분산을 모를 때의 추론
정규 모집단에서 \(\bar{X}\) 의 표준화:
\[ Z = \frac{\bar{X} - \mu}{\sigma / \sqrt{n}} \sim N(0, 1) \]
이 통계량은 \(\sigma\) 를 알아야 계산할 수 있으므로 실용적이지 않다. W. S. Gosset (필명 Student)은 \(\sigma\) 를 \(S\) 로 대체한 통계량의 분포를 구했다.
4.2 정의와 도출
\(X_1, \ldots, X_n \overset{iid}{\sim} N(\mu, \sigma^2)\) 이면, 통계량
\[ T = \frac{\bar{X} - \mu}{S / \sqrt{n}} \]
은 자유도 \(n - 1\) 인 Student’s \(t\) 분포를 따른다. 이를 \(T \sim t_{n-1}\) 로 쓴다 (Casella & Berger, 2002, Ch.5).
도출의 핵심: \(\sigma/\sigma\) 를 곱하고 나누면:
\[ \frac{\bar{X} - \mu}{S/\sqrt{n}} = \frac{(\bar{X} - \mu)/(\sigma/\sqrt{n})}{\sqrt{S^2/\sigma^2}} = \frac{Z}{\sqrt{V/(n-1)}} \]
여기서:
- 분자: \(Z = (\bar{X} - \mu)/(\sigma/\sqrt{n}) \sim N(0, 1)\)
- 분모: \(V = (n-1)S^2/\sigma^2 \sim \chi^2_{n-1}\)
- \(Z\) 와 \(V\) 는 독립 (Theorem 5.3.1(a)에 의해)
따라서 \(t\) 분포는 독립인 표준정규 변수를 \(\sqrt{\chi^2_p/p}\) 로 나눈 것이다.
4.3 \(t\) 분포의 pdf
\[ f_T(t) = \frac{\Gamma\left(\frac{p+1}{2}\right)}{\Gamma\left(\frac{p}{2}\right)} \frac{1}{\sqrt{p\pi}} \frac{1}{\left(1 + t^2/p\right)^{(p+1)/2}}, \quad -\infty < t < \infty \]
이 공식의 핵심은 분모의 \(\left(1 + t^2/p\right)^{(p+1)/2}\) 항이다. \(|t|\) 가 커질수록 분모가 증가해 pdf가 감소하는 구조이며, 표준정규 \(e^{-t^2/2}\) 와 비교하면:
- 정규분포: 꼬리가 \(e^{-t^2/2}\) 처럼 지수적으로 빠르게 감소
- \(t\) 분포: 꼬리가 \(\left(1 + t^2/p\right)^{-(p+1)/2}\) 처럼 다항식 속도로 감소 → 두꺼운 꼬리
\(p\) 가 커지면 \((1 + t^2/p) \approx 1 + 0 = 1\) 에 가까워지므로 \(e^{-t^2/2}\) 근사가 개선된다. \(p = 1\) 일 때는 \(\left(1 + t^2\right)^{-1}\) 형태가 되어 코시분포 pdf와 정확히 일치한다. 이 한 공식이 “자유도가 작을 때의 두꺼운 꼬리”부터 “\(p \to \infty\) 에서의 정규 수렴”까지 모두 포착한다.
4.4 \(t\) 분포의 성질
| 성질 | 내용 | 의미 |
|---|---|---|
| 대칭성 | 0을 중심으로 대칭 | \(E[T_p] = 0\) ( \(p > 1\) ) |
| 꼬리 두께 | 정규분포보다 두꺼운 꼬리 | \(\sigma\) 를 \(S\) 로 대체한 불확실성 반영 |
| 분산 | \(\text{Var}(T_p) = p/(p-2)\) ( \(p > 2\) ) | \(p\) 가 클수록 1에 수렴 (정규에 접근) |
| \(p = 1\) | \(t_1 = \text{Cauchy}(0, 1)\) | \(n = 2\) 일 때 코시분포 |
| \(p \to \infty\) | \(t_p \to N(0, 1)\) | 표본이 커지면 \(S \to \sigma\) 이므로 정규에 수렴 |
\(\sigma\) 를 모르기 때문에 \(S\) 로 대체했다. \(S\) 자체가 확률변수이므로 때로는 \(\sigma\) 보다 작게, 때로는 크게 나온다. \(S\) 가 작게 나오면 \(T = (\bar{X} - \mu)/(S/\sqrt{n})\) 이 극단적으로 커질 수 있다. 이 추가적인 불확실성이 표준정규분포보다 두꺼운 꼬리로 나타난다. 표본 크기가 커지면 \(S\) 가 \(\sigma\) 에 가까워지므로 이 불확실성이 줄어들고, \(t\) 분포는 정규분포에 수렴한다.
4.5 \(t\) 분포의 적률과 존재 조건
\(t\) 분포는 mgf가 존재하지 않는다. 적률은 자유도 \(p\) 에 따라 제한적으로만 존재한다:
| 자유도 \(p\) | 존재하는 적률 | 특이 사항 |
|---|---|---|
| \(p = 1\) | 평균도 없음 | 코시분포 |
| \(p = 2\) | 평균 존재, 분산 없음 | |
| \(p > 2\) | \(E[T] = 0\) , \(\text{Var}(T) = p/(p-2)\) | |
| \(p \to \infty\) | 모든 적률 존재 | 정규분포에 수렴 |
5 Snedecor’s \(F\) 분포
5.1 동기: 두 모집단의 분산 비교
두 독립 정규 모집단 \(N(\mu_X, \sigma_X^2)\) 과 \(N(\mu_Y, \sigma_Y^2)\) 에서 각각 표본을 추출했을 때, 모분산의 비 \(\sigma_X^2/\sigma_Y^2\) 에 관심이 있다. 이 비에 대한 정보를 담고 있는 통계량은 \(S_X^2/S_Y^2\) 이며, 적절히 스케일링하면 \(F\) 분포를 따른다.
5.2 정의
\(X_1, \ldots, X_n \overset{iid}{\sim} N(\mu_X, \sigma_X^2)\) 와 \(Y_1, \ldots, Y_m \overset{iid}{\sim} N(\mu_Y, \sigma_Y^2)\) 가 독립이면:
\[ F = \frac{S_X^2/\sigma_X^2}{S_Y^2/\sigma_Y^2} \]
은 자유도 \((n-1, m-1)\) 인 Snedecor’s \(F\) 분포를 따른다 (Casella & Berger, 2002, Ch.5).
더 일반적으로, \(U \sim \chi^2_p\) 와 \(V \sim \chi^2_q\) 가 독립이면:
\[ F = \frac{U/p}{V/q} \sim F_{p,q} \]
5.3 \(F\) 분포의 pdf
\[ f_F(x) = \frac{\Gamma\left(\frac{p+q}{2}\right)}{\Gamma\left(\frac{p}{2}\right)\Gamma\left(\frac{q}{2}\right)} \left(\frac{p}{q}\right)^{p/2} \frac{x^{(p/2) - 1}}{[1 + (p/q)x]^{(p+q)/2}}, \quad x > 0 \]
\(F = (U/p)/(V/q)\) 라는 정의에서 pdf의 각 요소가 자연스럽게 따라온다:
| 요소 | 역할 |
|---|---|
| \(x^{(p/2)-1}\) | 분자 자유도 \(p\) 의 기여 — \(x \to 0\) 근처에서 형태 결정 |
| \([1+(p/q)x]^{-(p+q)/2}\) | 비율 분모의 기여 — \(x \to \infty\) 에서 꼬리 감소 |
| \((p/q)^{p/2}\) | 정규화 인수 |
\(x \to 0\) 근처에서 \(x^{(p/2)-1}\) 이 지배하고, \(x \to \infty\) 에서는 \(x^{-(q/2)-1}\) 처럼 감소한다. 따라서 \(F\) 분포는 양의 값만 가지고 오른쪽으로 치우친 분포이며, 분자·분모 자유도 \(p, q\) 가 클수록 1 근처에 집중된다. 분자-분모 자유도가 모두 크면 \(F \approx 1\) 에 가까워진다는 직관도 여기서 나온다 — 두 모분산이 같을 때 \(S_X^2/S_Y^2\) 이 1에 가까운 경향을 반영한다.
5.4 \(F\) 분포의 기본 성질
| 성질 | 수식 | 조건 |
|---|---|---|
| 기댓값 | \(E[F_{p,q}] = q/(q-2)\) | \(q > 2\) |
| 분산 | \(\text{Var}(F_{p,q}) = \frac{2q^2(p+q-2)}{p(q-2)^2(q-4)}\) | \(q > 4\) |
6 세 분포의 관계
\(\chi^2\) , \(t\) , \(F\) 분포는 독립적으로 존재하는 것이 아니라 밀접하게 연결되어 있다.
(a) \(X \sim F_{p,q}\) 이면 \(1/X \sim F_{q,p}\) (역수도 \(F\) 분포)
(b) \(X \sim t_q\) 이면 \(X^2 \sim F_{1,q}\) ( \(t\) 의 제곱은 \(F\) )
(c) \(X \sim F_{p,q}\) 이면 \(\frac{(p/q)X}{1 + (p/q)X} \sim \text{Beta}(p/2, q/2)\)
(Casella & Berger, 2002, Ch.5)
이 관계들의 실무적 의미:
- (a): \(F\) -검정에서 분자와 분모를 바꿔도 \(F\) 분포이므로, \(H_0: \sigma_X^2 = \sigma_Y^2\) 검정은 어느 분산을 분자에 놓든 가능하다
- (b): 단일 회귀 계수에 대한 \(t\) -검정의 양측 \(p\) -값은 \(F\) -검정의 \(p\) -값과 동일하다. 실제로 \(t^2 = F\) 이기 때문이다
- (c): 베이지안 분석에서 분산비를 베타 분포로 변환하여 다룰 수 있다
\(F = (U/p)/(V/q)\) 에서 \(W = \frac{F \cdot (p/q)}{1 + F \cdot (p/q)} = \frac{U/p}{U/p + V/q}\) 로 정의하면 \(W \in (0, 1)\) 이다. 이 \(W\) 는 “전체 카이제곱 중 분자 카이제곱이 차지하는 비율”이며, 베타분포의 자연스러운 해석(두 감마의 상대적 비율)과 일치한다. \(F\) 분포의 지지 \((0, \infty)\) 를 \((0, 1)\) 로 압축하는 이 변환이 \(\text{Beta}(p/2, q/2)\) 를 만들어낸다.
6.1 관계 다이어그램
N(0,1) ──제곱──→ χ²₁ ──합──→ χ²ₙ
│ │
│ Z/√(V/p) │ (U/p)/(V/q)
↓ ↓
tₚ ───제곱──→ F₁,ₚ F_{p,q}
7 통계적 추론에서의 역할
이 세 분포가 추론에서 어떻게 사용되는지를 정리한다.
| 추론 문제 | 통계량 | 분포 | \(H_0\) 하에서 |
|---|---|---|---|
| 평균 검정 ( \(\sigma\) 미지) | \(T = \frac{\bar{X} - \mu_0}{S/\sqrt{n}}\) | \(t_{n-1}\) | \(\mu = \mu_0\) |
| 분산 검정 | \(\chi^2 = \frac{(n-1)S^2}{\sigma_0^2}\) | \(\chi^2_{n-1}\) | \(\sigma^2 = \sigma_0^2\) |
| 두 평균 비교 ( \(\sigma\) 미지, 등분산) | \(T = \frac{\bar{X} - \bar{Y}}{S_p\sqrt{1/n + 1/m}}\) | \(t_{n+m-2}\) | \(\mu_X = \mu_Y\) |
| 두 분산 비교 | \(F = \frac{S_X^2}{S_Y^2}\) | \(F_{n-1, m-1}\) | \(\sigma_X^2 = \sigma_Y^2\) |
| 회귀 계수 유의성 | \(F = \frac{\text{MSR}}{\text{MSE}}\) | \(F_{k, n-k-1}\) | 모든 계수 = 0 |
\(\bar{X}\) 와 \(S^2\) 의 독립성이 이 모든 것의 출발점이다. 독립이 아니면 \(T = (\bar{X} - \mu)/(S/\sqrt{n})\) 의 분포를 도출할 수 없고, \(t\) -검정은 불가능해진다. 정규 가정 → 독립성 → \(t\) , \(F\) 분포 → 추론이라는 논리적 사슬을 이해하는 것이 핵심이다.
8 코드 예시
8.1 Step 1: 순수 Python 구현 (카이제곱 분포 검증)
import math
import random
random.seed(42)
n = 10
mu, sigma = 5.0, 3.0
n_sim = 50000
# (n-1)S^2/sigma^2가 chi-squared(n-1)를 따르는지 확인
chi2_values = []
for _ in range(n_sim):
sample = [random.gauss(mu, sigma) for _ in range(n)]
x_bar = sum(sample) / n
s2 = sum((x - x_bar)**2 for x in sample) / (n - 1)
chi2_stat = (n - 1) * s2 / sigma**2
chi2_values.append(chi2_stat)
# chi-squared(n-1)의 이론적 평균 = n-1, 분산 = 2(n-1)
mean_chi2 = sum(chi2_values) / len(chi2_values)
var_chi2 = sum((v - mean_chi2)**2 for v in chi2_values) / (len(chi2_values) - 1)
print(f"=== (n-1)S^2/sigma^2의 분포 (n={n}) ===")
print(f"E[(n-1)S^2/sigma^2] = {mean_chi2:.4f} (이론: {n-1})")
print(f"Var[(n-1)S^2/sigma^2] = {var_chi2:.4f} (이론: {2*(n-1):.1f})")
# t 통계량 시뮬레이션
t_values = []
for _ in range(n_sim):
sample = [random.gauss(mu, sigma) for _ in range(n)]
x_bar = sum(sample) / n
s2 = sum((x - x_bar)**2 for x in sample) / (n - 1)
s = math.sqrt(s2)
t_stat = (x_bar - mu) / (s / math.sqrt(n))
t_values.append(t_stat)
mean_t = sum(t_values) / len(t_values)
var_t = sum((v - mean_t)**2 for v in t_values) / (len(t_values) - 1)
print(f"\n=== t 통계량의 분포 (df={n-1}) ===")
print(f"E[T] = {mean_t:.4f} (이론: 0)")
print(f"Var[T] = {var_t:.4f} (이론: {(n-1)/(n-3):.4f})")이 코드는 정규 모집단에서 \((n-1)S^2/\sigma^2\) 의 평균과 분산이 \(\chi^2_{n-1}\) 분포의 이론값( \(n-1\) , \(2(n-1)\) )과 일치하는지, 그리고 \(t\) 통계량의 평균과 분산이 이론값(0, \(p/(p-2)\) )과 일치하는지 확인한다.
8.2 Step 2: scipy 구현 (세 분포와 독립성 검증)
import numpy as np
from scipy import stats
np.random.seed(42)
n, m = 20, 25
mu_x, sigma_x = 10.0, 3.0
mu_y, sigma_y = 10.0, 5.0
n_sim = 50000
# --- 1. X_bar와 S^2의 독립성 (정규 vs 비정규) ---
# 정규 모집단
x_bars_norm = np.zeros(n_sim)
s2s_norm = np.zeros(n_sim)
for i in range(n_sim):
sample = np.random.normal(mu_x, sigma_x, n)
x_bars_norm[i] = sample.mean()
s2s_norm[i] = sample.var(ddof=1)
# 지수 모집단 (비정규)
x_bars_exp = np.zeros(n_sim)
s2s_exp = np.zeros(n_sim)
for i in range(n_sim):
sample = np.random.exponential(scale=3.0, size=n)
x_bars_exp[i] = sample.mean()
s2s_exp[i] = sample.var(ddof=1)
corr_norm = np.corrcoef(x_bars_norm, s2s_norm)[0, 1]
corr_exp = np.corrcoef(x_bars_exp, s2s_exp)[0, 1]
print("=== X_bar와 S^2의 상관계수 ===")
print(f"정규 모집단: r = {corr_norm:.4f} (이론: 0, 독립)")
print(f"지수 모집단: r = {corr_exp:.4f} (0이 아님, 비독립)")
# --- 2. chi-squared 적합도 검정 ---
chi2_stats = (n - 1) * s2s_norm / sigma_x**2
ks_stat, p_val = stats.kstest(chi2_stats, 'chi2', args=(n - 1,))
print(f"\n=== chi-squared 적합도 (KS test) ===")
print(f"(n-1)S^2/sigma^2 ~ chi2({n-1}): KS={ks_stat:.4f}, p={p_val:.4f}")
# --- 3. t 분포 적합도 ---
t_stats = (x_bars_norm - mu_x) / (np.sqrt(s2s_norm) / np.sqrt(n))
ks_stat, p_val = stats.kstest(t_stats, 't', args=(n - 1,))
print(f"\n=== t 분포 적합도 (KS test) ===")
print(f"T ~ t({n-1}): KS={ks_stat:.4f}, p={p_val:.4f}")
# --- 4. F 분포 적합도 ---
f_stats = np.zeros(n_sim)
for i in range(n_sim):
sx2 = np.random.normal(mu_x, sigma_x, n).var(ddof=1)
sy2 = np.random.normal(mu_y, sigma_y, m).var(ddof=1)
f_stats[i] = (sx2 / sigma_x**2) / (sy2 / sigma_y**2)
ks_stat, p_val = stats.kstest(f_stats, 'f', args=(n - 1, m - 1))
print(f"\n=== F 분포 적합도 (KS test) ===")
print(f"F ~ F({n-1},{m-1}): KS={ks_stat:.4f}, p={p_val:.4f}")
# --- 5. t^2 = F 관계 검증 ---
t2_stats = t_stats**2
ks_stat, p_val = stats.kstest(t2_stats, 'f', args=(1, n - 1))
print(f"\n=== t^2 ~ F(1, {n-1}) 관계 검증 ===")
print(f"T^2 ~ F(1,{n-1}): KS={ks_stat:.4f}, p={p_val:.4f}")이 코드는 다섯 가지를 검증한다: (1) 정규 모집단에서 \(\bar{X}\) 와 \(S^2\) 의 상관이 0이지만 지수 모집단에서는 아닌 것을 확인 (독립성의 정규 의존성), (2) \((n-1)S^2/\sigma^2 \sim \chi^2_{n-1}\) 적합도, (3) \(T \sim t_{n-1}\) 적합도, (4) \(F\) 통계량의 적합도, (5) \(T^2 \sim F_{1, n-1}\) 관계.
9 응용 분야
| 분야 | 사용되는 분포 | 구체적 예시 |
|---|---|---|
| 임상시험 | \(t\) 분포 | 신약 vs 위약 평균 효과 비교 (two-sample \(t\) -test) |
| 제조 품질관리 | \(\chi^2\) 분포 | 공정 분산이 목표치 이내인지 검정 |
| 분산분석 (ANOVA) | \(F\) 분포 | 3개 이상 그룹의 평균 차이 검정 |
| 회귀분석 | \(t\) , \(F\) 분포 | 개별 계수의 유의성( \(t\) ), 모형 전체의 유의성( \(F\) ) |
| A/B 테스트 | \(t\) 분포 | 전환율 차이의 통계적 유의성 판정 |
| 심리측정 | \(\chi^2\) 분포 | 검사 점수의 분산 동질성(homogeneity of variance) 검정 |
10 관련 주제
선행 지식
- 확률변수 합의 표본분포 (Sums of Random Variables from a Random Sample)
- 확률 표본의 기본 개념 (Basic Concepts of Random Samples)
- 확률 표본의 성질 개요 (Properties of a Random Sample: Overview)
후속 주제
- 순서통계량 (Order Statistics)
- Convergence in Probability
- 점추정 (Point Estimation) — \(t\) , \(\chi^2\) , \(F\) 를 활용한 추론
관련 개념