유진정의 기록

[핵심 확률/통계] Analysis of Variance (ANOVA 분산분석) 본문

개인공부/기초 수학

[핵심 확률/통계] Analysis of Variance (ANOVA 분산분석)

알파카유진정 2025. 2. 6. 15:03

작년 말쯤 수학 공부를 갑자기 했던 것 같은데, 많이 도움 받았던 강의들을 티스토리에 정리해볼까합니더.

혹시라도 문제가 된다면 댓글 등으로 알려주시면 감사하겠습니다.

[핵심 확률/통계] 표본분산의 분포, 카이제곱분포, t 분포, F 분포 / 김성범 교수님 유튜브 강의

https://www.youtube.com/watch?v=DyBxYsCow9k&list=PLpIPLT0Pf7IqS4as3nefPyGv94r2aY6IT&index=2


ANOVA는 3개 이상의 모집단 평균이 같은지 다른지 비교하는 방법입니다.
이를 통해 그룹 간 차이를 통계적으로 검정할 수 있습니다. 모든 모집단의 분산이 같다는 조건을 만족해야 합니다.

🔍 중요 포인트

  • ANOVA를 통해 그룹 간 평균 차이를 통계적으로 검정할 수 있습니다.
  • F-통계량을 이용한 가설 검정과 결과 해석이 중요합니다.
  • 자유도와 분산분석의 개념을 이해하고 적절히 적용해야 합니다.

✏️ 주요 수식

  • ANOVA 가설: $H_0: \mu_1 = \mu_2 = \mu_3 = ... = \mu_k$
  • F-통계량: $F = \frac{MSA}{MSE}$
  • 샘플 분산: $s^2 = \frac{\sum_{i=1}^{n}(x_i - \bar{x})^2}{n-1}$
  • 카이제곱 분포: $X \sim \chi^2(k)$
  • F 분포: $F \sim F(k_1, k_2)$

증명과 전개

  • ANOVA 수식 유도: 그룹 간 평균과 그룹 내 평균을 비교하여 F-통계량을 계산
  • 자유도 계산: 그룹 간과 그룹 내 자유도를 고려하여 ANOVA 결과를 해석
  • F-통계량 해석: F 값이 클수록 그룹 간 차이가 크다는 것을 의미

📑 종합 정리

🌟 개념 정리표

개념 수식 설명 주의점
ANOVA $H_0: \mu_1 = \mu_2 = \mu_3 = ... = \mu_k$ 3개 이상의 모집단 평균 비교 모든 모집단의 분산 동일해야 함
자크나이프 (Jackknife) $\hat{\mu}_i = \frac{n-1}{n}\sum_{j=1}^{n} y_{(j)}$ i번째 레벨의 평균 추정값을 구하는 방법 자크나이프를 통해 알려지지 않은 레벨의 추정값을 구할 수 있음
샘플 분산 $s^2 = \frac{\sum_{i=1}^{n}(x_i - \bar{x})^2}{n-1}$ 표본 데이터의 분산을 계산하는 공식 편향 보정을 위해 $n-1$로 나눔
카이제곱 분포 $X \sim \chi^2(k)$ 자유도 $k$에 따라 분포하는 확률변수 자유도가 커질수록 정규분포에 가까워짐
F 분포 $F \sim F(k_1, k_2)$ 두 개의 카이제곱 분포를 나눈 비율이 따르는 분포 분자의 자유도 $k_1$, 분모의 자유도 $k_2$

🌟 ANOVA 기본 용어 설명

가설검정

귀무가설(H₀): 모든 그룹의 평균이 같다
대립가설(H₁): 적어도 두 그룹의 평균이 다르다

변동(Sum of Squares)의 종류:

  1. 전체 변동(SST): 모든 데이터의 전체적인 변화량
  2. 처리 변동(SSA): 그룹 간의 차이에서 발생하는 변화량
  3. 오차 변동(SSE): 같은 그룹 내에서 발생하는 변화량
  4. SST = Σ(각 관측값 - 전체평균)² SSA = n × Σ(그룹평균 - 전체평균)² SSE = Σ(각 관측값 - 해당 그룹평균)²

자유도(Degrees of Freedom, DF):

  • 데이터가 자유롭게 변할 수 있는 정도를 나타내는 값
  • 전체 자유도 = 전체 데이터 수 - 1
  • 처리 자유도 = 그룹 수 - 1
  • 오차 자유도 = 전체 자유도 - 처리 자유도

평균제곱(MS) 계산:

MSA = SSA / (k-1)  [k는 그룹 수]
MSE = SSE / k(n-1) [n은 각 그룹의 표본 수]

