Python에서 t-검정을 수행하는 방법은 scipy.stats 라이브러리를 사용하는 것이 일반적입니다. 다음은 단일 그룹과 두 개의 그룹에 대해 t-검정을 수행하는 간단한 예제 코드입니다.
단일 그룹에 대한 t-검정
가정: 어떤 제품의 평균 수명이 1000시간인지 확인하려고 합니다. 표본 10개를 수집하여 수명을 측정했습니다.
import numpy as np
from scipy.stats import ttest_1samp
# 표본 데이터
sample_data = np.array([980, 1005, 990, 1010, 995, 1002, 990, 1015, 1008, 990])
# 귀무가설: 평균 수명이 1000시간인 경우
null_mean = 1000
# t-검정 수행
t_statistic, p_value = ttest_1samp(sample_data, null_mean)
# 결과 출력
print("t-Statistic:", t_statistic)
print("p-Value:", p_value)
if p_value < 0.05:
print("귀무가설을 기각합니다. 제품의 평균 수명이 1000시간이 아닐 가능성이 있습니다.")
else:
print("귀무가설을 기각하지 않습니다. 제품의 평균 수명이 1000시간일 가능성이 있습니다.")
두 개의 그룹에 대한 독립표본 t-검정
가정: 어떤 새로운 약의 효과를 검증하기 위해 환자들을 두 그룹으로 나누어 실험을 진행했습니다. 각 그룹은 효과가 없는 약을 복용한 그룹과 새로운 약을 복용한 그룹입니다.
import numpy as np
from scipy.stats import ttest_ind
# 표본 데이터
group1_scores = np.array([85, 88, 82, 78, 92, 95, 88, 86, 80, 89])
group2_scores = np.array([98, 102, 94, 100, 105, 92, 97, 99, 101, 96])
# t-검정 수행
t_statistic, p_value = ttest_ind(group1_scores, group2_scores)
# 결과 출력
print("t-Statistic:", t_statistic)
print("p-Value:", p_value)
if p_value < 0.05:
print("두 그룹 간의 평균 점수가 유의미하게 다릅니다. 새로운 약의 효과가 있는지 확인이 필요합니다.")
else:
print("두 그룹 간의 평균 점수가 유의미하게 다르지 않습니다. 새로운 약의 효과에 대한 강력한 증거가 아닐 수 있습니다.")
위 코드에서 p_value는 유의수준(일반적으로 0.05)과 비교하여 귀무가설을 기각할지 여부를 결정합니다.
해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.
'Big Data > DataAnalysis & Manipulate' 카테고리의 다른 글
ANOVA 예제 (0) | 2023.08.10 |
---|---|
정규분포 표현과 통계적 계산 (0) | 2023.08.09 |
Tukey 이상치 검출 (0) | 2023.08.09 |
numpy histogram() (0) | 2023.08.08 |
DataFrame 인덱싱 (0) | 2023.08.08 |