강의/데이터 분석 심화

[ 데이터 분석 심화 ] 통계학 | 가설검정 기법

da-hong 2025. 6. 20. 21:55

💡유의성 검정(Significance Test)

: 표본 데이터를 기반으로 모집단에 대한 가설이 참인지 거짓인지를 판단하는 통계적 방법

: 실험 결과가 우연에 의한 것인지, 아니면 실제로 의미 있는 차이나 관계를 나타내는지를 판단하는 과정

 

🔶 모집단과 표본

모집단(Population): 관심의 대상이 되는 전체 집단 → 전수조사

표본(Sample): 모집단에서 추출한 일부 → 표본조사

 

표본을 사용하는 이유

  • 현실적인 제약: 전체 모집단을 조사하는 것은 비용과 시간이 많이 들고, 물리적으로 불가능한 경우가 많음
  • 표본의 대표성: 무작위로 추출해 편향을 최소화한 표본은 모집단의 특성을 반영할 수 있고, 일반화할 수 있음
  • 데이터 처리 용이: 전체 데이터를 다루는 것보다 데이터 처리와 분석이 훨씬 용이, 컴퓨팅 자원 소비 줄임 
  • 모델 검증 유리: 표본 데이터를 사용하여 통계적 모델을 검증하여 모델이 적합한지 테스트할 수 있음

 

임의의 모집단, 표본 생성

# 모집단 생성 
population = np.random.normal(평균, 표준편차, 데이터 개수)  # 정규분포를 따르는 난수 생성
# 표본 추출
sample = np.random.choice(population, 표본 개수)  # 모집단에서 무작위로 선택

 

🔶 표본분포

  • 같은 모집단에서 동일한 크기의 표본을 여러 번 추출할 때 계산되는 통계량(예: 평균,비율)의 분포
  • 모집단이 정규분포가 아니더라도, 충분한 표본 수가 있을 경우 표본 평균은 정규분포를 따름 (중심극한정리)
  • 표본평균의 평균(즉, 기대값)은 모집단의 평균과 같음 → 불편추정량의 성질

 

🔶 표준오차와 신뢰구간

표준오차(Standard Error)

  • 동일한 모집단에서 동일한 크기의 표본을 반복해서 추출할 때, 그 표본 평균들의 분포(표본분포)의 표준편차
  • 표본평균이 가질 수 있는 통계적 변동성(불확실성)을 수치화한 지표
  • 표본 크기(n)가 커질수록 SE는 작아지며, 이는 평균 추정의 신뢰도가                                  높아진다는 의미

 

신뢰구간(Confidence Interval)

  • 표본에서 계산된 통계량(평균 등)을 기반으로 모집단의 실제 값(모평균 등)이 포함될 범위를 추정하는 구간
  • 신뢰구간=표본평균 ± z × 표준오차
  • z: 선택된 신뢰수준에 해당하는 z-값 ( 95% 신뢰수준의 z-값은 1.96 )
  • 표본이 클수록 신뢰구간이 좁아져 더 정확하게 모집단 평균을 추정할 수 있음
  • ex) 95% 신뢰구간: 168~172 → 의미: 모집단의 평균이 168~172 범위 안에 들 확률이 95%

 

🔶 가설검정

  • 정의: 표본 데이터를 통해 모집단의 가설을 검증하는 과정 (유의성 검정의 방법론)
  • 목적: 귀무가설(H0)과 대립가설(H1)을 설정하고, 귀무가설을 기각할지를 결정
  • 예시: 새로운 약물이 기존 약물보다 효과가 있는지 검정 (귀무: 효과가 없다 / 대립: 효과가 있다)

두가지 전략

  • 확증적 자료분석: 미리 가설들을 먼저 세운 다음 가설을 검증해 나가는 분석
  • 탐색적 자료분석(EDA): 가설을 먼저 정하지 않고 데이터를 탐색해보면서 가설 후보들을 찾고 데이터의 특징을 찾는 것

단계

 