ANOVA 표 구조

요인 자유도(DF) 제곱합(SS) 평균제곱(MS) F 값
처리 k-1 SSA MSA F*
오차 k(n-1) SSE MSE  
전체 nk-1 SST    

검정 방법 |

  • F* = MSA/MSE 계산
    이 값이 임계값(F₍α,k-1,k(n-1)₎)보다 크면 귀무가설 기각

해석

  • SSA가 SSE보다 매우 크면 그룹 간 차이가 있다고 볼 수 있음
  • F값이 크면 그룹 간 차이가 통계적으로 유의미함을 의미

세부 내용


1. ANOVA

ANOVA(Analysis of Variance)는 3개 이상의 모집단을 비교할 때 사용하는 통계적 방법입니다. 두 개의 모집단을 비교할 때는 Two-sample t-test를 사용하지만 (예: 흡연자와 비흡연자의 평균 수명 비교), 세 개 이상의 집단을 비교할 때는 일원분산분석인 ANOVA를 사용합니다. ANOVA의 핵심 개념은 여러 모집단의 평균이 서로 같은지 다른지를 비교하는 것으로, 이는 귀무가설 $H_0: \mu_1 = \mu_2 = \mu_3 = ... = \mu_k$를 통해 검정합니다. 이때 중요한 전제조건은 비교하고자 하는 모든 모집단의 분산이 동일해야 한다는 점입니다.

정의와 필요성

구분 내용 비고
의미 Analysis of Variance (분산분석) 3개 이상 집단 비교 시 사용
2개 집단 비교 Two-sample t-test -
3개 이상 집단 비교 ANOVA 모든 집단의 분산이 동일해야 함

기본 수식

구분 수식 설명
귀무가설 $H_0: \mu_1 = \mu_2 = \mu_3 = ... = \mu_k$ 모든 모집단의 평균이 같다
F-통계량 $F = \frac{MSA}{MSE}$ 그룹 간/내 변동 비율

🌟 통계적 개념

자유도(Degrees of Freedom)
데이터가 자유롭게 변할 수 있는 정도를 나타내는 값입니다.

  • 전체 자유도 = 전체 데이터 수 - 1
  • 처리 자유도 = 그룹 수 - 1
  • 오차 자유도 = 전체 자유도 - 처리 자유도
그룹 간 자유도: df_{between} = k-1
그룹 내 자유도: df_{within} = N-k
(k: 그룹 수, N: 전체 데이터 수)

평균 계산

구분 수식 의미
전체 평균 $\bar{Y}{..} = \frac{\sum{i=1}^{a}\sum_{j=1}^{n}Y_{ij}}{N}$  모든 데이터의 평균
그룹 내 평균 $\bar{Y}{i.} = \frac{\sum{j=1}^{n}Y_{ij}}{n}$ 각 그룹별 평균
그룹 간 평균 $\bar{Y}{.j} = \frac{\sum{i=1}^{a}Y_{ij}}{a}$ 그룹 간 평균 비교값

변동(Sum of Squares)의 종류

  • 전체 변동(SST) | 모든 데이터의 전체적인 변화량
  • 처리 변동(SSA) | 그룹 간의 차이에서 발생하는 변화량
  • 오차 변동(SSE) | 같은 그룹 내에서 발생하는 변화량
  • 표본 평균의 계산 방법
    • 각 수준(i=1,...,k)의 표본 평균 |
      $\hat{\mu}_i = \bar{Y}_{i.} = \frac{\sum_{j=1}^n Y_{ij}}{n}$
      분포 수식 특징
      카이제곱 분포 $X \sim \chi^2(k)$ 자유도 증가 시 정규분포에 근사
      F 분포 $F \sim F(k_1, k_2)$ 두 카이제곱 분포의 비율
      샘플 분산 $s^2 = \frac{\sum_{i=1}^{n}(x_i - \bar{x})^2}{n-1}$ n-1로 나누어 편향 보정
    • 전체 표본 평균 |
      $\hat{\mu} = \bar{Y}_{..} = \frac{\sum_{i=1}^k\sum_{j=1}^n Y_{ij}}{nk}$

주요 통계량

  • F-통계량 | $F = \frac{MSA}{MSE}$
  • 샘플 분산 | $s^2 = \frac{\sum_{i=1}^{n}(x_i - \bar{x})^2}{n-1}$
  • 카이제곱 분포 | $X \sim \chi^2(k)$
* F 분포: $F \sim F(k_1, k_2)$

🌟 ANOVA 표 구조

요인 자유도(DF) 제곱합(SS) 평균제곱(MS) F 값
처리 k-1 SSA MSA F*
오차 k(n-1) SSE MSE  
전체 nk-1 SST    

 

