728x90
가설 검정
- 모집단에 대해 가설이 통계적으로 유의한지 표본을 통해 알아보는 것
- 질문에 대한 2개의 대립되는 가설을 세우고, 수집한 데이터를 통해 참 or 거짓 판단
귀무가설 NullHypothesisNullHypothesisNull Hypothesis H0H0H0
- 데이터를 수집하기 전, 사실이라고 믿는 가설
- ex) 변화가 없다 기존의상태기존의상태, 차이가 없다, 다르지 않다, 음성이다 등등
- 수학적으로 = 기호 포함
대립가설 AlternativeHypothesisAlternativeHypothesisAlternative Hypothesis
- 우리가 사실이라고 증명하고 하는 가설
- 귀무가설과 대립 귀무가설과겹치지않는다귀무가설과겹치지않는다
- ex) 변화가 있다, 차이가 있다, 다르다, 양성이다 등등
- 수학적으로 = 기호 포함 X
1종 오류TypeIErrorTypeIErrorType I Error vs 2종 오류TypeIIErrorTypeIIErrorType II Error

Type I Error
- 귀무가설 참 → 잘못 판단하여 기각
- 어떤 차이 변화변화가 우연히 발생 → 사실이라고 잘못 판단 경솔하다경솔하다
- ⇒ 통계적으로 유의미하다고 잘못 결론
- a알파알파, False Positive, 유의수준 귀무가설이맞다는전제하에틀렸다고판단할확률귀무가설이맞다는전제하에틀렸다고판단할확률 이라고도 표현
- ex) “5% 유의수전에서 ~” ⇒ 1종 오류가 일어날 확률 최대 5% 0.050.05
Type II Error
- 귀무가설 거짓 → 잘못 판단하여 기각 X
- 어떤 차이변화변화 발생한 것이 사실 → 우연히 일어났다고 잘못 판다 신중하다신중하다
- b베타베타, False Negative
⇒ 통계에서는 경솔은 절대 금물!
그렇기에 일반적으로, 1종 오류 최소화 할 수 있게 가설 설계
우연히발생한일에넘어가지않는것우연히발생한일에넘어가지않는것
가설 세우기
- 단측 검정 One−sidedTestOne−sidedTest

- 양측 검정 Two−sidedTestTwo−sidedTest

검정 방법론
신뢰구간 확인
- Sample → 표본 분포 simulate
- ⇒ 모집단의 분포라고 가정한 후, 귀무가설이 신뢰구간안에 들어가는 것 확인
P-value 확인
- 귀무가설이 맞다는 전제 하에, 해당 데이터가 관측될 확률 유의확률유의확률
- “귀무가설이 얼마나 믿을만 한 것인가”에 대한 값 0 10 1 → 기각여부 결정
- p-value < 0.05→ 어떤 차이 변화변화가 우연히 발생한 것이 아니라, 실제일 가능성 높다
- ⇒ 귀무가설을 기각할 통계적 유의성이 있다 통계적으로유의하다통계적으로유의하다
- → 귀무가설이 사실인데 기각했을때의 오류 1종오류1종오류가 5% 보다 작다

Student T-test
표준편차가 알려지지 않았지만, 정규분포를 따르는 모집단에서 추출한 표본의 평균값에 대한 가설검정 방법
- 표준편차 = 데이터가 평균값을 기준으로 평균적으로 퍼진 정도
- 통계적으로 차이가 얼마나 유의미 한자 검증
- ex) 성장 호르몬을 복용한 그룹과 복용하지 않은 그룹의 변화된 키 차이 평균을 비교한다고 했을 때,
- 그 차이가 과연 통계적으로 유의미한지 검증
t-value검정통계량검정 통계량
- 두 평균값의 차이에 대한 불확실도를 나눠줌
- 집단 간의 차이와 이러한 차이를 정확하게 판단하기 위해 scaling을 해주는 과정 normalizenormalize
- t-value가 클 수록, 두 집단의 평균의 차이가 크다

- 한 집단의 평균 검정
- 하나의 데이터 집단 평균 vs 비교하고자 하는 관측치 → 차이 검정
- 데이터 집단 평균과 관측치의 거리가 멀 수록 p-value 값 떨어진다
- stats.ttest_1samp
- 두 집단 평균 검정 독립표본t−test독립표본t−test
- 데이터 집단 2개끼리 비교
- 귀무가설 : 두 집단의 모평균은 동일 =차이는0=차이는0
- stats.ttest_ind
- 데이터 집단 2개끼리 비교
- 대응하는 두 집단의 평균 검정
- 두 집단에 들어있는 사람이 같다
- 귀무가설 : 두 집단의 모평균의 동일 =차이는0
- stats.ttest_rel
- 두 집단에 들어있는 사람이 같다
하나의 예시를 들어보겠습니다.
# 두 표본은 독립적인 집단이므로, Two Sample independent t-test를 실시
import numpy as np
from scipy.stats import ttest_ind
# 1조 키 데이터 생성
np.random.seed(10)
group_1 = np.random.randint(140, 190, 35) # (low, high, size)
# 2조 키 데이터 생성
np.random.seed(0)
group_2 = np.random.randint(140, 190, 35) # (low, high, size)
# 가설 검정
# 2조의 평균키가 1조의 평균키보다 크다는 가설
# 귀무가설 - 2조의 평균키가 1조의 평균키 보다 작거나 같다 (1조 ≥ 2조)
# 대립가설 - 2조의 평균키가 1조의 평균키 보다 크다 (1조 < 2조)
# ( 2조, 1조, 1조 보다 2조가 크다는 가설 = 'greater')
pv = ttest_ind(group_2 , group_1, alternative='greater').pvalue
# ttest_ind(a, b, axis=0, equal_var=True, nan_policy='propagate', permutations=None, random_state=None, alternative='two-sided', trim=0)
# 결론
if pv >= 0.05:
print('p-value = {:.2f} >= 0.05 이므로 귀무가설 채택'.format(pv))
else:
print('p-value = {:.2f} < 0.05 이므로 귀무가설 기각'.format(pv))
# p-value = 0.87 >= 0.05 이므로 귀무가설 채택
위 코드를 보게되 T-test를 통해 2조의 평균키가 1조의 평균 키보다 크다는 가설을 검정하는 코드입니다.
귀무가설과 대립가설을 설정하고 scipy의 라이브러리의 ttest_ind메소드를 활용하여 작성하였습니다.
이 글로 인해 조금이나마 도움이 되었으면 좋겠습니다.
감사합니다.
레퍼런스
728x90
반응형
'Data Analysis' 카테고리의 다른 글
정규화Normalization vs 표준화Standardization 0 | 2025.05.14 |
---|---|
이상치Outliers 탐지와 처리 방법 0 | 2025.05.14 |
결측치MissingValues 처리 0 | 2025.05.12 |
데이터 분석가의 역할 DataAnalyst 0 | 2023.08.11 |
EDA의 개념과 데이터 분석 0 | 2023.04.30 |