다중검정이란
☑️ 다중검정
- 여러 가설을 동시에 검정할 때 발생하는 문제
- 각 검정마다 유의수준을 조정하지 않으면 1종 오류(귀무가설이 참인데 기각하는 오류) 발생 확률이 증가
- 1종 오류가 무엇인지랑 왜 다중검정시 발생확률이 증가하는지는 밑에서 다시 설명! 지금은, 어떤 오류가 발생할 수 있다는 정도로 이해!
☑️ 보정 방법
- 본페로니 보정, 튜키 보정, 던넷 보정, 윌리엄스 보정 등이 있음
- 가장 대표적이고 기본적인게 본페로니 보정
python 실습
import numpy as np
import scipy.stats as stats
# 세 그룹의 데이터 생성
np.random.seed(42)
group_A = np.random.normal(10, 2, 30)
group_B = np.random.normal(12, 2, 30)
group_C = np.random.normal(11, 2, 30)
# 세 그룹 간 평균 차이에 대한 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)
# 결과 출력
print(f"본페로니 보정된 유의 수준: {adjusted_alpha:.4f}")
for i, p in enumerate(p_values):
if p < adjusted_alpha:
print(f"검정 {i+1}: 유의미한 차이 발견 (p = {p:.4f})")
else:
print(f"검정 {i+1}: 유의미한 차이 없음 (p = {p:.4f})")
- 독립 표본 t - 검정
- stats.ttest_ind() 함수는 두 독립된 그룹 간 평균 차이를 비교하는 t-검정을 수행합니다.
- 각 그룹 간 t-검정을 수행하고 그 결과로 나온 p-value(유의확률)를 리스트에 저장합니다.
- group_A와 group_B 비교
- group_A와 group_C 비교
- group_B와 group_C 비교
- 본페로니 보정
- 본페로니 보정은 다중 비교 문제에서 발생할 수 있는 1종 오류(잘못된 긍정)를 줄이기 위해 사용됩니다.
- 기본 유의 수준인 α=0.05를 검정 횟수로 나누어 보정된 유의 수준을 계산합니다. 여기서는 세 번의 검정을 수행했으므로 α/3이 됩니다.
- 본페로니 보정된 유의 수준 출력
- adjusted_alpha는 본페로니 보정을 적용한 유의 수준입니다.
- 기본 유의 수준인 α=0.05를 검정 횟수로 나누어 계산된 값입니다.
- 예를 들어, 3번의 t-검정을 수행했으므로 adjusted alpha = 0.05/3 = 0.0167이 됩니다.
- {adjusted_alpha:.4f}는 소수점 네 자리까지 유의 수준을 출력합니다.
- 예시 출력: 본페로니 보정된 유의 수준: 0.0167
- 각 검정에 대한 결과 출력
- enumerate() 함수는 p_values 리스트에서 각 p-value와 그 인덱스를 함께 반환합니다.
- i는 인덱스(0부터 시작), p는 해당 인덱스에 있는 p-value입니다.
- 예를 들어, p_values가 [0.03, 0.01, 0.05]라면:
- 첫 번째 반복에서 i=0, p=0.03
- 두 번째 반복에서 i=1, p=0.01
- 세 번째 반복에서 i=2, p=0.05
유의미한 차이 여부 판단
본페로니 보정된 유의 수준: 0.0167
검정 1: 유의미한 차이 발견 (p = 0.0000)
검정 2: 유의미한 차이 발견 (p = 0.0058)
검정 3: 유의미한 차이 없음 (p = 0.1461)
검정 1: 유의미한 차이 발견 (p = 0.0000)
검정 2: 유의미한 차이 발견 (p = 0.0058)
검정 3: 유의미한 차이 없음 (p = 0.1461)
- 각 t-검정에서 계산된 p-value가 본페로니 보정을 적용한 유의 수준(adjusted_alpha)보다 작은지 확인합니다.
- 유의미한 차이 발견:
- 만약 p-value가 보정된 유의 수준보다 작다면, 두 그룹 간에 유의미한 차이가 있다고 결론을 내립니다.
- 예시: 만약 p=0.01이고 adjusted alpha=0.0167이면, 이는 유의미한 차이가 있음을 의미합니다.
- 유의미한 차이 없음:
- 반대로, p-value가 보정된 유의 수준보다 크다면, 두 그룹 간에 유의미한 차이가 없다고 결론을 내립니다.
- 유의미한 차이 발견:
'[업무 지식] > Statistics' 카테고리의 다른 글
[분산팽창요인] VIF(Variance Inflation Factor) (0) | 2024.11.12 |
---|---|
[선형회귀] Regression (0) | 2024.11.12 |
[t검정] 유의성 검정 (0) | 2024.11.12 |
[가설검정] 유의성 검정 (0) | 2024.11.11 |
[A/B 검정] 유의성 검정 (0) | 2024.11.11 |