1️⃣ 귀무가설(H0)과 대립가설(H1) 설정

  • 귀무가설(H0): 검증하고자 하는 가설이 틀렸음을 나타내는 기본 가설(변화가 없다, 효과가 없다 등)
  • 대립가설(H1): 실험이나 연구를 통해 주장・증명하고 싶은 가설, 귀무가설과 반대 (변화가 있다, 효과가 있다 등)

2️⃣ 유의수준(α) 결정

  • 유의수준: 틀릴 가능성, 추정이 빗나갈 확률, 귀무가설이 참인데도 실수로 기각할 확률(1종오류)의 상한선
  • p-값을 비교하는 기준
  • 95% 신뢰수준 = 5% 유의수준 = α가 0.05 (일반적으로 사용) 
  • 99% 신뢰수준 = 1% 유의수준 = α가 0.01 (더 엄격한 판단) 

3️⃣ 검정통계량 계산

  • 가설을 검정하기 위해 표본에서 산출되는 통계량 
  • 표본 평균, 표준편차, 표본 크기를 바탕으로 계산
  • Z검정, T검정, 카이제곱, F검정 등 사용 가능

4️⃣ p-값과 유의수준 비교

  • p-값: 귀무가설이 참일 때, 관찰된 결과 이상으로 극단적인 결과가 나올 확률 (대립가설에서 주장하는 상황이 우연히 발생할 확률)
  • p-값이 유의수준(α)보다 작으면(p < 0.05) 귀무가설을 기각 & 대립가설 채택

5️⃣ 결론 도출 (신뢰수준 or p-value 기준 판단)

  • 신뢰수준: 계산된 값이 기준 범위를 벗어나면 → 귀무가설 기각
  • 귀무가설 기각: 통계적으로 유의하다 변화가 있다, 효과가 있다
  • 귀무가설 채택: 통계적으로 유의하지 않다 변화가 없다, 효과가 없다 

 

🔶 가설 검정 기법 

1. 정규성 검정 

  • 데이터가 정규분포를 따르는지 여부를 통계적으로 판단하는 방법
  • 많은 통계 기법(예: t-검정, ANOVA 등)은 정규분포를 따른다는 전제하에 수행되기 때문에, 사전 단계로 정규성 검정이 필수
  • Shapiro-Wilk Test: 가장 널리 사용되는 정규성 검정 방법
    • p > 0.05 → 정규성을 만족함
    • p < 0.05 → 정규성을 만족하지 않음 → 비모수 검정 사용
  • Q-Q 플롯 (Quantile-Quantile Plot): 데이터가 정규분포를 따르는지를 시각적으로 확인하는 방법
    • 데이터의 분위수와 정규분포 분위수를 비교하여, 45도 직선에 가까우면 정규성 만족

 

2. 모수 검정 vs 비모수 검정

구분 모수 검정 (Parametric) 비모수 검정 (Non-parametric)
정의 모집단이 특정한 분포(주로 정규분포)를 따른다고 가정 분포에 대한 가정 없이 검정 수행
예시 t-검정, z-검정, ANOVA Wilcoxon, Mann-Whitney, Kruskal-Wallis 등
데이터 유형 연속형 수치 자료, 정규성・등분산성 충족 순위형, 범주형 자료, 정규성 미충족
샘플 크기 대체로 샘플이 충분히 클 때 유리 데이터 수가 적어 정규성을 판단하기 어려울 때 사용

 

3. 단측 검정 vs 양측 검정  

구분  설명 검정 방향 예시
단측 검정 한쪽 방향만 확인 크다 / 작다 (한쪽 꼬리) 신약 효과가 기존보다 크다
양측 검정 양쪽 방향 모두 확인 다르다, 차이 여부 (양쪽 꼬리 모두) 신약 효과가 기존보다 다르다 (크거나 작거나)

 

4. z 검정

  • 사용 조건: 표본 수가 충분히 크고(n ≥ 30), 모집단의 표준편차를 알고 있을 때 사용하는 평균 차이 검정 방법 
  • 단일표본 z검정: 한 집단의 평균이 특정 값과 다른지 확인 

 

 

