[업무 지식]/Statistics
[t검정] 유의성 검정
에디터 윤슬
2024. 11. 12. 10:39
t - 검정이란
- t검정은 두 집단 간의 평균 차이가 통계적으로 유의미한지 확인하는 검정 방법
- 독립표본 t검정과 대응표본 t검정으로 나뉨
☑️ 독립표본 t검정
- 두 독립된 그룹의 평균을 비교
- 두 클래스의 시험 성적 비교
☑️ 대응표본 t검정
- 동일한 그룹의 사전/사후 평균을 비교
- 다이어트 전후 체중 비교
python 실습
import numpy as np
import scipy.stats as stats
# 학생 점수 데이터
scores_method1 = np.random.normal(70, 10, 30)
scores_method2 = np.random.normal(80, 12, 30)
# 독립표본 t검정
t_stat, p_val = stats.ttest_ind(scores_method1, scores_method2)
print(f"T-Statistic: {t_stat}, P-value: {p_val}")
# T-Statistic: -2.8844223417630164, P-value: 0.005495424607363964
T-test 가설 설정하기
# 가설 설정
# 귀무가설: 남성과 여성의 평균 구매 금액에 차이가 없을 것이다
# 대립가설: 남성과 여성의 평균 구매 금액에 차이가 있을 것이다
# 실제 데이터 비교
df.groupby(['Gender'])['Purchase Amount (USD)'].mean().reset_index()
# 데이터 분리
# mask method
mask = df['Gender'] == 'Male'
mask1 = df['Gender'] == 'Female'
m_df = df[mask]
f_df = df[mask1]
# 결제 금액 컬럼만 가져오기
m_df = m_df[['Purchase Amount (USD)']]
f_df = f_df[['Purchase Amount (USD)']]
f_df
T-Test 가설검정
# scipy 라이브러리를 이용해 t-score 와 pvalue를 확인
# t-test 는 표본의 평균(차이 분석)을 알고자 할 때 사용되며, 모집단의 분산을 알 수 없는 경우 사용
t, pvalue = stats.ttest_ind(f_df, m_df)
print('t-score:', t)
print('p-value:', pvalue)
t-score: [0.87691521]
p-value: [0.38058674]
# t-score 는 그룹 간 얼마나 차이가 있는지에 대한 지표
# t-score 가 크면 그룹 간 차이가 큼을 의미합니다.
# p-value 는 우연에 의해 나타날 확률에 대한 지표.
# p-value가 0.05 보다 크다 = 우연히 일어났을 가능성이 높다 = 연관성이 없다고 추정
# 여기서 p-value 값은 0.05 보다 크므로, 연관성이 없다고 추정.
# 대립가설 기각
# 귀무가설 채택
# 귀무가설: 남성과 여성의 평균 구매금액에 차이가 없을 것이다