📊 차이 분석


📌 차이 분석이란?

  • 집단 간 차이 분석
    - 평균 또는 비율 차이를 분석

  • 목적
    - 모집단에서 추출한 표본집단을 이용하여 모집단의 특성을 파악 및 추론할 수 있다.


📌 t-Test와 ANOVA의 차이

  • t-Test
    - 두 집단 이하의 변수에 대한 평균차이를 검정할 경우, t-value를 추출해 가설검정을 수행

  • ANOVA
    - 세 집단 이상의 변수에 대한 평균차이를 검정할 경우, f-value를 추출해 가설검정을 수행









📊 단일표본 t-검정 (one-sample t-test)


📌 단일 모집단의 평균에 대한 가설검정

  • t-검정
    - 독립변수 : 범주형
    - 종속변수 : 연속형

  • 단일표본 t-검정이란?
    - 하나의 집단에 대한 표본평균이, 예측된 평균과 차이가 있는지 검증


📌 실습예제1) 단일표본 t-검정

  • 분석 대상
    여아 신생아 몸무게의 평균 검정 수행 babyboom.csv

  • 1. 가설 수립
    - 귀무가설 : 여아 신생아의 몸무게는 평균 2800이다.
    - 대립가설 : 여아 신생아의 몸무게는 평균 2800이 아니다.

  • 2. 라이브러리 Import
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

  • 3. 데이터 준비
df = pd.read_csv("../testdata/babyboom.csv")
print(df.head())
#    time  gender  weight  minutes
# 0     5       1    3837        5
# 1   104       1    3334       64
# 2   118       2    3554       78
# 3   155       2    3838      115
# 4   257       2    3625      177

  • 4. 여아 신생아만 추출
w_df = df[df['gender']==1]  # 여아 : 1, 남아 : 2
print(w_df['weight'].mean())
# 3132.4444444444443

  • 5. 정규분포 확인
sns.displot(w_df.iloc[:, 2], kde=True)
plt.show()

  • 6. 정규성 확인
print('정규성 : ', stats.shapiro(w_df['weight']))
# 정규성 :  ShapiroResult(statistic=0.8702830076217651, pvalue=0.017984798178076744)
# 정규성 결과
# 0.01(p-value) < 0.05(유의수준)
# -> 정규성 확인에서 p-value가 유의수준보다 낮기 때문에 정규성이 성립되지 않는다.

  • 7. t-검정 수행
result4 = stats.ttest_1samp(w_df['weight'], popmean=2800)
print(f'result4 : statistic(t-value):{result4[0]}, p-value:{result4[1]}')
# result4 : statistic(t-value):2.233187669387536, p-value:0.03926844173060218
# 검정통계량 분석 결과
# 0.039(p-value) < 0.05(유의수준)
# -> 대립가설[2800이 아니다.]에서 p-value 값이 유의수준보다 작으므로 유의미한 결과를 도출할 수 있다고 판단
# -> 대립가설 채택
# -> 귀무가설 기각


profile
데이터 사이언티스트를 목표로 하는 개발자

0개의 댓글