* 본 블로그 포스트에서 사용된 표, 이미지 및 기타 관련 자료는 "PROBABILITY AND STATISTICAL INFERENCE 9th Edition"에서 발췌한 것입니다. 이 자료들은 내용을 요약하고 이해를 돕기 위한 참고용으로 제공됩니다. 또한, 해석 과정에서 일부 오류가 있을 수 있으니 원본을 참고하여 확인하시기 바랍니다
1. 이론정리
1) 개요
(1) 일원분산분석(One-Way Analysis of Variance, ANOVA)
a) 한 개의 요인(factor)이 여러 수준(level)을 가질 때 모집단 평균 간 차이를 비교하는 통계적 방법
b) 예: 교육 방법(A, B, C)에 따른 시험 성적 비교, 비료 유형에 따른 작물 수확량 비교
c) 모집단이 세 개 이상일 때, t-검정보다 더 적절한 방법
(2) 가정
a) 각 모집단은 정규분포를 따른다.
b) 모든 모집단의 분산은 동일하다(등분산성 가정).
c) 각 표본은 서로 독립적이다.
2) 가설 검정
(1) 귀무가설(H0): 모든 모집단 평균이 동일하다.
\[
H_0: \mu_1 = \mu_2 = ... = \mu_m
\]
(2) 대립가설(H1): 적어도 하나의 모집단 평균이 다르다.
(3) 검정 방법
a) 총 변동을 처리 간 변동(SS(T))과 오차 변동(SS(E))으로 분해
b) 분산비 검정(F-test) 수행
3) 제곱합(Sum of Squares, SS) 유도 과정
(1) 데이터 정의
a) 모집단 개수: \( m \)
b) 각 모집단의 샘플 개수: \( n_i \)
c) 전체 샘플 개수: \( N = \sum n_i \)
d) 개별 데이터: \( X_{ij} \) (i번째 그룹의 j번째 샘플)
e) 그룹 평균:
\[
\bar{X}_i = \frac{1}{n_i} \sum_{j=1}^{n_i} X_{ij}
\]
f) 전체 평균:
\[
\bar{X}_{..} = \frac{1}{N} \sum_{i=1}^{m} \sum_{j=1}^{n_i} X_{ij}
\]
(2) 총 제곱합(Total Sum of Squares, \( SS(TO) \))
a) 전체 데이터의 변동을 측정
b) 정의:
\[
SS(TO) = \sum_{i=1}^{m} \sum_{j=1}^{n_i} (X_{ij} - \bar{X}_{..})^2
\]
c) 유도 과정
- 전체 평균과 개별 데이터 간 편차의 제곱 합
(3) 처리 제곱합(Treatment Sum of Squares, \( SS(T) \))
a) 그룹 간 변동을 측정
b) 정의:
\[
SS(T) = \sum_{i=1}^{m} n_i (\bar{X}_i - \bar{X}_{..})^2
\]
c) 유도 과정
- 각 그룹 평균과 전체 평균 간 편차를 이용하여 계산
(4) 오차 제곱합(Error Sum of Squares, \( SS(E) \))
a) 그룹 내 개별 데이터의 변동을 측정
b) 정의:
\[
SS(E) = \sum_{i=1}^{m} \sum_{j=1}^{n_i} (X_{ij} - \bar{X}_i)^2
\]
c) 유도 과정
- 각 샘플과 해당 그룹 평균 간 편차의 제곱 합
(5) 변동 분해 관계
a) 총 변동은 처리 간 변동과 오차 변동의 합으로 분해됨
\[
SS(TO) = SS(T) + SS(E)
\]
4) 분산 분석 표 (ANOVA Table)
| Source | Sum of Squares (SS) | Degrees of Freedom (df) | Mean Square (MS) | F-ratio |
| Treatment | \( SS(T) \) | \( m-1 \) | \( MS(T) = \frac{SS(T)}{m-1} \) | \( F = \frac{MS(T)}{MS(E)} \) |
| Error | \( SS(E) \) | \( N-m \) | \( MS(E) = \frac{SS(E)}{N-m} \) | - |
| Total | \( SS(TO) \) | \( N-1 \) | - | - |
5) F 검정통계량
(1) 정의
a) 처리 간 변동(SS(T))이 오차 변동(SS(E))보다 큰지를 평가하는 지표
b) 분산비 검정(F-test) 사용
(2) 수식
\[
F = \frac{MS(T)}{MS(E)} = \frac{SS(T) / (m-1)}{SS(E) / (N-m)}
\]
(3) 자유도
a) 분자의 자유도: \( df_T = m - 1 \)
b) 분모의 자유도: \( df_E = N - m \)
c) F-분포 \( F(m-1, N-m) \) 사용하여 유의성 검정 수행
6) 정리 9.3-1 (Theorem 9.3-1)
(1) 정리 내용
a) \( Q = Q_1 + Q_2 + \cdots + Q_k \) 이고, \( Q, Q_1, ..., Q_k \) 는 동일한 분산 \( \sigma^2 \) 을 가지는
서로 독립적인 정규분포를 따르는 \( n \) 개의 변수에 대한 이차형식(quadratic form)이다.
b) \( Q/\sigma^2, Q_1/\sigma^2, ..., Q_{k-1}/\sigma^2 \) 는 각각 카이제곱 분포를 따르며 자유도는
\( r, r_1, ..., r_{k-1} \) 이다.
c) 만약 \( Q_k \) 가 음이 아닌 경우, 다음이 성립한다.
- (a) \( Q_1, ..., Q_k \) 는 서로 독립이다.
- (b) \( Q_k/\sigma^2 \) 는 자유도가 \( r - (r_1 + ... + r_{k-1}) = r_k \) 인 카이제곱 분포를 따른다.
(2) 증명
a) \( X_1, X_2, ..., X_n \) 이 평균이 0이고 분산이 \( \sigma^2 \) 인 서로 독립적인 정규분포를 따른다고 가정한다.
b) 임의의 이차형식 \( Q = X^T A X \) 를 정의하면, 특정 행렬 \( A \) 에 따라 \( Q \) 는 카이제곱 분포를 따를 수 있다.
c) 가정에 따라, \( Q_1, Q_2, ..., Q_k \) 역시 같은 분산을 가지는 정규분포를 따르는 변수들의 이차형식이므로,
\[
Q = Q_1 + Q_2 + \cdots + Q_k
\]
가 성립한다.
d) 카이제곱 분포의 가법성(additivity of chi-square distribution) 성질에 의해, 각각의 \( Q_i \) 가 서로 독립이면,
그 합도 카이제곱 분포를 따른다.
e) 만약 \( Q_k = Q - (Q_1 + ... + Q_{k-1}) \) 가 음이 아닌 경우,
\[
Q_k = Q - \sum_{i=1}^{k-1} Q_i
\]
이므로, 남은 자유도는 다음과 같이 계산된다.
\[
r_k = r - (r_1 + r_2 + ... + r_{k-1})
\]
f) 따라서, \( Q_k/\sigma^2 \) 는 자유도가 \( r_k \) 인 카이제곱 분포를 따르며, 또한 \( Q_1, ..., Q_k \) 는 서로 독립임을
알 수 있다.
2. 예제
1) 문제
(1) 예제 1: 교육 방법에 따른 학생 성적 비교
- 세 가지 교육 방법(A, B, C)을 적용한 후 학생들의 시험 성적이 차이가 있는지 검정하라.
- 데이터:
- A: [85, 90, 88, 92, 86]
- B: [78, 82, 85, 80, 79]
- C: [90, 88, 91, 92, 89]
- 유의수준: 0.05
(2) 예제 2: 비료 종류에 따른 작물 성장 비교
- 서로 다른 세 종류의 비료(X, Y, Z)가 작물 성장에 미치는 영향을 비교한다.
- 데이터:
- X: [15, 18, 16, 20, 19]
- Y: [22, 24, 23, 25, 26]
- Z: [12, 14, 13, 11, 15]
- 유의수준: 0.05
(3) 예제 3: 광고 유형별 제품 판매량 비교
- 세 가지 광고 유형(A, B, C)이 제품 판매량에 미치는 영향을 비교한다.
- 데이터:
- A: [55, 60, 58, 62, 57]
- B: [48, 50, 52, 47, 49]
- C: [65, 68, 66, 70, 64]
- 유의수준: 0.05
2) 답안
(1) 예제 1: 교육 방법에 따른 학생 성적 비교
a) 각 그룹의 평균 및 전체 평균 계산
- A 그룹 평균:
\[
\bar{X}_A = \frac{85 + 90 + 88 + 92 + 86}{5} = 88.2
\]
- B 그룹 평균:
\[
\bar{X}_B = \frac{78 + 82 + 85 + 80 + 79}{5} = 80.8
\]
- C 그룹 평균:
\[
\bar{X}_C = \frac{90 + 88 + 91 + 92 + 89}{5} = 90.0
\]
- 전체 평균:
\[
\bar{X}_{..} = \frac{(88.2 \times 5) + (80.8 \times 5) + (90.0 \times 5)}{15} = 86.33
\]
b) 총 제곱합(SS(TO)) 계산
\[
SS(TO) = \sum_{i=1}^{m} \sum_{j=1}^{n_i} (X_{ij} - \bar{X}_{..})^2
\]
\[
SS(TO) = (85-86.33)^2 + (90-86.33)^2 + \dots + (89-86.33)^2 = 166.67
\]
c) 처리 제곱합(SS(T)) 계산
\[
SS(T) = \sum_{i=1}^{m} n_i (\bar{X}_i - \bar{X}_{..})^2
\]
\[
SS(T) = 5(88.2 - 86.33)^2 + 5(80.8 - 86.33)^2 + 5(90.0 - 86.33)^2 = 119.07
\]
d) 오차 제곱합(SS(E)) 계산
\[
SS(E) = SS(TO) - SS(T) = 166.67 - 119.07 = 47.6
\]
e) 자유도 계산
- 처리 자유도(df_T) = \( m - 1 = 3 - 1 = 2 \)
- 오차 자유도(df_E) = \( N - m = 15 - 3 = 12 \)
f) F 검정통계량 계산
\[
F = \frac{MS(T)}{MS(E)} = \frac{SS(T) / df_T}{SS(E) / df_E}
\]
\[
F = \frac{119.07 / 2}{47.6 / 12} = \frac{59.54}{3.97} = 15.01
\]
g) 유의수준 0.05에서 F 임계값(자유도 2, 12) = 3.89
- \( 15.01 > 3.89 \) → 귀무가설 기각
- 결론: 교육 방법에 따라 학생 성적이 유의미한 차이를 보인다.
(2) 예제 2: 비료 종류에 따른 작물 성장 비교
a) 각 그룹의 평균 및 전체 평균 계산
- X 그룹 평균:
\[
\bar{X}_X = \frac{15 + 18 + 16 + 20 + 19}{5} = 17.6
\]
- Y 그룹 평균:
\[
\bar{X}_Y = \frac{22 + 24 + 23 + 25 + 26}{5} = 24.0
\]
- Z 그룹 평균:
\[
\bar{X}_Z = \frac{12 + 14 + 13 + 11 + 15}{5} = 13.0
\]
- 전체 평균:
\[
\bar{X}_{..} = \frac{(17.6 \times 5) + (24.0 \times 5) + (13.0 \times 5)}{15} = 18.2
\]
b) 총 제곱합(SS(TO)) 계산
\[
SS(TO) = \sum_{i=1}^{m} \sum_{j=1}^{n_i} (X_{ij} - \bar{X}_{..})^2
\]
\[
SS(TO) = (15-18.2)^2 + (18-18.2)^2 + \dots + (15-18.2)^2 = 87.6
\]
c) 처리 제곱합(SS(T)) 계산
\[
SS(T) = \sum_{i=1}^{m} n_i (\bar{X}_i - \bar{X}_{..})^2
\]
\[
SS(T) = 5(17.6 - 18.2)^2 + 5(24.0 - 18.2)^2 + 5(13.0 - 18.2)^2 = 82.0
\]
d) 오차 제곱합(SS(E)) 계산
\[
SS(E) = SS(TO) - SS(T) = 87.6 - 82.0 = 5.6
\]
e) 자유도 계산
- 처리 자유도(df_T) = \( m - 1 = 3 - 1 = 2 \)
- 오차 자유도(df_E) = \( N - m = 15 - 3 = 12 \)
f) F 검정통계량 계산
\[
F = \frac{MS(T)}{MS(E)} = \frac{SS(T) / df_T}{SS(E) / df_E}
\]
\[
F = \frac{82.0 / 2}{5.6 / 12} = \frac{41.0}{0.467} = 87.8
\]
g) 유의수준 0.05에서 F 임계값(자유도 2, 12) = 3.89
- \( 87.8 > 3.89 \) → 귀무가설 기각
- 결론: 비료 종류에 따라 작물 성장량이 유의미하게 다르다.
(3) 예제 3: 광고 유형별 제품 판매량 비교
a) 각 그룹의 평균 및 전체 평균 계산
- A 그룹 평균:
\[
\bar{X}_A = \frac{55 + 60 + 58 + 62 + 57}{5} = 58.4
\]
- B 그룹 평균:
\[
\bar{X}_B = \frac{48 + 50 + 52 + 47 + 49}{5} = 49.2
\]
- C 그룹 평균:
\[
\bar{X}_C = \frac{65 + 68 + 66 + 70 + 64}{5} = 66.6
\]
- 전체 평균:
\[
\bar{X}_{..} = \frac{(58.4 \times 5) + (49.2 \times 5) + (66.6 \times 5)}{15} = 58.0
\]
b) 총 제곱합(SS(TO)) 계산
\[
SS(TO) = \sum_{i=1}^{m} \sum_{j=1}^{n_i} (X_{ij} - \bar{X}_{..})^2 = 185.2
\]
c) 처리 제곱합(SS(T)) 계산
\[
SS(T) = \sum_{i=1}^{m} n_i (\bar{X}_i - \bar{X}_{..})^2 = 166.4
\]
d) 오차 제곱합(SS(E)) 계산
\[
SS(E) = SS(TO) - SS(T) = 185.2 - 166.4 = 18.8
\]
e) 자유도 계산
- 처리 자유도(df_T) = \( m - 1 = 3 - 1 = 2 \)
- 오차 자유도(df_E) = \( N - m = 15 - 3 = 12 \)
f) F 검정통계량 계산
\[
F = \frac{166.4 / 2}{18.8 / 12} = \frac{83.2}{1.567} = 53.1
\]
g) 유의수준 0.05에서 F 임계값(자유도 2, 12) = 3.89
- \( 53.1 > 3.89 \) → 귀무가설 기각
- 결론: 광고 유형에 따라 제품 판매량에 유의미한 차이가 있다.
# R code
# 문제 1
# 데이터 생성
scores <- list(A = c(85, 90, 88, 92, 86),
B = c(78, 82, 85, 80, 79),
C = c(90, 88, 91, 92, 89))
# 데이터 변환
data <- stack(scores)
# 분산분석 수행
result <- aov(values ~ ind, data = data)
summary(result)
# 문제 2
# 데이터 생성
fertilizer <- list(X = c(15, 18, 16, 20, 19),
Y = c(22, 24, 23, 25, 26),
Z = c(12, 14, 13, 11, 15))
# 데이터 변환
data <- stack(fertilizer)
# 분산분석 수행
result <- aov(values ~ ind, data = data)
summary(result)
# 문제 3
# 데이터 생성
ads <- list(A = c(55, 60, 58, 62, 57),
B = c(48, 50, 52, 47, 49),
C = c(65, 68, 66, 70, 64))
# 데이터 변환
data <- stack(ads)
# 분산분석 수행
result <- aov(values ~ ind, data = data)
summary(result)
# Python code
import scipy.stats as stats
import numpy as np
# 문제 1
# 데이터 생성
group_A = [85, 90, 88, 92, 86]
group_B = [78, 82, 85, 80, 79]
group_C = [90, 88, 91, 92, 89]
# 일원분산분석 수행
F, p_value = stats.f_oneway(group_A, group_B, group_C)
# 결과 출력
print(f"F-statistic: {F:.3f}, p-value: {p_value:.5f}")
# 문제 2
# 데이터 생성
group_X = [15, 18, 16, 20, 19]
group_Y = [22, 24, 23, 25, 26]
group_Z = [12, 14, 13, 11, 15]
# 일원분산분석 수행
F, p_value = stats.f_oneway(group_X, group_Y, group_Z)
# 결과 출력
print(f"F-statistic: {F:.3f}, p-value: {p_value:.5f}")
# 문제 3
import scipy.stats as stats
import numpy as np
# 데이터 생성
group_A = [55, 60, 58, 62, 57]
group_B = [48, 50, 52, 47, 49]
group_C = [65, 68, 66, 70, 64]
# 일원분산분석 수행
F, p_value = stats.f_oneway(group_A, group_B, group_C)
# 결과 출력
print(f"F-statistic: {F:.3f}, p-value: {p_value:.5f}")
'통계' 카테고리의 다른 글
| 9.5 General Factorial and 2k Factorial Designs (0) | 2025.01.03 |
|---|---|
| 9.4 Two-Way Analysis of Variance (0) | 2025.01.03 |
| 9.2 Contingency Tables (0) | 2025.01.03 |
| 9.1 Chi-Square Goodness-of-Fit Tests (0) | 2025.01.03 |
| 8.7 Likelihood Ratio Tests (0) | 2025.01.03 |