Hypothesis Test란?

2023. 8. 23. 16:01·Data Analysis
728x90

가설 검정

  • 모집단에 대해 가설이 통계적으로 유의한지 표본을 통해 알아보는 것
    • 질문에 대한 2개의 대립되는 가설을 세우고, 수집한 데이터를 통해 참 or 거짓 판단

귀무가설 (Null Hypothesis) (H0)

  • 데이터를 수집하기 전, 사실이라고 믿는 가설
  • ex) 변화가 없다 (기존의 상태), 차이가 없다, 다르지 않다, 음성이다 등등
  • 수학적으로 = 기호 포함

대립가설 (Alternative Hypothesis)

  • 우리가 사실이라고 증명하고 하는 가설
    • 귀무가설과 대립 (귀무 가설과 겹치지 않는다)
    • ex) 변화가 있다, 차이가 있다, 다르다, 양성이다 등등
  • 수학적으로 = 기호 포함 X

1종 오류(Type I Error) vs 2종 오류(Type II Error)

Type I vs Tpye II

Type I Error

  • 귀무가설 참 → 잘못 판단하여 기각
    • 어떤 차이 (변화)가 우연히 발생 → 사실이라고 잘못 판단 (경솔하다)
    • ⇒ 통계적으로 유의미하다고 잘못 결론
  • a(알파), False Positive, 유의수준 (귀무가설이 맞다는 전제하에 틀렸다고 판단할 확률) 이라고도 표현
  • ex) “5% 유의수전에서 ~” ⇒ 1종 오류가 일어날 확률 최대 5% (0.05)

Type II Error

  • 귀무가설 거짓 → 잘못 판단하여 기각 X
    • 어떤 차이(변화) 발생한 것이 사실 → 우연히 일어났다고 잘못 판다 (신중하다)
  • b(베타), False Negative

⇒ 통계에서는 경솔은 절대 금물!

그렇기에 일반적으로, 1종 오류 최소화 할 수 있게 가설 설계

(우연히 발생한 일에 넘어가지 않는 것)

 

가설 세우기

- 단측 검정 (One-sided Test)

- 양측 검정 (Two-sided Test)

검정 방법론

신뢰구간 확인

  • Sample → 표본 분포 simulate
  • ⇒ 모집단의 분포라고 가정한 후, 귀무가설이 신뢰구간안에 들어가는 것 확인

P-value 확인

  • 귀무가설이 맞다는 전제 하에, 해당 데이터가 관측될 확률 (유의 확률)
    • “귀무가설이 얼마나 믿을만 한 것인가”에 대한 값 (0 ~ 1) → 기각여부 결정
  • p-value < 0.05→ 어떤 차이 (변화)가 우연히 발생한 것이 아니라, 실제일 가능성 높다
  • ⇒ 귀무가설을 기각할 통계적 유의성이 있다 (통계적으로 유의하다)
  • → 귀무가설이 사실인데 기각했을때의 오류 (1종 오류)가 5% 보다 작다

Student T-test

표준편차가 알려지지 않았지만, 정규분포를 따르는 모집단에서 추출한 표본의 평균값에 대한 가설검정 방법

  • 표준편차 = 데이터가 평균값을 기준으로 평균적으로 퍼진 정도
  • 통계적으로 차이가 얼마나 유의미 한자 검증
    • ex) 성장 호르몬을 복용한 그룹과 복용하지 않은 그룹의 변화된 키 차이 평균을 비교한다고 했을 때,
    • 그 차이가 과연 통계적으로 유의미한지 검증

t-value(검정 통계량)

  • 두 평균값의 차이에 대한 불확실도를 나눠줌
    •  집단 간의 차이와 이러한 차이를 정확하게 판단하기 위해 scaling을 해주는 과정 (normalize)
  • t-value가 클 수록, 두 집단의 평균의 차이가 크다

  • 한 집단의 평균 검정
    • 하나의 데이터 집단 평균 vs 비교하고자 하는 관측치 → 차이 검정
    • 데이터 집단 평균과 관측치의 거리가 멀 수록 p-value 값 떨어진다
    • stats.ttest_1samp()
  • 두 집단 평균 검정 (독립표본 t-test)
    • 데이터 집단 2개끼리 비교
      • 귀무가설 : 두 집단의 모평균은 동일 (= 차이는 0)
    • stats.ttest_ind()
  • 대응하는 두 집단의 평균 검정
    • 두 집단에 들어있는 사람이 같다
      • 귀무가설 : 두 집단의 모평균의 동일 (= 차이는 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메소드를 활용하여 작성하였습니다.

 

이 글로 인해 조금이나마 도움이 되었으면 좋겠습니다.

감사합니다.

 

레퍼런스

https://doooob.tistory.com/101

https://ko.khanacademy.org/math/statistics-probability/significance-tests-one-sample/error-probabilities-and-power/a/consequences-errors-significance

728x90
반응형

'Data Analysis' 카테고리의 다른 글

정규화(Normalization) vs 표준화(Standardization)  (0) 2025.05.14
이상치(Outliers) 탐지와 처리 방법  (0) 2025.05.14
결측치(Missing Values) 처리  (0) 2025.05.12
데이터 분석가의 역할 (Data Analyst)  (0) 2023.08.11
EDA의 개념과 데이터 분석  (0) 2023.04.30
'Data Analysis' 카테고리의 다른 글
  • 이상치(Outliers) 탐지와 처리 방법
  • 결측치(Missing Values) 처리
  • 데이터 분석가의 역할 (Data Analyst)
  • EDA의 개념과 데이터 분석
Balang
Balang
음악 전공생의 개발일지
  • Balang
    Balang
    Balang
  • 전체
    오늘
    어제
  • 반응형
    • All Post (160)
      • python (47)
        • selenium (4)
        • algorithm (10)
        • Django (6)
        • Pandas | Numpy (22)
      • SQL (9)
      • Data Engineer (36)
      • Data Scientist (3)
      • Data Analysis (11)
      • Computer Science (36)
      • Why? (16)
      • 마음가짐 (2)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
Balang
Hypothesis Test란?
상단으로

티스토리툴바