A/B 테스트와 통계적 가설검정 :: 통계의 기본 개념 - mindscale
Skip to content

A/B 테스트와 통계적 가설검정

A / B 테스트

  • 웹 사이트 만들 때 고객마다 다른 사이트 화면을 보여줄 수 있기 때문에 A안과 B안을 각 고객들에게 보여주고 어느 쪽 디자인에서 더 주문이 높은지 테스트
  • 시제품 테스트에서 고객들에게 A와 B 상품을 사용하게 해본 뒤 반응을 조사해볼 수 있음
  • 문제점
  • A안에서 평균, B안에서의 평균은 데이터를 가지고 추정한 추정치이기 때문에 진짜 평균과는 차이가 있음
  • 데이터가 적은 상황에서는 잘못된 결과가 나올 수 있음
  • 이러한 문제가 있을 때 통계적 가설검정 방법을 쓸 수 있음

통계적 가설검정

  • 오래된 전통적인 방법

평균이 50이고 표준편차가 10인 100건의 정규분포 데이터 생성

A = rnorm(100, 50, 10)
B = rnorm(100, 50, 10)

A의 평균

mean(A)
[1] 50.47555

B의 평균

mean(B)
[1] 51.67474
  • A안과 B안의 실제 평균은 50이기 때문에 추정한 평균으로 비교해 A안과 B안 중 하나를 선택하는 것은 잘못된 의사결정임

$t$ 분포

평균이 같다고 가정된 두 데이터가 있을 때 평균 차이가 나올 수 있는지 없는지를 계산

t.test(A, B)
	Welch Two Sample t-test

data:  A and B
t = -0.83129, df = 182.57, p-value = 0.4069
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -4.045445  1.647059
sample estimates:
mean of x mean of y 
 50.47555  51.67474 
  • p-value
  • 만약 두 데이터가 같은 확률분포일 때 일정한 범위 바깥에 차이가 날 가능성이 얼마나 되는가
  • 실제로는 평균이 같다고 해도 극단적으로 차이가 벌어질 가능성이 얼마나 되는가
  • 실제로는 두 데이터가 차이가 없어도 mean(A)-mean(B) 이상 차이가 날 가능성이 p-value(%)

  • 통계학에서 관습적으로 사용하는 기준은 5%

  • 5%보다 높으면 이 정도 차이는 우연히 나타날 수 있다고 생각하여 데이터를 더 많이 모음
  • 5% 이하면 두 데이터가 같은데 우연히 나오기 어렵다고 판단하여 데이터를 신뢰함

평균이 다른 A와 B 생성

A = rnorm(100, 50, 10)
B = rnorm(100, 60, 10)

A의 평균

mean(A)
[1] 50.02107

B의 평균

mean(B)
[1] 59.17824

t-test

t.test(A, B)
	Welch Two Sample t-test

data:  A and B
t = -6.3974, df = 197.98, p-value = 1.117e-09
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -11.979889  -6.334448
sample estimates:
mean of x mean of y 
 50.02107  59.17824 
  • p-value
  • A와 B가 평균이 같으면 이 정도 차이(mean(A)- mean(B))가 날 확률은 아주 작음

  • p-value의 약점

  • 기준이 5%라는 것은 20번에 1번은 우연히 차이가 크게 생길 수 있기 때문에 절대적인 기준은 아님

통계적 가설검정에서 주의할 점

  • p는 같을 확률이 아님
  • 두 데이터가 같다고 가정했을 때 우연히 이런 결과가 나올 확률을 p라고 함
  • 5%는 절대적 기준이 아님
  • 데이터가 충분한지 확인하는 용도로 쓸 것