[내일배움캠프] 통계학 기초 (5)

셔닝🧸·2025년 7월 1일
0

오늘의 학습

  1. A/B 검정
  2. 가설검정

  1. A/B 검정

⭐️ 두 그룹 간 변화가 우연이 아니라 통계적으로 유의미한지 확인하는 것이 목적!

➖ 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-값 반환(귀무 가설이 참일 때 현재 데이터보다 극단적인 결과가 나올 확률)

  1. 가설검정

➖ 표본 데이터 통해 모집단 가설 검증하는 과정
➖ 데이터가 특정 가설을 지지하는지 평가하는 과정
➖ 귀무가설(H0)과 대립가설(H1) 설정 ➡️ 귀무가설 기각할지 결정

[단계]

1️⃣ 귀무가설(H0) & 대립가설(H1) 설정
2️⃣ 유의수준 결정 *보통 0.05기준
3️⃣ 검정통계량 계산
4️⃣ p-값과 유의수준 비교
5️⃣ 결론 도출

➖ 데이터 분석 시 두 가지 전략 O

  • 확증적 자료분석
    - 미리 가설 세우고 가설 검증해 나가는 분석
  • 탐색적 자료분석(EDA)
    - 데이터 탐색을 먼저 하면서 가설 후보들 찾고 데이터 특징 찾는 것

[통계적 유의성과 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("무가설을 기각하지 않습니다. 통계적으로 유의미한 차이가 없습니다.")
profile
어떻게든 하겠숴여...❕

0개의 댓글