본 글은 통계학에서 사용되는 단일표본 T 검정을 설명하기 위해 작성되었습니다.
또한, 파이썬 Scipy 라이브러리를 활용하여 단일표본 T 검정을 진행하도록 하겠습니다.
단일표본 T 검정
단일표본 T 검정이란 통계 분석에서 사용되는 가설 검정 방법 중 하나로, 하나의 표본에 대한 평균을 검정하는데 사용됩니다. 주로 모집단의 평균이 어떤 특정 값과 같은지를 확인하고자 할 때 적용됩니다.
단일표본 T 검정은 다음과 같은 단계로 이루어집니다.
1. 가설 설정
H₀ : 𝜇 = 𝜇₀ → 귀무가설 | 모평균과 표본평균은 같다. |
H₁ : 𝜇 ≠ 𝜇₀ → 대립가설 | 모평균과 표본평균은 같지 않다. |
2. 표본 추출
모집단에서 표본을 추출하여 해당 표본의 평균을 계산합니다.
3. 가설 검정 통계량 계산
t-통계량을 계산합니다. 이는 표본 평균과 가설에 기반한 예상 평균 간의 차이를 나타냅니다.
4. 결정 / 결론
계산된 t-통계량이 기각역 안에 들어가면 귀무가설을 기각하고 대립가설을 채택합니다.
그렇지 않으면 귀무가설을 기각하지 않습니다.
*양측검정일 경우, 기각역은 양측에 대칭되는 t-분포의 양 끝 부분입니다.
귀무가설을 기각했을 경우, 표본이 모집단과 다르다고 결론내립니다.
반대로 기각하지 못했을 경우, 통계적으로 유의하지 않다고 결론내립니다.
파이썬 라이브러리 Scipy 활용 방법
다음은 파이썬 Scipy 라이브러리를 활용하여 단일표본 T 검정을 진행하도록 하겠습니다.
이번에 다루는 데이터에는 나무 31그루의 둘레와 높이, 부피가 저장되어 있습니다.
이 표본의 평균이 모평균과 일치하는지 단일표본 T 검정을 통해 알아보고자 합니다. 가설은 아래와 같습니다.
유의수준은 0.05로 설정하도록 하겠습니다.
가설검정
귀무가설 : 평균은 75이다.
대립가설 : 평균은 75가 아니다.
우선 데이터를 불러오도록 하겠습니다.
>>> import pandas as pd
>>> df = pd.read_csv("./data/trees.csv")
>>> df.head()
또한, 표본 평균 'Height'의 평균을 구해보도록 하겠습니다.
>>> result = df['Height'].mean()
>>> round(result, 2) # (반올림하여 소숫점 둘째 자리까지 계산)
76.0
다음으로, 단일표본 T 검정을 위해 Scipy 라이브러리를 불러오도록 하겠습니다.
>>> from scipy import stats
단일표본 T 검정은 Scipy 내 ttest_1samp를 사용하여 검정합니다.
https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_1samp.html
scipy.stats.ttest_1samp — SciPy v1.11.4 Manual
previous scipy.stats.binned_statistic_dd
docs.scipy.org
그 다음으로, 가설 검정 통계량 계산하도록 하겠습니다.
>>> from math import sqrt
>>> t_score, p_value = stats.ttest_1samp(df['Height'], popmean=75)
>>> print(round(t_score, 2), round(p_value, 2))
0.87 0.39
popmean은 귀무가설에서 예상한 평균과 같습니다.
위의 통계량에 대한 p-값을 구한 후(반올림하여 소숫점 넷째 자리까지 계산), 유의수준 0.05하에서 가설검정의 결과를 귀무가설을 기각할 것인지, 기각하지 못할 것인지 확인하도록 하겠습니다.
>>> print(round(p_value, 4))
0.3892
>>> if p_value >= 0.05:
print("채택")
else:
print("기각")
채택
따라서, 표본 평균은 모평균과 같다는 귀무가설을 기각하지 못하였습니다.
'데이터 분석&엔지니어링 캠프' 카테고리의 다른 글
통계 - 대응표본 T 검정(Paired t-Test) (0) | 2024.01.19 |
---|---|
통계 - 독립표본 T 검정(Independent Samples t-Test) (2) | 2024.01.15 |
통계 - 회귀 분석 (0) | 2024.01.12 |
통계 - 가설 검정 (1) (0) | 2024.01.11 |
파이썬 - pandas 데이터 통합하기 (concat, join, merge) (0) | 2024.01.08 |