5. t 검정

  • 사용 조건: 표본 수가 작고(n < 30), 모집단의 분산을 모를 때 사용하는 평균 차이 검정 방법 
    • 단일표본 t검정: 한 집단의 평균이 특정 값과 다른지 확인 (예: 현재 공정의 평균 온도가 기준 온도와 다른가?)
    • 독립표본 t검정: 서로 다른 두 그룹의 평균을 비교 (예: A라인과 B라인에서 생산된 제품의 평균 품질 비교)
    • 대응표본(쌍체) t검정: 동일한 그룹의 사전/사후 평균을 비교 (예: 공정 변경 전후 불량률 비교)
# 단일표본 t검정
t_stat, p_value = stats.ttest_1samp(sample, popmean=popmean)  # popmean:모평균(기준값)
# 독립표본 t검정
t_stat, p_val = stats.ttest_ind(집단1, 집단2)
# 대응표본 t검정
t_stat, p_value = stats.ttest_rel(before, after)

 

6. 카이제곱검정

  • 적합도 검정: 범주형 데이터의 표본 분포(관찰된 분포)가 모집단 분포(기대된 분포)와 일치하는지 검정
    • 예시: 주사위의 각 면이 동일한 확률로 나오는지 검정 
    • p > α : 표본 분포가 모집단의 분포와 일치
    • p < α : 표본 분포가 모집단의 분포와 불일치
  • 독립성 검정: 두 범주형 변수 간의 독립성을 검정
    • 예시: 성별과 직업 만족도 간의 독립성 검정
    • p > α : 두 변수 간의 관계가 연관성이 없음 → 독립성이 있음
    • p < α : 두 변수 간의 관계가 연관성이 있음 → 독립성이 없음
# 적합도 검정
chi2_stat, p_value = stats.chisquare(observed, f_exp=expected)
# 독립성 검정
chi2_stat, p_value, dof, expected = stats.chi2_contingency(observed)

 

7. 다중검정

  • 여러 가설을 동시에 검정 (모든 경우의 수를 검정) 
  • 각 검정마다 유의수준을 조정하지 않으면 1종 오류(귀무가설이 참인데 기각하는 오류) 발생 확률이 증가

보정 방법

  • 본페로니 보정, 튜키 보정, 던넷 보정, 윌리엄스 보정 등이 있음
  • 본페로니 보정: 유의수준(α)을 그룹 개수로 나눠서 엄격하게 만듦(가장 대표적이고 기본적인 보정 방법)
# 세 그룹 간 평균 차이에 대한 t검정 수행
p_values = []
p_values.append(stats.ttest_ind(group_A, group_B).pvalue)
p_values.append(stats.ttest_ind(group_A, group_C).pvalue)
p_values.append(stats.ttest_ind(group_B, group_C).pvalue)

# 본페로니 보정 적용
alpha = 0.05
adjusted_alpha = alpha / len(p_values)

 

 

8. A/B 검정

  • 정의: 두 버전(A와 B) 중 어느 것이 더 효과적인지 평가하기 위해 사용되는 검정 방법
  • 목적: 두 그룹 간의 변화가 우연이 아니라 통계적으로 유의미한지를 확인
  • 예시: 마케팅, 웹사이트 디자인 등에서 전환율, 클릭수, 구매수, 매출 등의 지표 비교 

 

🔶 제 1종 오류와 제 2종 오류

구분 1종 오류 2종 오류
의미 실제로는 귀무가설이 참인데 기각 실제로는 귀무가설이 거짓인데 채택
예시 신약은 효과 없는데 있다고 판단 신약은 효과 있는 데 없다고 판단
통계적 결과 잘못된 기각→ "잘못된 긍정" 잘못된 보류→ "놓친 기회"
확률 유의수준 α β  (*검정력=1-β)
제어 유의수준 α를 조정함으로써 제어 가능 표본 크기 n이 커질 수록 β 작아짐(직접 통제는 불가)
관계 α와 β는 상충관계(너무 낮은 α를 가지게 되면 β는 더욱 높아짐)