데이터 분석/데이터 사이언스

데이터 사이언스 - 5. 기초 통계 및 확률 (5.3 통계적 가설 검정)

개발_노트 2025. 3. 20. 16:04

5.3 통계적 가설 검정

통계적 가설 검정(Statistical Hypothesis Testing)은 데이터를 기반으로 특정 주장(가설)이 통계적으로 유의미한지 판단하는 과정이다.
이 과정에서는 귀무가설(Null Hypothesis, H₀)과 대립가설(Alternative Hypothesis, H₁)을 설정한 후, 통계적 검정을 통해 가설을 검증한다.

이 장에서는 가설 검정의 개념과 주요 검정 방법(t-test, ANOVA, 카이제곱 검정)을 다룬다.


5.3.1 귀무가설(H₀)과 대립가설(H₁)

귀무가설 (Null Hypothesis, H₀)

  • 검정을 통해 기각되기 전까지 참이라고 가정하는 가설
  • 즉, '두 집단 간 차이가 없다'거나 '특정 효과가 없다'는 가정을 의미

대립가설 (Alternative Hypothesis, H₁)

  • 귀무가설이 기각될 경우 채택되는 가설
  • 즉, '두 집단 간 차이가 있다'거나 '특정 효과가 존재한다'는 주장

📌 예제: A/B 테스트에서 귀무가설과 대립가설

  • H₀: 광고 A와 광고 B의 클릭률 차이는 없다.
  • H₁: 광고 A와 광고 B의 클릭률 차이가 있다.

5.3.2 가설 검정 과정

1️⃣ 귀무가설(H₀)과 대립가설(H₁) 설정
2️⃣ 유의수준(α, Significance Level) 결정 (보통 0.05, 즉 5%)
3️⃣ 통계적 검정(t-test, ANOVA 등) 수행
4️⃣ p-value 계산 및 결과 해석

  • p-value < 0.05 → 귀무가설 기각 (통계적으로 유의미한 차이 존재)
  • p-value ≥ 0.05 → 귀무가설 유지 (통계적으로 유의미한 차이 없음)

5.3.3 주요 통계 검정 방법

① t-test (독립표본 t-검정 & 대응표본 t-검정)

t-test(스튜던트 t-검정)두 집단의 평균 차이가 통계적으로 유의미한지를 검정하는 방법이다.

t-test 종류

  • 독립표본 t-test서로 다른 두 집단의 평균 비교 (예: 남성과 여성의 평균 키 비교)
  • 대응표본 t-test같은 집단에서 두 조건을 비교 (예: 약 복용 전/후 혈압 비교)

📌 독립표본 t-test 예제 (두 그룹의 평균 비교)

import numpy as np
import scipy.stats as stats

# 샘플 데이터 생성 (A 그룹과 B 그룹의 점수)
group_A = [80, 85, 88, 92, 95]
group_B = [78, 83, 85, 89, 90]

# 독립표본 t-test 수행
t_stat, p_value = stats.ttest_ind(group_A, group_B)

print("t-statistic:", t_stat)
print("p-value:", p_value)

해석 방법

  • p-value < 0.05 → 두 그룹 간 평균 차이가 유의미함 (귀무가설 기각)
  • p-value ≥ 0.05 → 두 그룹 간 평균 차이가 없음 (귀무가설 유지)

② ANOVA (분산 분석, Analysis of Variance)

ANOVA(분산 분석, Analysis of Variance)세 개 이상의 그룹 간 평균 차이를 비교하는 검정 방법이다.

  • t-test는 두 그룹만 비교 가능하지만, ANOVA는 여러 그룹을 한 번에 비교 가능
  • 예) A, B, C 세 그룹의 시험 점수 평균 차이 비교

📌 ANOVA 예제 (세 개 이상의 그룹 평균 비교)

# 세 그룹의 점수 데이터
group_A = [80, 85, 88, 92, 95]
group_B = [78, 83, 85, 89, 90]
group_C = [75, 80, 82, 86, 88]

# ANOVA 수행
f_stat, p_value = stats.f_oneway(group_A, group_B, group_C)

print("F-statistic:", f_stat)
print("p-value:", p_value)

해석 방법

  • p-value < 0.05 → 세 그룹 중 최소한 하나의 그룹이 유의미하게 다름
  • p-value ≥ 0.05 → 세 그룹 간 평균 차이가 유의미하지 않음 (귀무가설 유지)

ANOVA의 한계

  • 어떤 그룹이 차이가 있는지 알려주지 않음 → 사후 검정(Post-hoc test, 예: Tukey test) 필요

③ 카이제곱 검정 (Chi-Square Test)

카이제곱 검정(Chi-Square Test)범주형 데이터(명목형 데이터)에서 그룹 간 차이를 분석하는 검정 방법이다.

  • 예) 광고 A와 광고 B의 클릭 수 비교

카이제곱 검정 종류

  • 적합도 검정 (Goodness-of-fit test) → 한 개의 범주형 변수 분포가 기대값과 일치하는지 확인
  • 독립성 검정 (Test for Independence) → 두 개의 범주형 변수가 관련이 있는지 검정

📌 카이제곱 검정 예제 (광고 클릭 여부 분석)

import scipy.stats as stats
import numpy as np

# 광고 A/B에 대한 클릭 여부 (2x2 교차표)
observed = np.array([[50, 30], [40, 60]])  # [광고A 클릭, 광고A 미클릭], [광고B 클릭, 광고B 미클릭]

# 카이제곱 검정 수행
chi2_stat, p_value, dof, expected = stats.chi2_contingency(observed)

print("Chi-Square Statistic:", chi2_stat)
print("p-value:", p_value)
print("Expected Frequencies:", expected)

해석 방법

  • p-value < 0.05 → 두 변수 간 상관관계 존재 (광고 효과 차이가 있음)
  • p-value ≥ 0.05 → 두 변수 간 상관관계 없음 (광고 효과 차이 없음)

5.3.4 주요 가설 검정 방법 비교

검정 방법 사용 목적 예시
t-test 두 그룹 평균 비교 남녀 평균 키 비교
ANOVA 세 개 이상 그룹 평균 비교 A/B/C 세 광고 클릭률 비교
카이제곱 검정 범주형 데이터 간 독립성 분석 광고 클릭률 비교

어떤 검정을 사용해야 할까?

  • 연속형 데이터(숫자) 비교t-test (2개 그룹) / ANOVA (3개 이상 그룹)
  • 범주형 데이터 비교카이제곱 검정

결론

통계적 가설 검정을 통해 데이터의 차이가 우연인지, 실제로 의미 있는 차이인지 판단할 수 있다.

  • 귀무가설(H₀)과 대립가설(H₁)을 설정
  • t-test → 두 그룹 평균 차이 검정
  • ANOVA → 세 개 이상 그룹 평균 차이 검정
  • 카이제곱 검정 → 범주형 데이터 비교

가설 검정을 활용하면 데이터 분석 및 A/B 테스트 결과를 객관적으로 평가할 수 있으며, 머신러닝 모델 평가에도 유용하다.