통계적 추론과 가설 검증
머신러닝 및 딥러닝 모델 평가에서 정확한 데이터 분석과 실험 결과 해석을 가능하게 하는 필수적인 도구
표본 분포와 중심극한정리
표본 분포(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 테스트
새로운 알고리즘의 성능이 기존 알고리즘보다 유의미하게 좋은지 검정
모델 성능 지표 평가
- 신뢰구간을 활용하여 모델의 예측 성능의 안정성을 평가
- 여러 모델의 성능 차이를 통계적으로 검정
하이퍼파라미터 최적화
여러 하이퍼파라미터 조합에 대해 성능 비교 시 통계적 유의성을 확인
'인공지능을 위한 통계학 기초' 카테고리의 다른 글
베이지안 통계 (0) | 2025.02.22 |
---|---|
확률과 확률 분포 (0) | 2025.02.21 |
데이터 상관관계 (0) | 2025.02.16 |
데이터 산포도 (1) | 2025.02.10 |
데이터 중심 지표- 평균(산술평균, 기하평균), 중앙값, 최빈값 (0) | 2025.02.02 |