변동(SS) 계산

$SST = \sum(각 관측값 - 전체평균)^2$

$SSA = n \times \sum(그룹평균 - 전체평균)^2$

$SSE = \sum(각 관측값 - 해당 그룹평균)^2$

평균제곱(MS) 계산

평균제곱(MS) 계산: $MSA = \frac{SSA}{k-1}$ [k는 그룹 수]

$MSE = \frac{SSE}{k(n-1)}$ [n은 각 그룹의 표본 수]


실제 적용 예시

< 예시 1 >

공부 방법 비교

  • 방법: 인디비주얼, 그룹스터디, 혼자공부
  • 데이터: 각 방법별 4명의 시험 점수
  • 가설: $H_0: \mu_1 = \mu_2 = \mu_3$
    학생들의 수학 공부 방법을 세 가지(개인+그룹 혼합학습, 그룹 학습만, 개인 학습만)로 나누어 어떤 방법이 더 효과적인지 비교하려고 합니다. 각 방법별로 4명의 학생 점수가 있고, 우리가 알고 싶은 것은 "과연 이 세 가지 공부 방법에 따른 점수 차이가 실제로 있는가?" 입니다.

이럴 때 ANOVA(분산분석)를 사용하는데, 우선 귀무가설을 세웁니다
"세 가지 공부 방법의 평균 점수는 모두 같다" ($H_0: \mu_1 = \mu_2 = \mu_3$)

데이터를 보면

  • 혼합학습(개인+그룹): 80, 70, 85, 89점 (평균 81점)
  • 그룹학습: 60, 55, 58, 62점 (평균 58.75점)
  • 개인학습: 65, 60, 62, 58점 (평균 61.25점)

단순히 평균만 봐도 혼합학습이 다른 방법들보다 20점 정도 높습니다. 하지만 이 차이가 통계적으로 의미가 있는지를 ANOVA로 검정해봐야 합니다. ANOVA를 통해 이 차이가 우연히 발생한 것인지, 아니면 실제로 공부 방법 때문에 생긴 차이인지 알 수 있죠.
이런 데이터를 보면, 혼합학습이 다른 방법들보다 확실히 좋은 결과를 보이는 것 같습니다. 통계적 검정을 통해 이 차이가 유의미하다고 나온다면, 학생들에게 개인학습과 그룹학습을 적절히 혼합하는 방법을 추천할 수 있겠네요.

< 예시 2 >

연성철(ductile iron)의 담금질 온도(annealing temperature)가 인장강도(tensile strength)에 미치는 영향을 조사하는 실험이 제시되어 있습니다. 이 실험에서는 750°C, 800°C, 850°C, 900°C 네 가지 온도 조건에서 각각 5개의 샘플 값을 측정했습니다.
일원분산분석 모델의 수학적 표현이 제시되어 있습니다. 모델은 다음과 같이 표현됩니다.

$Y_{ij} = μi + ε{ij}$

$Y_{ij}$는 i번째 수준의 j번째 관측값
i$는 알려지지 않은 모수(진정한 평균)
{ij}$는 평균이 0이고 분산이 $σ^2$인 정규분포를 따르는 독립적인 무작위 오차입니다.

< 예시 mobility >

치료 효과 비교

세 가지 다른 치료 방법이 환자들의 이동성에 미치는 영향을 분석합니다. 높은 점수일수록 이동성이 좋다는 것을 의미합니다. 연구에는 세 그룹이 포함됩니다.

  • 대조군: 치료 없음
  • 물리치료군: 물리치료만 실시
  • 복합치료군: 상담과 물리치료 모두 실시]

[ 정리 ]

  • 그룹: 컨트롤, 물리치료, 카운셀링+물리치료
  • 분석: 모빌리티 스코어 비교
  • 결과 해석: F값과 유의수준 비교

가설 설정

  • 귀무가설(H₀): 세 그룹의 평균이 모두 같다 (m_control = m_physical = m_counseling&physical)
  • 대립가설(H₁): 적어도 두 그룹의 평균이 다르다
  • 유의수준: α = 0.05

데이터 분석 결과

전체 평균 = 41.7
그룹별 평균
- 대조군 = 36.0
- 물리치료군 = 44.0
- 복합치료군 = 45.0

🌟 분산분석 계산

그룹 SSE 계산 결과
대조군 Σ(x - 36)² 118
물리치료군 Σ(x - 44)² 122
복합치료군 Σ(x - 45)² 142
총 SSE   382

F-통계량 계산

F = MSA/MSE = 146/25.47 = 5.73

