통계적 가설검정
반증주의 철학에 기반하고 있는 통계적 검정 절차
초록 글씨의 출처는 도서 <누워서 읽는 통계학>
귀무가설 H0 (null hypothesis)
- 검정하는 사람이 '옳지 않다'고 생각하는 가설
- 기각하고자 하는 가설
- 특별한 증거가 없으면 참으로 간주한다.
대립가설 H1 (alternative hypothesis)
-검정하는 사람이 '옳다'라고 생각하는 가설
- 주장하고자 하는 가설
- 충분한 증거가 필요하다
통계적 가설 검정의 흐름
(1) 귀무 가설 H0이 옳다고 한다
(2) 데이터를 분석한다
(3) 얻은 결과에 대해 다음과 같이 생각한다.
1️⃣ 귀무가설 아래에서 이 데이터가 일어나기 어려운 것이라면 귀무가설이 비정상적이라고 하여 귀무 가설을 기각하고, 대립가설을 채택한다.
2️⃣ 귀무가설 아래에서 이 데이터가 일어나기 어려운 것이 아니면 귀무가설을 기각하지 않는다 (이때 귀무가설을 채택한다고 한다)
여기서 데이터가 일어나기 어려운 것 (도서 기준)이라는 말과 기준이 모호하기 때문에 P값을 활용한다.
p < 유의수준 (a, 보통 0.05)라면 대립가설을 채택하고(통계적으로 유의하다) -> 귀무가설 기각(reject null hypothesis)
이 기준을 충족하지 않으면 데이터를 추가 수집하여 다시 검정하거나, 결론을 유보한다.
P값이란?
귀무가설을 바탕으로 데이터에서 관찰된 결과와, 그 이상의 극단적 결과가 나올 확률을 계산한 것
유의 수준
p값을 판정하는 기준
주로 알파(a)로 표기한다.
보통 5%를 사용한다 (0.05)
아래 그림을 보면 좀 더 시각적으로 이해할 수 있다.
가설 검정의 결과
1종오류와 2종오류
- 유의수준을 낮추면 1종오류가 감소하고 2종 오류가 증가한다.
-> 헷갈린다면 링크 참조: https://hsm-edu.tistory.com/1109
p-value에 영향을 주는 요인
- 관찰된 통계량이 귀무가설에서 멀리 떨어져있으면 p-value가 작아짐
- 표본의 크기가 크면 p-value가 작아짐
코드로 보는 통계적 가설 검정 (t-test)
신뢰구간 설정 pingouin 활용
pip install pingouin
# pingouin 활용
import pingouin as pg
pg.ttest(df.column1, 0, confidence = 0.95)
귀무가설이 모평균 = 900일 경우
#귀무가설: 설마 900만원은 아니곘지? p 값을 유의수준 (a)와 비교
#유의수준(5% = 0.05)
#0.021852 < 0.05 귀무 가설 기각 (통계적으로 유의함-> 기각 - 귀무가설이 틀렸다 )
pg.ttest(df.price, 900, confidence=0.95)
독립표본 t-검정
귀무가설: 두 집단의 평균의 같다 -> p < a -> 통계적으로 유의한 차이가 있다("두 집단의 평균이 다르다")
avante = df.price[df.model == 'Avante']
k3 = df.price[df.model == 'K3']
pg.ttest(avante, k3, confidence=0.95)
α(유의수준): 귀무가설이 참일때, 기각하는 1종 오류의 확률
β: 귀무가설이 거짓일때, 기각하지 못하는 2종 오류의 확률
검정력(1-β): 귀무가설이 거짓일 때, 이를 올바르게 기각할 확률 (보통 0.8 이상을 요구)
-> 표본의 크기가 크면 증가
참고자료
멋쟁이사자처럼 AI스쿨 7기 유재명강사님 특강 자료
누워서 읽는 통계학 (한빛아카데미)