⭐️ 두 그룹 간 변화가 우연이 아니라 통계적으로 유의미한지 확인하는 것이 목적!
➖ A와 B 두 버전 중 어느 것이 더 효과적인지 평가하기 위해 사용되는 검정 방법
➖ 각 그룹에 다른 버전 제공 후 반응 비교
➖ 마케팅, 웹사이트 디자인에서 많이 사용
➖ 전환율, 클릭률, 구매수, 방문 기간, 방문한 페이지 수, 특정 페이지 방문 여부, 매출 등의 지표 비교
[파이썬 실습]
import numpy as np
import scipy.stats as stats
# 가정된 전환율 데이터
group_a = np.random.binomial(1, 0.30, 100) # 30% 전환율
group_b = np.random.binomial(1, 0.45, 100) # 45% 전환율
# t-test 이용한 비교
t-stat, p_val = stats.ttest_ind(group_a, group_b)
print(f"T-Statistic: {t_stat}, P-value: {p_val}")
📍 scipy.stats.ttest_ind
➖ 독립표본 t-검정을 수행하여 두개의 독립된 집단 간 평균 차이가 유의미한지 평가
➖ 두 집단의 데이터 배열 입력으로 받아서 t-통계량(t-검정 통계량: 두 집단 간 평균 차이의 크기와 방향)과 p-값 반환(귀무 가설이 참일 때 현재 데이터보다 극단적인 결과가 나올 확률)
➖ 표본 데이터 통해 모집단 가설 검증하는 과정
➖ 데이터가 특정 가설을 지지하는지 평가하는 과정
➖ 귀무가설(H0)과 대립가설(H1) 설정 ➡️ 귀무가설 기각할지 결정
[단계]
1️⃣ 귀무가설(H0) & 대립가설(H1) 설정
2️⃣ 유의수준 결정 *보통 0.05기준
3️⃣ 검정통계량 계산
4️⃣ p-값과 유의수준 비교
5️⃣ 결론 도출
➖ 데이터 분석 시 두 가지 전략 O
[통계적 유의성과 p값]
➖ 결과가 우연히 발생한 것이 아니라 어떤 효과가 실제로 존재함을 나타내는 지표
➖ p값은 귀무 가설이 참일 때 관찰된 통계치가 나올 확률
➖ p값이 0.05(일반적인 유의수준) 미만이면 결과를 통계적으로 유의하다고 판단
➖ 귀무가설이 참일 때 관찰된 결과 이상으로 극단적인 결과가 나올 확률
[신뢰구간과 가설검정의 관계]
➖ 둘 다 데이터의 모수에 대한 정보를 구하고자 하는 것이지만 접근 방식의 차이 O
➖ 신뢰구간 : 특정 모수가 포함될 범위 제공
➖ 가설검정 : 모수가 특정값과 같은지 다른지 테스트
[파이썬 실습]
# 기존 약물(A)와 새로운 약물(B) 효과 데이터 생성
A = np.random.normal(50,10,100)
B = np.random.normal(55,10,100)
# 평균 효과 계산
mean_A = np.mean(A)
mean_B = np.mean(B)
# t-검정 수행
t_stat, p_value = stats.ttest_ind(A,B)
print(f"A 평균 효과: {mean_A}")
print(f"B 평균 효과: {mean_B}")
print(f"t-검정 통계량: {t_stat}")
print(f"p값: {p_value}")
# t-검정의 p-값 확인 (위 예시에서 계산된 p-값 사용)
print(f"p-값: {p_value}")
if p_value < 0.05:
print("귀무가설을 기각합니다. 통계적으로 유의미한 차이가 있습니다.")
else:
print("무가설을 기각하지 않습니다. 통계적으로 유의미한 차이가 없습니다.")