일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 연설
- CC#3
- 2018계획
- 정형데이터
- F분포
- 데이터
- 평창
- 토스트마스터
- Toastmaster
- 공유경제
- SQLD
- 구글#빅쿼리#데이터분석
- 분석
- 대중연설
- 임상통계
- 데이터분석
- 영화
- 엘뱌키안
- publicspeaking
- 데분
- CC#5
- PGTM
- Public Speaking
- 영어연설
- 사이허브
- 인과추론
- 풀러스
- 취업
- 카이제곱분포
- 제약
- Today
- Total
지지플랏의 DataScience
(5) DSforS : Chap 3 통계적 실험과 유의성 검정 3.1 ~ 3.3. 본문
1. 목차
- 3.1. A/B검정
- 3.2. 가설검정
- 3.3. 재표본 추출
2. 본문
본 단원에서는 통계석 실험에 대한 본격적인 설명을 시작하며 A/B 테스트시작한다. 일반적으로 실험이라함은 어떤 가설을 확인하거나 기각하기 위한 목표를 가지고 수행하는 방법을 말한다. 예컨데 약품A가 기존 약품보다 낫다 라는 가설을 세울 수도 있을 것이며, 가격A가 가격B보다 수익성이 높다 라는 가설을 세울 수 도 있을 것이다.
3.1. A/B 테스트
A/B 테스트는 두가지 처리방법/제품/절차 중 어느 것이 더 우월하다는 것을 입증하기 위하여 실험군을 두 그룹으로 나누어서 진행하는 실험이다. 일반적으로 아무런 처리도 하지 않은 것을 대조군 처리한 그룹을 처리군(실험군)이라고한다.
- 용어정리
- 처리(treatment): 어떤 대상에게 주어지는 특별한 환경이나 조건(약, 가격, 제목)
- 처리군(처리그룹, treatment group): 특정 처리에 노출된 대상들의 집단
- 대조군(대조그룹, control group): 어떤 처리도 하지 않은 대상들의 집단
- 임의화(랜덤화, randomization): 처리를 적용할 대상을 임의로 결정하는 과정
- 대상(subject): 처리를 적용할 대상(유의어: 피 실험자)
- 검정통계량(test statistics): 처리 효과를 측정하기 위한 지표
클릭률이라는 목적변수를 통해서 다음 예시를 들어보자.
- 목적 설정: 웹사이트의 클릭률을 높이는 것
- 두 가지 버전 만들기: 두 가지 다른 디자인이나 콘텐츠를 가진 웹페이지를 만든다. 예를 들어, A 버전은 파란색 버튼을 사용하고, B 버전은 빨간색 버튼을 사용하는 것
- 사용자 그룹 나누기: 웹사이트 방문자를 무작위로 두 그룹으로 나눈다. 한 그룹은 A 버전을 보고, 다른 그룹은 B 버전을 보게 할당
- 데이터 수집: 일정 기간 동안 각 버전의 클릭률을 측정. 예를 들어, A 버전은 1000명의 방문자 중 50명이 클릭, B 버전은 1000명의 방문자 중 70명이 클릭
- 그룹 A: [1, 1, ..., 1, 0, 0, ..., 0] (1이 50개, 0이 950개
- 그룹 B: [1, 1, ..., 1, 0, 0, ..., 0] (1이 70개, 0이 930개)
- t 검정 진행:
import numpy as np
from scipy import stats
# 데이터
clicks_A = 50
visitors_A = 1000
clicks_B = 70
visitors_B = 1000
# 클릭률 계산
rate_A = clicks_A / visitors_A
rate_B = clicks_B / visitors_B
# 클릭 데이터를 배열로 만듦
data_A = np.array([1] * clicks_A + [0] * (visitors_A - clicks_A))
data_B = np.array([1] * clicks_B + [0] * (visitors_B - clicks_B))
# t-test 수행
t_stat, p_value = stats.ttest_ind(data_A, data_B)
t_stat, p_value
- 가설
- 귀무가설: 두 페이지의 클릭률은 같을 것이다.
- 대립가설: 두 페이지의 클릭률은 다를 것이다.
- 결과
- t-통계량: -1.88
- p-value: 0.0597
따라서 두 차이는 우연에 의한 것이라는 결론
6. 카이제곱검정 진행
import numpy as np
from scipy import stats
# 데이터
clicks_A = 50
visitors_A = 1000
clicks_B = 70
visitors_B = 1000
# 관측값 테이블 생성
observed = np.array([[clicks_A, visitors_A - clicks_A],
[clicks_B, visitors_B - clicks_B]])
# 카이제곱 검정 수행
chi2_stat, p_value, dof, expected = stats.chi2_contingency(observed)
chi2_stat, p_value
- 가설
- 귀무가설: A버전과 B버전에는 클릭률의 차이가 없다.
- 대립가설: A버전과 B버전에는 클릭률의 차이가 있다.
- 결과
- 카이제곱 통계량: 3.20
- p-값: 0.074
이 역시 두페이지가 차이가 우연에 의한 것이라는 결론
위를 통해 비즈니스 임팩트를 알아보면 다음과 같다.
- A 버전의 매출:
- 클릭 수: 50
- 총 매출: 50 * 2,000원 = 100,000원
- B 버전의 매출:
- 클릭 수: 70
- 총 매출: 70 * 2,000원 = 140,000원
이미 우연임을 발견했기 때문에 4만원의 비즈니스 임팩트가 있다고는 애기하기 어렵다.
3.2. 가설검정
가설검정 혹은 유의성 검정은 대부분 연구 논문에 등장하는 고정통계분석 방법으로 귀무가설, 대립가설이 그 요소이다. 귀무가설은 일반적으로 받아들여지는 사실이고 참이라고 믿는다. 반면 대립가설은 새로운 가설이다. 두 가설은 서로 배반사건으로 모든 가능성을 포함해야한다.
3.3. 재표본 추출
재표본 추출은 랜덤한 변동성을 알아보자는 목표를 가지고 관찰된 데이터값에서 표본을 반복적으로 추출하는 것. Chap2에서 순열검정과 부트스트랩에 대해서 다룬 적 있음
순열검정에 대한 tips데이터 예시는 다음 블로그참조
https://kime2pan.tistory.com/178
'Data Science > 데이터과학을 위한 통계' 카테고리의 다른 글
(7) DSforS : Chap 4. 회귀와 예측 4.1 ~ 4.4 단순선형회귀 ~ 요인변수 (1) | 2024.06.03 |
---|---|
(6) DSforS : Chap 3 통계적 실험과 유의성 검정 3.4 ~ 3.8. (0) | 2024.05.27 |
(4) DSforS : Chap 2 탐색적 데이터분석 2.4 ~ 2.8 (6) | 2024.05.20 |
(3) DSforS : Chap 2 탐색적 데이터분석 2.4 ~ 2.8 (1) | 2024.05.15 |
(2) DSforS : Chap 1 탐색적 데이터분석 1.5 ~ 2.3 (2) | 2024.05.13 |