해석 방법

  • F-통계량이 크면(5.73) 그룹 간 차이가 그룹 내 차이보다 크다는 의미
  • ANOVA는 그룹 간 차이의 존재 여부만 알려주며, 어떤 그룹들이 다른지는 알려주지 않음
  • 그룹 간 구체적인 차이를 알기 위해서는 사후 검정이 필요
  • SSE(그룹 내 변동) = 382 : 각 그룹 내의 변동성 MSA/MSE > F-critical : 귀무가설 기각 가능성 높음 F = 5.73 : 그룹 간 유의미한 차이 존재

p-값 계산

ANOVA의 F-통계량에 대한 p-값을 계산하는 과정을 보여줍니다.

F-통계량 = 5.73
자유도: 분자 = 2 (그룹 수-1)
       분모 = 15 (전체 관측수-그룹 수)
유의수준(α) = 0.05
  • p-값(0.014) < 유의수준(0.05)이므로 귀무가설 기각
  • 결론: 적어도 두 그룹의 평균이 통계적으로 유의미하게 다름
  • 추가 분석 필요성: 구체적으로 어떤 그룹들이 다른지 확인하기 위해 다중비교검정 필요

ANOVA 결과표

요약 통계량

그룹 표본수 합계 평균 분산
대조군 6 216 36 23.6
물리치료 6 264 44 24.4
복합치료 6 270 45 28.4

ANOVA 분석 결과

변동요인 SS df MS F P-value
Level 292 2 146 5.73 0.014
Error 382 15 25.47    
Total 674 17      
  1. 처리 효과가 통계적으로 유의미함 (p < 0.05)
  2. 세 그룹의 치료 효과가 다름을 확인
  3. 어떤 그룹들이 서로 다른지 확인하기

🌟 Jackknife 추정 참고

구분 내용 설명
목적 모든 관측치에 대한 추정값 도출 알려지지 않은 새로운 레벨의 추정에 활용
기본 수식 $\hat{\mu}_i = \frac{n-1}{n}\sum_{j=1}^{n} y_{(j)}$ i번째 레벨의 평균 추정값 계산
  • $\hat{\mu}_i$: i번째 레벨의 평균 추정값
  • $y_{ij}$: i번째 레벨의 j번째 관측치
  • n: 총 관측치 개수

활용 방법

  1. 레벨 간 차이 확인
    • ssa와 sse 값 비교
    • 레벨 간 차이의 유의성 판단
  2. 유도 과정
  3. 1단계: i번째 레벨의 모든 관측치 합산 2단계: 관측치 수로 나누어 평균 계산 3단계: 새로운 레벨의 추정값 도출
  4. 결과 해석
    • ssa > sse: 레벨 간 차이 존재
    • ssa < sse: 레벨 내 변동이 커서 차이 판단 어려움

🌟 분석 절차

  1. 가설 설정
    • $H_0$: 모든 그룹의 평균이 같다
    • $H_1$: 적어도 한 그룹의 평균이 다르다
  2. 계산 과정
    • MSA, MSE 계산
    • F-통계량 도출
    • 유의수준과 비교
  3. 결과 해석
    • F값이 크면 그룹 간 차이가 큼
    • 필요시 사후 검정 실시
    • ssa, sse 값으로 레벨 간 차이 판단

🌟 결과 해석

F-통계량 해석

F값 특성 의미 후속 조치
F > F 임계값 귀무가설 기각 사후 검정 필요
F ≤ F 임계값 귀무가설 채택 추가 분석 불필요

레벨 간 차이 분석

ssa값과 sse값 비교:
- ssa가 큰 경우 → 그룹 간 차이 명확
- sse가 큰 경우 → 그룹 내 변동이 커서 차이 판단 어려움

주의사항

ANOVA 사용 전 체크리스트

  • 모든 집단의 분산 동일성 확인
  • 데이터의 정규성 검정
  • 독립성 가정 확인
  • 충분한 표본 크기 확보

실무 적용 시 고려사항

상황 해결방안 비고
표본 크기 불균형 조화평균 사용 그룹별 크기 차이가 클 때
이상치 존재 비모수 검정 고려 Kruskal-Wallis 검정 등
분산 불균일 Welch's ANOVA Brown-Forsythe 검정도 가능

🌟 종합 정리

ANOVA의 장점

  • 다중 비교 시 1종 오류 통제
  • 효율적인 그룹 간 차이 검정
  • 체계적인 변동성 분석 가능

한계점

  • 평균만 비교 가능
  • 정규성, 등분산성 가정 필요
  • 어떤 그룹 간 차이인지 직접 알 수 없음