

Q. 한 회사에서 생산하는 전구의 평균 수명이 1000시간이라고 알려져 있습니다. 이 회사에서 생산된 전구 25개를 샘플링하여 전구의 평균 수명이 980시간이고, 표본 표준편차가 50시간이라고 할 때, 이 회사의 주장을 검증해보세요.
[요구사항]
1. 5%의 유의수준에서 t-검정을 수행하고, 귀무가설을 기각할 수 있는지 결정하세요.
2. t-통계량과 자유도를 계산하세요
3. p-value를 계산하고 이를 바탕으로 결론을 내세요.

import scipy.stats as stats
# 주어진 값들
n = 25 # 표본 크기
x_bar = 980 # 표본 평균
mu_0 = 1000 # 모집단 평균
s = 50 # 표본 표준편차
alpha = 0.05 # 유의수준
# t-통계량 계산
t_stat = (x_bar - mu_0) / (s / (n ** 0.5))
# 자유도 계산
df = n - 1
# p-value 계산
p_value = 2 * stats.t.cdf(-abs(t_stat), df)
# 결과 출력
print(t_stat, p_value)
alpha = 0.05
if p_value < alpha:
print("귀무가설을 기각합니다.전구의 평균수명은 1000시간이 아니다.")
else:
print("귀무가설을 기각하지 못합니다. 전구의 평균 수명은 1000시간 입니다.")
결과:
-2.0 0.056939849936591666
귀무가설을 기각하지 못합니다. 전구의 평균 수명은 1000시간 입니다.

각 표본에서 대응되는 값을 빼 차이를 정의.
차이 값의 평균과 표준편차를 구한다.
검정 통계량에도 적용시킨다.
다시 풀어쓰면
Q. 회사에서 두 가지 그룹에 대한 광고 캠페인을 진행했고, 전환율 데이터를 구했다. 유의수준 0.05에서 두 그룹의 전환율 데이터가 통계적으로 유의미한지 확인하라
import numpy as np
from scipy.stats import ttest_ind
# 그룹 A와 그룹 B의 전환율 데이터
group_a = np.array([0.045, 0.052, 0.048, 0.055, 0.049, 0.051, 0.047, 0.053, 0.050, 0.046,
0.054, 0.049, 0.052, 0.048, 0.055, 0.051, 0.047, 0.053, 0.050, 0.046,
0.054, 0.049, 0.052, 0.048, 0.055, 0.051, 0.047, 0.053, 0.050, 0.046])
group_b = np.array([0.056, 0.060, 0.052, 0.058, 0.054, 0.057, 0.053, 0.059, 0.056, 0.052,
0.061, 0.055, 0.058, 0.054, 0.060, 0.057, 0.053, 0.059, 0.056, 0.052,
0.061, 0.055, 0.058, 0.054, 0.060, 0.057, 0.053, 0.059, 0.056, 0.052])
# 독립 이표본 t-테스트 수행
t_stat, p_value = ttest_ind(group_a, group_b, equal_var=True) # 등분산 가정
# 결과 출력
print(f"t-통계량: {t_stat:.4f}")
print(f"p-value: {p_value:.4f}")
# 유의수준 설정
alpha = 0.05
if p_value < alpha:
print("귀무가설을 기각합니다. 두 그룹 간 평균에 통계적으로 유의미한 차이가 있습니다.")
else:
print("귀무가설을 기각하지 못합니다. 두 그룹 간 평균에 통계적으로 유의미한 차이가 있다는 증거가 부족합니다.")
결과:
t-통계량: -7.9099
p-value: 0.0000
귀무가설을 기각합니다. 두 그룹 간 평균에 통계적으로 유의미한 차이가 있습니다.