인공지능을 위한 통계학 기초

통계적 추론과 가설 검증

최 수빈 2025. 2. 22. 13:58

 

통계적 추론과 가설 검증

 

머신러닝 및 딥러닝 모델 평가에서 정확한 데이터 분석과 실험 결과 해석을 가능하게 하는 필수적인 도구

 

표본 분포와 중심극한정리

 

표본 분포(sample distribution)

 

표본 통계량(예: 표본 평균)의 분포

중심극한정리(Central Limit Theorem, CLT)에 따르면 표본 크기가 충분히 크면 표본 평균의 분포는 정규분포에 근사하게 됨

 

 

표본 평균의 분포 

N(μ, σ²/n) 

  • μ : 모평균 (population mean)
  • σ² : 모분산 (population variance)
  • n : 표본 크기 (sample size)

 

표준 오차(Standard Error, SE)

 

표본 통계량의 표준편차

→ 추정의 정확도를 나타냄

 

 

적용

  • 신뢰구간 추청
  • 가설 검정
  • 부트스트랩 방법 적용

분석

  • 표본 크기 결정
  • 통계적 추론의 정확성 평가
  • 정규성 가정 검토

 

신뢰구간 추정

신뢰구간(confidence interval, CI)은 모수(parameter)의 참값이 포함될 것으로 추정되는 구간

 

 

점 추정치 ± (임계값 × 표준 오차)

 

"95% 신뢰구간" == 동일한 방법으로 구간을 100번 생성하면, 그중 약 95개가 모수의 참값을 포함

 

 

사용 목적

  • 모수의 불확실성 정량화
  • A/B 테스트 결과 해석
  • 예측 모델의 성능 평가

 

분석

  • 모수의 불확실성 정량화
  • 실험 결과의 신뢰도 평가
  • 샘플 크기 증가에 따른 신뢰구간 축소 효과 확인

 

가설 검정 방법

 

가설 검정(hypothesis testing)은 통계적 방법을 사용하여 특정 가설을 검증하는 과정

머신러닝과 딥러닝에서는 A/B 테스트와 모델 비교에서 활용됨

 

t-검정 (t-test)

두 집단의 평균을 비교하는 데 사용

  • 일표본 t-검정 (One-sample t-test): 한 집단의 평균을 특정 값과 비교
  • 독립표본 t-검정 (Independent t-test): 두 독립적인 집단의 평균을 비교
  • 대응표본 t-검정 (Paired t-test): 동일한 집단의 전후 측정값을 비교

 

예시

A/B 테스트에서 두 알고리즘의 성능차이를 검정할 때 활용

from scipy import stats

sample1 = [1, 2, 3, 4, 5]
sample2 = [2, 4, 6, 8, 10]

t_statistic, p_value = stats.ttest_ind(sample1, sample2)
print("t-통계량:", t_statistic)
print("p-값:", p_value)

"""
t-통계량: -1.8973665961010275
p-값: 0.09434977284243756
"""

 

카이제곱 검정 (Chi-square test)

범주형 변수 간의 관계를 분석하는 데 사용

 

 

적합도 검정 (Goodness-of-fit test)

관찰된 빈도가 기대 빈도와 일치하는지 검정

 

독립성 검정 (Text for independence)

두 범주형 변수 간의 관련성을 검정

 

가정

기대 빈도가 5 이상인 셀이 전체의 80% 이상이어야 함

 

예시

특성 선택 과정에서 목표 변수와 각 특성 간의 관련성을 평가할 때 활용

import numpy as np
from scipy.stats import chi2_contingency

# 예제 데이터 (교차표)
data = np.array([[10, 20, 30], [6,  9,  17]])

chi2, p, dof, expected = chi2_contingency(data)
print("카이제곱 통계량:", chi2)
print("p-값:", p)

"""
카이제곱 통계량: 0.27157465150403504
p-값: 0.873028283380073
"""

 

 

ANOVA (Analysis of Variance, 분산분석)

 

세 개 이상의 집단 간 평균 차이를 분석하는 데 사용

 

 

일원배치 ANOVA (One-way ANOVA)

한 요인의 여러 수준 간 평균 차이를 검정

 

이원배치 ANOVA (Two-way ANOVA)

두 요인의 주효과와 상호작용 효과를 동시에 검정

 

 

가정

  • 정규성 (normality)
  • 등분산성 (homogeneity of variance)
  • 독립성 (independence)

 

예시

여러 머신러닝 알고리즘의 성능을 비교할 때 활용

import scipy.stats as stats

# 세 개의 샘플 데이터
sample1 = [5, 7, 9, 10, 15]
sample2 = [8, 12, 14, 18, 20]
sample3 = [3, 5, 7, 9, 11]

# ANOVA 검정 수행
f_statistic, p_value = stats.f_oneway(sample1, sample2, sample3)
print("F-통계량:", f_statistic)
print("p-값:", p_value)

"""
F-통계량: 4.60851063829787
p-값: 0.0327326378026193
"""

 

 

머신러닝과 딥러닝에서의 활용

 

A/B 테스트

새로운 알고리즘의 성능이 기존 알고리즘보다 유의미하게 좋은지 검정

 

모델 성능 지표 평가

  • 신뢰구간을 활용하여 모델의 예측 성능의 안정성을 평가
  • 여러 모델의 성능 차이를 통계적으로 검정

하이퍼파라미터 최적화

여러 하이퍼파라미터 조합에 대해 성능 비교 시 통계적 유의성을 확인